home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool.zip / OOL / include / xcontobj.h < prev    next >
Text File  |  1997-03-20  |  3KB  |  59 lines

  1. #ifndef __OOL_XCONTOBJECT_H__
  2. #define __OOL_XCONTOBJECT_H__
  3.  
  4. /*===========================================================================*/
  5. /* OOL ------------------- the Open Object Library ------------- OS/2 Beta 1 */
  6. /*===========================================================================*/
  7. /*                              class: XContainerObject                      */
  8. /*                       derived from: XObject                               */
  9. /*                        last update: 3/97                                  */
  10. /*                      programmed by: Stefan von Brauk (sbrauk@gwdg.de)     */
  11. /*===========================================================================*/
  12.  
  13.  
  14.  
  15. #include "xobject.h"
  16. #include "xcontain.h"
  17. #include "XBitmap.h"
  18. #include "XIcon.h"
  19. #include "xdate.h"
  20. #include "xtime.h"
  21. #include "xstring.h"
  22.  
  23. class XContainerControl;
  24. class XString;
  25. class XTime;
  26. class XDate;
  27.  
  28. class _export_ XContainerObject: public XObject
  29. {
  30.       friend XContainerControl;
  31.    private:
  32.       RECORDCORE * core;
  33.         char * GetColumnPointer( SHORT column) { return (char *) ((PBYTE) core + sizeof(RECORDCORE) + sizeof(void*) + column * sizeof(void*)); }
  34.     protected:
  35.         XString title;
  36.    public:
  37.       XContainerObject( XContainerControl * owner, SHORT columns = 0, LONG attr = 0);
  38.       virtual ~XContainerObject() { ;}
  39.       LONG GetEmphasis( void ) const { return core->flRecordAttr; }
  40.       void GetBitmap( XBitmap *);
  41.       void GetIcon( XIcon * );
  42.       void GetTitle( XString *);
  43.       void SetBitmap( const XBitmap * b) { core->hbmBitmap = b->GetHandle(); }
  44.       void SetColumnData( const SHORT column, const char * data) { memcpy( GetColumnPointer(column), &data, sizeof(PVOID)); }
  45.       void SetColumnData( const SHORT column, const LONG data) { memcpy( GetColumnPointer(column), &data, sizeof(LONG)); }
  46.       void SetColumnData( const SHORT column, const XBitmap*bitmap) { LONG buffer = bitmap->GetHandle(); memcpy( GetColumnPointer(column), &buffer, sizeof(LONG)); }
  47.       void SetColumnData( const SHORT column, const XDate * data) { memcpy( GetColumnPointer(column), &data->d, 4); }
  48.       void SetColumnData( const SHORT column, const XIcon * icon) { LONG buffer = icon->GetHandle(); memcpy( GetColumnPointer(column), &buffer, sizeof(LONG)); }
  49.       void SetColumnData( const SHORT column, const XTime * data) { memcpy( GetColumnPointer(column), &data->t, 3); }
  50.       void SetIcon( const XIcon * icon) { core->hptrIcon = icon->GetHandle(); }
  51.       void SetMiniBitmap( const XBitmap* b) {core->hbmMiniBitmap = b->GetHandle();}
  52.       void SetMiniIcon( const XIcon* icon) { core->hptrMiniIcon = icon->GetHandle(); }
  53.       void SetTitle( char * t) { title = t; core->pszIcon = core->pszName = core->pszTree = core->pszText = (PSZ) (char*) title; }
  54.       virtual SHORT Sort( const XContainerObject*) const { return 0; }
  55. };
  56.  
  57.  
  58. #endif
  59.