/* $Id: JOBMAN.H 2.4 1995/07/20 11:24:33 leon Exp $
 */
#if !defined( __JOBMAN_H )

#define __JOBMAN_H


#define Uses_TStreamable

#define Uses_TStreamableClass

#define Uses_TEvent

#define Uses_TRect

#define Uses_TDialog

#define Uses_TButton

#define Uses_TStaticText

#define Uses_TInputLine

#define Uses_TLabel

#include <tvision/tv.h>


/**
 ** Relative coordionate speed data record for use in dialog JobManager
 **/
struct jobManagerdataRec  {
  double speedX;   //TInputDouble

  double speedY;   //TInputDouble

  double speedZ;   //TInputDouble

  };


/**
 ** Manages queue with interactive pausing, continuing and speed change.
 **/
class JobManager : public TDialog
{

public:

    JobManager( );
    JobManager( StreamableInit ) :
           TDialog (streamableInit),
           TWindowInit(JobManager::initFrame) {};
    virtual void handleEvent( TEvent& );

    void changeRatio(ushort command);

private:

    TInputDouble *speedX;
    TInputDouble *speedY;
    TInputDouble *speedZ;

    virtual const char *streamableName() const
        { return name; }

protected:

    virtual void write( opstream& );
    virtual void *read( ipstream& );

public:

    static const char * const name;
    static TStreamable *build();

};

inline ipstream& operator >> ( ipstream& is, JobManager& cl )
    { return is >> (TStreamable&)cl; }
inline ipstream& operator >> ( ipstream& is, JobManager*& cl )
    { return is >> (void *&)cl; }
inline opstream& operator << ( opstream& os, JobManager& cl )
    { return os << (TStreamable&)cl; }
inline opstream& operator << ( opstream& os, JobManager* cl )
    { return os << (TStreamable *)cl; }


#endif  // __JOBMAN_H




syntax highlighted by Code2HTML, v. 0.9.1