home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / pc3270sa.zip / eclfinfo.hpp < prev    next >
C/C++ Source or Header  |  2002-02-28  |  4KB  |  74 lines

  1. //-------------------------------------------------------------------------------
  2. // Module:  eclfinfo.hpp
  3. //-------------------------------------------------------------------------------
  4. //
  5. // Description:  ECLField class header file
  6. //
  7. //-------------------------------------------------------------------------------
  8. // Copyright Notice: IBM Personal Communication/3270 Version 4.3
  9. //                   (C) COPYRIGHT IBM CORP. 1989,1998 - PROGRAM PROPERTY
  10. //                   OF IBM ALL RIGHTS RESERVED
  11. //-------------------------------------------------------------------------------
  12.  
  13. #include "eclall.hpp"
  14. #ifndef _ECLFINFO_HPP_
  15. #define _ECLFINFO_HPP_
  16.  
  17. //#include "eclbase.hpp"
  18. //#include "eclps.hpp"                        // Need PS object
  19. //#include "eclflist.hpp"                     // FieldList object
  20.  
  21. class ECLFieldData;                         // Forward declaration 
  22. class DllExport ECLField: public ECLBase
  23. {
  24.  
  25.   private: // Class private data
  26.     ECLFieldData *pd;                        
  27.  
  28.   public:
  29.  
  30.     // Constructors/destructors -- note ECLField objects can be
  31.     // copied and assigned (see documentation for proper usage
  32.     // of copy construtors and assignment of ECLField objects).
  33.  
  34.     ECLField();                             // Default constructor
  35.     ECLField(const ECLField &c);            // Copy constructor
  36.     ECLField& operator= (const ECLField &From);      // ECLField assignment operator
  37.     ECLField& operator= (const char * const String); // String assignment operator
  38.     ECLField& operator= (const LONG Value);          // Numeric assignment operator
  39.  
  40.     ~ECLField();                            // Destructor
  41.  
  42.     // Field data access members
  43.     ULONG            GetStart() const;            // field start position
  44.     ULONG            GetStartRow() const;         // field start row
  45.     ULONG            GetStartCol() const;         // field start col
  46.     void             GetStart(ULONG *Row, ULONG *Col) const; // field start row/column
  47.                                             
  48.     ULONG            GetEnd() const;              // field end position
  49.     ULONG            GetEndRow() const;           // field end row
  50.     ULONG            GetEndCol() const;           // field end col
  51.     void             GetEnd(ULONG *Row, ULONG *Col) const; // field end row/column
  52.  
  53.     ULONG            GetLength() const;           // field length
  54.  
  55.     // Only Text, ExtAttr, and Color planes are valid for GetScreen()
  56.     ULONG            GetScreen(char *Buff, ULONG BuffLen, PS_PLANE Plane = TextPlane) const; // pointer to text, extfield, or color buffer
  57.     ULONG            GetScreen(WCHAR *Buff, ULONG BuffLen, PS_PLANE Plane = TextPlane) const; // pointer to text, extfield, or color buffer for Unicode 
  58.     void             SetText(const char * const text) const; // Erase field, set new text
  59.     void             SetText(const WCHAR* const text) const; // Erase field, set new text
  60.  
  61.     BOOL             IsModified() const;          // field has been modified?
  62.     BOOL             IsProtected() const;         // field is protected?
  63.     BOOL             IsNumeric() const;           // field is numeric only?
  64.     BOOL             IsHighIntensity() const;     // field is high intensity?
  65.     BOOL             IsPenDetectable() const;     // field is pen detectable?
  66.     BOOL             IsDisplay() const;           // field is displayable?
  67.     unsigned char    GetAttribute() const;        // field attribute byte in raw form (see FATTR_* in ECLPS.HPP)
  68.  
  69. };
  70.  
  71. typedef ECLField * PECLField;
  72.  
  73. #endif //_ECLFINFO_HPP_
  74.