home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool_main.zip / ool / include / xcontcol.h < prev    next >
Text File  |  1997-08-12  |  3KB  |  77 lines

  1. #ifndef __OOL_XCONTCOL_H__
  2. #define __OOL_XCONTCOL_H__
  3.  
  4.  
  5. /*===========================================================================*/
  6. /* OOL ------------------- the Open Object Library ------------------- r 1.0 */
  7. /*===========================================================================*/
  8. /*                              class: XContainerColumn                      */
  9. /*                       derived from: XObject                               */
  10. /*                        last update: 8/97                                  */
  11. /*                      programmed by: Stefan von Brauk (sbrauk@gwdg.de)     */
  12. /*===========================================================================*/
  13.  
  14.  
  15. #include "xobject.h"
  16.  
  17. class XContainerControl;
  18. #include "XIcon.h"
  19. #include "XBitmap.h"
  20.  
  21.  
  22. #ifdef OOL_FOR_OS2_X86
  23.  
  24.    //settings
  25.    #define COL_LEFT         CFA_LEFT
  26.    #define COL_RIGHT         CFA_RIGHT
  27.    #define COL_CENTER      CFA_CENTER
  28.  
  29.    #define COL_TOP            CFA_TOP
  30.    #define COL_VCENTER         CFA_VCENTER
  31.    #define COL_BOTTOM         CFA_BOTTOM
  32.  
  33.    #define COL_INVISIBLE         CFA_INVISIBLE
  34.  
  35.    #define COL_SEPARATOR         CFA_SEPARATOR
  36.    #define COL_HORZSEPARATOR      CFA_HORZSEPARATOR
  37.  
  38.    #define COL_BITMAPORICON      CFA_BITMAPORICON
  39.    #define COL_STRING         CFA_STRING
  40.    #define COL_DATE         CFA_DATE
  41.    #define COL_TIME         CFA_TIME
  42.    #define COL_ULONG         CFA_ULONG
  43.  
  44.    #define COL_FIREADONLY         CFA_FIREADONLY
  45.    #define COL_FITITLEREADONLY      CFA_FITITLEREADONLY
  46.    #define COL_OWNERDRAW   CFA_OWNER
  47. #endif
  48.  
  49. class _export_ XContainerColumn: public XObject
  50. {
  51.       friend XContainerControl;
  52.       friend class XContainerInfo;
  53.       friend MRESULT HandleDefault(XWindow * w, ULONG msg, MPARAM mp1, MPARAM mp2, BOOL & handled);
  54.    private:
  55.       FIELDINFO * info;
  56.       XContainerControl * owner;
  57.       SHORT col;
  58.       XString title;
  59.    public:
  60.       XContainerColumn( XContainerControl * owner, void * titleData, SHORT dataColumn, LONG dataSettings = CFA_STRING|CFA_FIREADONLY , LONG titleSettings = CFA_LEFT | CFA_FITITLEREADONLY, LONG wight = 0);
  61.       virtual ~XContainerColumn();
  62.       XContainerColumn * GetNextColumn( void ) const { return info->pNextFieldInfo ? (XContainerColumn*) info->pNextFieldInfo->pUserData : 0; }
  63.       LONG GetDataAttributes( void ) const { return info->flData; }
  64.       SHORT GetColumnNumber(void) const { return col; }
  65.       LONG GetTitleAttributes( void ) const { return info->flTitle; }
  66.       void GetTitle( XString *);
  67.       SHORT GetWidth() const { return info->cxWidth; }
  68.       void SetDataAttributes( const LONG attr ) { info->flData = attr; }
  69.       void SetTitleAttributes( const LONG attr ) { info->flTitle = attr; }
  70.       void SetTitle( const char * p) { title = p; info->pTitleData = (char*) title; }
  71.       void SetTitle( const XBitmap * p) { info->pTitleData = (void*) p->GetHandle(); }
  72.       void SetTitle( const XIcon * p) { info->pTitleData = (void*) p->GetHandle(); }
  73.       virtual void TitleEdited( const char *) { ;}
  74. };
  75.  
  76. #endif
  77.