Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cXDTBase.h
Go to the documentation of this file.
1 //
4 //
5 #ifndef _INC_cXDTBase_H
6 #define _INC_cXDTBase_H
7 #pragma once
8 
9 #include "../Dialog/cXDialog.h"
10 
11 namespace GrayGUI
12 {
13  class cXDTBase : public cXDialog
14  {
17 
18  typedef cXDialog SUPER_t;
19  public:
21  virtual ~cXDTBase();
22 
23  virtual HRESULT DisposeThis();
24  virtual bool InitXWindow(void);
25 
26  virtual void OnActivateFirst(bool bAuto)
27  {
29  }
30  virtual void OnClientModeChange(const GChar_t* pszMsg, bool bPercent)
31  {
32  UNREFERENCED_PARAMETER(pszMsg);
33  UNREFERENCED_PARAMETER(bPercent);
34  }
35  virtual void OnSize(UINT uType, PIXELS_t lWidth, PIXELS_t lHeight);
36  virtual bool OnMouseDown(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
37  {
38  UNREFERENCED_PARAMETER(uButton);
41  return false;
42  }
43  virtual bool OnMouseMove(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
44  {
47  return false;
48  }
49 
50  virtual bool OnKeyFocus(bool bActive);
51 
52  cXWindowPtr FindChildInRect(cXWindow* pIgnore, const cRectI& rectChild, bool bJustIcons) const;
53  void FindIconPos(cXWindow* pIgnore, cPoint2i& pt, bool bJustIcons) const;
54 
55  public:
56  // Script support
57  STDMETHOD(s_PropGet)(const cScriptableProp* pProp, cVariant& vValRet) override;
58  STDMETHOD(s_PropPut)(const cScriptableProp* pProp, const cVariant& vVal) override;
59  STDMETHOD(s_Invoke)(const cScriptableMethod* pMethod, const cVariant& vArgs, OUT cVariant& vValRet) override;
60 
62  enum P_TYPE_
63  {
64 #define cXDTBaseProp(a,b,c,d,e) P_##a,
65 #include "cXDTBaseProps.tbl"
66 #undef cXDTBaseProp
68  };
69  void s_Update(P_TYPE_ eProp);
71  enum M_TYPE_
72  {
73 #define cXDTBaseMethod(a,b,c) M_##a,
74 #include "cXDTBaseMethods.tbl"
75 #undef cXDTBaseMethod
77  };
79  };
80 
82 };
83 #endif
#define UNREFERENCED_PARAMETER(P)
< _WIN32 type thing. get rid of stupid warning.
Definition: SysTypes.h:299
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cXDTBase.h:14
static cScriptableMethod sm_Methods[M_QTY+1]
Definition: cXDTBase.h:78
virtual bool InitXWindow(void)
Definition: cXDTBase.cpp:49
virtual bool OnKeyFocus(bool bActive)
Definition: cXDTBase.cpp:69
void FindIconPos(cXWindow *pIgnore, cPoint2i &pt, bool bJustIcons) const
Definition: cXDTBase.cpp:99
cXDTBase(X_WNDCLASS_TYPE x)
Definition: cXDTBase.cpp:30
virtual bool OnMouseMove(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cXDTBase.h:43
P_TYPE_
Definition: cXDTBase.h:63
@ P_QTY
Definition: cXDTBase.h:67
void s_Update(P_TYPE_ eProp)
Definition: cXDTBase.cpp:141
static cScriptableProp sm_Props[P_QTY+1]
Definition: cXDTBase.h:70
virtual bool OnMouseDown(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cXDTBase.h:36
STDMETHOD() s_PropGet(const cScriptableProp *pProp, cVariant &vValRet) override
Definition: cXDTBase.cpp:151
cXWindowPtr FindChildInRect(cXWindow *pIgnore, const cRectI &rectChild, bool bJustIcons) const
Definition: cXDTBase.cpp:78
virtual void OnActivateFirst(bool bAuto)
Definition: cXDTBase.h:26
virtual HRESULT DisposeThis()
utility
Definition: cXDTBase.cpp:43
STDMETHOD() s_PropPut(const cScriptableProp *pProp, const cVariant &vVal) override
Definition: cXDTBase.cpp:170
virtual void OnClientModeChange(const GChar_t *pszMsg, bool bPercent)
Definition: cXDTBase.h:30
virtual ~cXDTBase()
Definition: cXDTBase.cpp:38
M_TYPE_
Definition: cXDTBase.h:72
@ M_QTY
Definition: cXDTBase.h:76
CSCRIPT_CLASS_DEF1(XDTBase, cXWindow)
virtual void OnSize(UINT uType, PIXELS_t lWidth, PIXELS_t lHeight)
Definition: cXDTBase.cpp:58
STDMETHOD() s_Invoke(const cScriptableMethod *pMethod, const cVariant &vArgs, OUT cVariant &vValRet) override
Definition: cXDTBase.cpp:188
Definition: cXDialog.h:96
Definition: cXWindow.h:94
Definition: cPoint2.h:20
Definition: cRectI.h:22
const cVariant & vArgs
Definition: cScriptableObj.h:61
Definition: cScriptableInterface.h:97
Definition: cVariant.h:26
Definition: GrayGUI.cpp:11
X_WNDCLASS_TYPE
Definition: cXWindow.h:34
cRefPtr< cXDTBase > cXDTBasePtr
Definition: cXDTBase.h:81
MBUTTON_TYPE
Definition: cInputBase.h:40
int PIXELS_t
Count of pixels in a dimension of some image/surface.
Definition: cSurfaceInfo.h:20
char GChar_t
My version of TCHAR, _TCHAR.
Definition: StrConst.h:26