home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 February / PCWK0296.iso / po7_win / object10 / oowl.h < prev    next >
C/C++ Source or Header  |  1995-03-28  |  8KB  |  285 lines

  1. /* Copyright (c) Oracle Corporation 1994.  All Rights Reserved */
  2.  
  3. /*
  4.     This source code is provided as a debugging aid for developers
  5.     who have purchased Oracle Objects for OLE    .  Please see the
  6.     provided help file for documentation of these classes.
  7.  
  8. */
  9.  
  10. /*
  11.     Oracle Objects for OLE    
  12.     C++ classes for bound Widget support
  13.     MFC version
  14.                            
  15.     CREATED    ********   11/22/94
  16.  
  17. */
  18.  
  19. #ifndef OOWL_ORACLE
  20. #define OOWL_ORACLE
  21.  
  22. #include <owl\owlpch.h>
  23. #include <owl\edit.h>
  24. #include <owl\static.h>
  25. #include <owl\checkbox.h>
  26. #include <owl\radiobut.h>
  27. #include <owl\slider.h>
  28. #include <owl\gauge.h>
  29.  
  30. #pragma hdrstop
  31.  
  32. #ifndef OBOUND_ORACLE
  33. #include "obound.h"
  34. #endif
  35.  
  36. #define OBOUND_READONLY  TRUE
  37. #define OBOUND_READWRITE FALSE
  38.  
  39. //-----------------------------
  40. // OBoundEdit: a bound edit control
  41.  
  42. class OBoundEdit : public TEdit, public OBound
  43. {
  44. // Contruction
  45. public:
  46.     OBoundEdit(TWindow* parent, int Id, const char far* text, int x, int y, 
  47.                      int w, int h, UINT textLen = 0, BOOL multiline = TRUE,
  48.                      TModule* module = 0);
  49.     OBoundEdit(TWindow* parent, int resourceID, UINT textLen = 0,
  50.                      TModule* module = 0);
  51.  
  52.     // declarations of methods so that compiler won't implement these (which would be wrong)
  53.     // at present we don't implement these either...
  54.     OBoundEdit(const OBoundEdit &other);  // copy constructor
  55.     OBoundEdit &operator=(const OBoundEdit &other);  // overloaded assignment
  56.  
  57.     // Set control property
  58.     oresult SetProperty(BOOL mode=OBOUND_READWRITE);
  59.  
  60. // Implementation
  61. public:
  62.     virtual ~OBoundEdit();
  63.  
  64. //{{OBoundEditVIRTUAL_BEGIN}}
  65. protected:
  66.      void EvKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  67. //{{OBoundEditVIRTUAL_END}}
  68.  
  69. private:
  70.      oresult Refresh(const OValue &val); 
  71.      oresult SaveChange(void);
  72.      BOOL    m_mode;  // readonly/readwrite mode
  73.  
  74.      DECLARE_RESPONSE_TABLE(OBoundEdit);
  75. };
  76.  
  77. /////////////////////////////////////////////////////////////////////////////
  78. // OBoundStatic: a bound static control
  79.  
  80. class OBoundStatic : public TStatic, public OBound
  81. {
  82. // Construction
  83. public:
  84.     OBoundStatic(TWindow* parent, int Id, const char far* title, int x, int y,
  85.                      int w, int h, UINT textLen = 0, TModule* module = 0);
  86.     OBoundStatic(TWindow* parent, int resourceId, UINT textLen = 0, 
  87.                      TModule* module = 0);
  88.  
  89.      // declarations of methods so that compiler won't implement these (which would be wrong)
  90.      // at present we don't implement these either...
  91.      OBoundStatic(const OBoundStatic &other);  // copy constructor
  92.      OBoundStatic &operator=(const OBoundStatic &other);  // overloaded assignment
  93.  
  94. // Implementation
  95. public:
  96.     virtual ~OBoundStatic();
  97.  
  98. //{{OBoundStaticVIRTUAL_BEGIN}}
  99. protected:
  100. //{{OBoundStaticVIRTUAL_END}}
  101.     
  102. private:
  103.      oresult Refresh(const OValue &val); 
  104.      oresult SaveChange(void) {return OSUCCESS;}
  105.  
  106.      DECLARE_RESPONSE_TABLE(OBoundStatic);
  107. };
  108.  
  109. //----------------------------
  110. // OBoundCheckBox: a bound checkbox control
  111.  
  112. class OBoundCheckBox : public TCheckBox, public OBound
  113. {
  114. // Construction
  115. public:
  116.     OBoundCheckBox(TWindow* parent, int Id, const char far* title, int x, int y, 
  117.                         int w, int h, TGroupBox *group = 0, TModule* module = 0);
  118.     OBoundCheckBox(TWindow* parent, int resourceID, TGroupBox *group = 0,
  119.                         TModule* module = 0);
  120.  
  121.     OBoundCheckBox(const OBoundCheckBox &other);  // copy constructor
  122.     OBoundCheckBox &operator=(const OBoundCheckBox &other);  // overloaded assignment
  123.  
  124.     // Set control properties
  125.     oresult SetProperty(const OValue &onvalue, const OValue &offvalue, BOOL mode=OBOUND_READWRITE);
  126.  
  127. // Implementation
  128. public:
  129.     virtual ~OBoundCheckBox();                       
  130.  
  131. //{{OBoundCheckBoxVIRTUAL_BEGIN}}
  132. protected:
  133.     void EvLButtonUp(UINT modKeys, TPoint& point);
  134.     void EvKeyDown(UINT hChar, UINT nRepCnt, UINT nFlags);
  135. //{{OBoundCheckBoxVIRTUAL_END}}    
  136.  
  137. private:
  138.      oresult Refresh(const OValue &val); 
  139.      oresult SaveChange(void);
  140.      BOOL     m_mode;             // readonly/readwrite mode
  141.      BOOL    m_tristate;         // 3state flag
  142.      OValue  m_onvalue;          // represented value when checked
  143.      OValue  m_offvalue;         // represented value when unchecked
  144.      OValue  m_curvalue;         // represented current value when neither checked nor unchecked
  145.  
  146.      DECLARE_RESPONSE_TABLE(OBoundCheckBox);
  147. };
  148.  
  149. //----------------------------
  150. // OBoundRadioButton: a bound radio button control
  151.  
  152. class OBoundRadioButton : public TRadioButton, public OBound
  153. {
  154. // Construction
  155. public:
  156.     OBoundRadioButton(TWindow* parent, int Id, const char far* title, int x, int y, 
  157.                             int w, int h, TGroupBox *group = 0, TModule* module = 0);
  158.     OBoundRadioButton(TWindow* parent, int resourceID, TGroupBox *group = 0,
  159.                             TModule* module = 0);
  160.  
  161.     OBoundRadioButton(const OBoundRadioButton &other);  // copy constructor
  162.     OBoundRadioButton &operator=(const OBoundRadioButton &other);  // overloaded assignment
  163.  
  164.     // Set control properties
  165.     oresult SetProperty(const OValue &value, BOOL mode=OBOUND_READWRITE);
  166.  
  167. // Implementation
  168. public:
  169.     virtual ~OBoundRadioButton();                       
  170.  
  171. //{{OBoundCheckBoxVIRTUAL_BEGIN}}
  172. protected:
  173.     void EvLButtonUp(UINT modKeys, TPoint& point);
  174.     void EvKeyDown(UINT hChar, UINT nRepCnt, UINT nFlags);
  175. //{{OBoundCheckBoxVIRTUAL_END}}    
  176.  
  177. private:
  178.      oresult Refresh(const OValue &val); 
  179.      oresult SaveChange(void);
  180.      BOOL    m_mode;             // readonly/readwrite mode
  181.      OValue  m_value;          // represented value when checked
  182.      OValue  m_curvalue;         // represented current value when neither checked nor unchecked
  183.  
  184.      DECLARE_RESPONSE_TABLE(OBoundRadioButton);
  185. };
  186.  
  187. //----------------------------
  188. // OBoundHSlider: a horizontal bound slider
  189.  
  190. class OBoundHSlider : public THSlider, public OBound
  191. {
  192. // Construction
  193. public:
  194.     OBoundHSlider(TWindow* parent, int Id, int x, int y, int w, int h, 
  195.                       TResId thumbResId = IDB_HSLIDERTHUMB, TModule* module = 0);
  196.     
  197.     OBoundHSlider(const OBoundHSlider &other);  // copy constructor
  198.     OBoundHSlider &operator=(const OBoundHSlider &other);  // overloaded assignment
  199.  
  200.     // Set Property
  201.     oresult SetProperty(const OValue &min, const OValue &max, BOOL mode=OBOUND_READWRITE);
  202.     
  203. // Implementation
  204. public:
  205.     virtual ~OBoundHSlider();
  206.  
  207. //{{OBoundHSliderVIRTUAL_BEGIN}}
  208. protected:
  209.     void EvHScroll(UINT scrollCode, UINT thumbPos, HWND hWndCtl);
  210. //{{OBoundHSliderVIRTUAL_END}}    
  211.     
  212. private:
  213.      oresult Refresh(const OValue &val); 
  214.      oresult SaveChange(void);
  215.      BOOL    m_mode;                     // readonly/readwrite mode
  216.      
  217.      DECLARE_RESPONSE_TABLE(OBoundHSlider);
  218. };
  219.  
  220. //----------------------------
  221. // OBoundVSlider: a vertical bound slider
  222.  
  223. class OBoundVSlider : public TVSlider, public OBound
  224. {
  225. // Construction
  226. public:
  227.     OBoundVSlider(TWindow* parent, int Id, int x, int y, int w, int h, 
  228.                       TResId thumbResId = IDB_VSLIDERTHUMB, TModule* module = 0);
  229.     
  230.     OBoundVSlider(const OBoundVSlider &other);  // copy constructor
  231.     OBoundVSlider &operator=(const OBoundVSlider &other);  // overloaded assignment
  232.  
  233.     // Set Property
  234.     oresult SetProperty(const OValue &min, const OValue &max, BOOL mode=OBOUND_READWRITE);
  235.     
  236. // Implementation
  237. public:
  238.     virtual ~OBoundVSlider();
  239.  
  240. //{{OBoundHSliderVIRTUAL_BEGIN}}
  241. protected:
  242.     void EvVScroll(UINT scrollCode, UINT thumbPos, HWND hWndCtl);
  243. //{{OBoundHSliderVIRTUAL_END}}    
  244.     
  245. private:
  246.      oresult Refresh(const OValue &val); 
  247.      oresult SaveChange(void);
  248.      BOOL    m_mode;                     // readonly/readwrite mode
  249.      
  250.      DECLARE_RESPONSE_TABLE(OBoundVSlider);
  251. };
  252.  
  253. //----------------------------
  254. // OBoundGauge: a display-only bound gauge 
  255.  
  256. class OBoundGauge : public TGauge, public OBound
  257. {
  258. // Construction
  259. public:
  260.     OBoundGauge(TWindow* parent, const char far* title, int Id, int x, int y, int w, int h, 
  261.                     BOOL isHorizontal = TRUE, int margin = 0, TModule* module = 0);
  262.     
  263.     OBoundGauge(const OBoundGauge &other);  // copy constructor
  264.     OBoundGauge &operator=(const OBoundGauge &other);  // overloaded assignment
  265.  
  266.     // Set Property
  267.     oresult SetProperty(const OValue &min, const OValue &max);
  268.     
  269. // Implementation
  270. public:
  271.     virtual ~OBoundGauge();
  272.  
  273. //{{OBoundGaugeVIRTUAL_BEGIN}}
  274. protected:
  275. //{{OBoundGaugeVIRTUAL_END}}    
  276.     
  277. private:
  278.      oresult Refresh(const OValue &val); 
  279.      oresult SaveChange(void) { return (OSUCCESS); }
  280.      
  281.      DECLARE_RESPONSE_TABLE(OBoundGauge);
  282. };
  283.  
  284. #endif
  285.