Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cXDialogTemplate.h
Go to the documentation of this file.
1 //
4 //
5 #ifndef _INC_cXDialogTemplate_H
6 #define _INC_cXDialogTemplate_H
7 
8 #pragma once
9 #include "../GrayGUI.h"
11 
12 namespace GrayGUI
13 {
14 class cXCheckBox;
15 typedef cRefPtr<cXCheckBox> cXCheckBoxPtr;
16 class cXButton;
17 typedef cRefPtr<cXButton> cXButtonPtr;
18 class cXSpinCounter;
19 typedef cRefPtr<cXSpinCounter> cXSpinCounterPtr;
20 class cXComboBox;
21 typedef cRefPtr<cXComboBox> cXComboBoxPtr;
22 
23 // Helper macro for controls
24 // cXCheckBox
25 #define CONTROL_CHK_DECLARE(ID) \
26  cXCheckBoxPtr m_pwnd##ID;
27 
28 #define CONTROL_CHK_ADD(PREF,ID,st,tt) \
29  m_pwnd##ID = SMART_CAST(cXCheckBox,GetDlgItem(IDC_##PREF##_##ID)); \
30  ASSERT(m_pwnd##ID); \
31  m_pwnd##ID->put_CheckedState(st); \
32  m_pwnd##ID->put_ToolTip(tt);
33 
34 #define CONTROL_CHK_ADDICON(PREF,ID, nIcon, st, tt) \
35  m_pwnd##ID = SMART_CAST(cXCheckBox,GetDlgItem(IDC_##PREF##_##ID)); \
36  ASSERT(m_pwnd##ID); \
37  m_pwnd##ID->m_Icon.put_IconDestSize(ICONSIZE_M);\
38  m_pwnd##ID->m_Icon.SetIcon(nIcon);\
39  m_pwnd##ID->put_CheckedState(st); \
40  m_pwnd##ID->put_ToolTip(tt);
41 
42 // cXButton = PushButtons
43 #define CONTROL_BTN_DECLARE(ID) \
44  cXButtonPtr m_pwnd##ID;
45 
46 #define CONTROL_BTN_ADD(PREF,ID) \
47  m_pwnd##ID = SMART_CAST(cXButton,GetDlgItem(IDC_##PREF##_##ID)); \
48  ASSERT(m_pwnd##ID); \
49 
50 // cXSpinCounter
51 #define CONTROL_SPN_DECLARE(ID) \
52  cXSpinCounterPtr m_pwnd##ID;
53 
54 #define CONTROL_SPN_ADD(PREF,ID,val,vmin,vmax) \
55  m_pwnd##ID = SMART_CAST(cXSpinCounter,GetDlgItem(IDC_##PREF##_##ID)); \
56  ASSERT(m_pwnd##ID); \
57  m_pwnd##ID->SetValueRange(vmin,vmax); \
58  m_pwnd##ID->put_Value(val);
59 
60 // cXComboBox
61 #define CONTROL_CBO_DECLARE(ID) \
62  cXComboBoxPtr m_pwnd##ID;
63 
64 #define CONTROL_CBO_ADD(PREF,ID) \
65  m_pwnd##ID = SMART_CAST(cXComboBox,GetDlgItem(IDC_##PREF##_##ID)); \
66  ASSERT(m_pwnd##ID);
67 };
68 
69 #endif
Definition: GrayGUI.cpp:11
cRefPtr< cXComboBox > cXComboBoxPtr
Definition: cXComboBox.h:122
cRefPtr< cXCheckBox > cXCheckBoxPtr
Definition: cXCheckBox.h:44
cRefPtr< cXButton > cXButtonPtr
Definition: cXButton.h:204
cRefPtr< cXSpinCounter > cXSpinCounterPtr
Definition: cXSpinCounter.h:56