@17140@
@13830@
@13245@
@13635@
@13440@
@13245@

Modified by Robert H”hne to be used for RHIDE.

@13245@
@13245@
@14024@

@16561@
@15120@

const ushort	
@19029@
		vsOk		= 0,
		vsSyntax	= 1,
@19040@
		voFill		= 0x0001,
		voTransfer	= 0x0002,
		voOnAppend	= 0x0004,
		voReserved	= 0x00F8;

typedef enum {
  vtDataSize,
  vtSetData,
  vtGetData
} TVTransfer;

@18963@
class TValidator : public TObject
#if !defined( NO_STREAM )
                                  , TStreamable
#endif // NO_STREAM
@23372@
@21035@
  ushort Status;
  ushort Options;
  TValidator();
  virtual void Error() = 0;
  virtual Boolean IsValidInput(char *,Boolean);
  virtual Boolean IsValid(const char *);
  virtual ushort Transfer(char *,void *,TVTransfer);
  Boolean Valid(const char *);
#if !defined( NO_STREAM )
@20890@
  virtual const char *streamableName() const
	{ return name; }
@20938@
  TValidator( StreamableInit );
@21035@
  static const char * const name;
@20938@
  virtual void write( opstream& );
  virtual void *read( ipstream& );
#endif // NO_STREAM
@24833@

@19924@
@23372@
@20938@
  char * ValidChars;
@21035@
  TFilterValidator();
  TFilterValidator(const char *);
  ~TFilterValidator();
  virtual void Error();
  virtual Boolean IsValid(const char *);
  virtual Boolean IsValidInput(char *,Boolean);
#if !defined( NO_STREAM )
@20890@
  virtual const char *streamableName() const
	{ return name; }
@20938@
  TFilterValidator( StreamableInit );
@21035@
  static const char * const name;
  static TStreamable *build();
@20938@
  virtual void write( opstream& );
  virtual void *read( ipstream& );
#endif // NO_STREAM
@24833@

@19994@
@23372@
  int Min,Max;
@21035@
  TRangeValidator();
  TRangeValidator(int aMin,int aMax);
  virtual void Error();
  virtual Boolean IsValid(const char *);
  virtual ushort Transfer(char *,void *,TVTransfer);
#if !defined( NO_STREAM )
@20890@
  virtual const char *streamableName() const
	{ return name; }
@20938@
  TRangeValidator( StreamableInit );
@21035@
  static const char * const name;
  static TStreamable *build();
@20938@
  virtual void write( opstream& );
  virtual void *read( ipstream& );
#endif // NO_STREAM
@24833@

#if !defined( NO_STREAM )
inline ipstream& operator >> ( ipstream& is, TValidator& cl )
@12320@
inline ipstream& operator >> ( ipstream& is, TValidator*& cl )
@12368@

inline opstream& operator << ( opstream& os, TValidator& cl )
@12465@
inline opstream& operator << ( opstream& os, TValidator* cl )
@12417@

inline ipstream& operator >> ( ipstream& is, TFilterValidator& cl )
@12320@
inline ipstream& operator >> ( ipstream& is, TFilterValidator*& cl )
@12368@

inline opstream& operator << ( opstream& os, TFilterValidator& cl )
@12465@
inline opstream& operator << ( opstream& os, TFilterValidator* cl )
@12417@

inline ipstream& operator >> ( ipstream& is, TRangeValidator& cl )
@12320@
inline ipstream& operator >> ( ipstream& is, TRangeValidator*& cl )
@12368@

inline opstream& operator << ( opstream& os, TRangeValidator& cl )
@12465@
inline opstream& operator << ( opstream& os, TRangeValidator* cl )
@12417@
#endif // NO_STREAM

@15582@

