/* $Id: MANUAL.H 2.4 1995/07/20 11:24:33 leon Exp $
 */

#if !defined( __MANUAL_H )

#define __MANUAL_H


#define Uses_TStreamable

#define Uses_TStreamableClass

#define Uses_TEvent

#define Uses_TRect

#define Uses_TDialog

#define Uses_TButton

#define Uses_TInputLine

#define Uses_TLabel

#define Uses_TScrollBar

#include <tvision/tv.h>


#define Uses_TInputDouble

#include "input.h"


struct manualMotionRec  {
  double stepSize;   //TInputDouble

  };

/**
 ** Manual motion of the motors dialog.
 **/
class ManualMotion : public TDialog
{

public:

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

    TScrollBar *stepScroll;
    TInputDouble *stepSize;


private:

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

protected:

    virtual void write( opstream& );
    virtual void *read( ipstream& );
    void moveInDirection(short direction);
    void stepChange(ushort cmd);

public:

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

};

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

#endif  // __MANUAL_H




syntax highlighted by Code2HTML, v. 0.9.1