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

  1. //-------------------------------------------------------------------------------
  2. // Module:  eclflist.hpp
  3. //-------------------------------------------------------------------------------
  4. //
  5. // Description:  ECLFieldList 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 _ECLFLIST_HPP_
  15. #define _ECLFLIST_HPP_
  16.  
  17. //#include "eclbase.hpp"                                                         
  18. //#include "eclps.hpp"                        // Need PS object definitions      
  19. #define MODIFIED_FIELD           0x0001                                          
  20. #define ALPHANUM_FIELD           0x0002                                          
  21. #define HILIGHT_FIELD            0x0010                                          
  22. #define PROTECTED_FIELD          0x0020                                          
  23. #define DISPLAYABLE_FIELD        0x0040                                          
  24. #define PENDETECTABLE_FIELD      0x0080                                          
  25.  
  26. #define UNMODIFIED_FIELD         0x0100                                          
  27. #define NUMERIC_FIELD            0x0200                                          
  28. #define LOLIGHT_FIELD            0x1000                                          
  29. #define UNPROTECTED_FIELD        0x2000                                          
  30. #define NON_DISPLAYABLE_FIELD    0x4000                                          
  31. #define NON_PENDETECTABLE_FIELD  0x8000                                          
  32.  
  33. // Flags for field attributes in GetFirstField() and GetNextField().
  34. // These can be logically OR-ed to get fields with only the specified
  35. // set of attributes (e.g. "GetDisplay|GetUnprotected" would return
  36. // ONLY the fields which are visible input fields -- e.g. meet all criteria
  37. // specified by the set of bit flags).
  38. const unsigned int GetAll         = 0x0000; // Get all fields
  39.  
  40. const unsigned int GetModified    = 0x0001;
  41. const unsigned int GetHilight     = 0x0010;
  42. const unsigned int GetProtected   = 0x0020;
  43. const unsigned int GetDisplay     = 0x0040;
  44.  
  45. const unsigned int GetUnmodified  = 0x0100; // "Not" flags are shifted to upper byte
  46. const unsigned int GetLolight     = 0x1000;
  47. const unsigned int GetUnprotected = 0x2000;
  48. const unsigned int GetNondisplay  = 0x4000;
  49.  
  50. class ECLFieldListData;                     // Forward declaration 
  51. class DllExport ECLFieldList: public ECLBase
  52. {
  53.  
  54.   private: // Class private data
  55.     ECLFieldListData *pd;                    
  56.  
  57.   public:
  58.  
  59.     // Constructor/destructor -- note that a copy constructor and
  60.     // assignment operator are define for this object.  See the
  61.     // ECL documentation for proper usage.
  62.  
  63.     ECLFieldList();                          // Default constructor 
  64.     ECLFieldList(const ECLFieldList &From);  // Copy constructor
  65.     ECLFieldList& operator= (const ECLFieldList &From); // Assignment operator
  66.     ~ECLFieldList();                 // Destructor          
  67.  
  68.     void        Refresh(PS_PLANE Planes=TextPlane);
  69.     ULONG       GetFieldCount() const;
  70.     ECLField    *GetFirstField(unsigned int Attrb = GetAll) const;
  71.     ECLField    *GetNextField(ECLField *PrevField, unsigned int Attrib = GetAll) const;
  72.     ECLField    *FindField(ULONG Pos) const;                           
  73.     ECLField    *FindField(ULONG Row, ULONG Col) const;  
  74.     ECLField    *FindField(const char * const text, PS_DIR Dir=SrchForward) const;                       
  75.     ECLField    *FindField(const char * const text, ULONG Pos, PS_DIR Dir=SrchForward) const;            
  76.     ECLField    *FindField(const char * const text, ULONG Row, ULONG Col, PS_DIR Dir=SrchForward) const; 
  77.     void        Refresh(BOOL bShowZeroLengthFields, PS_PLANE Planes=TextPlane);
  78. };
  79.  
  80. typedef ECLFieldList * PECLFieldList;
  81.  
  82. #endif //_ECLFLIST_HPP_
  83.