Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cXComboBox.h
Go to the documentation of this file.
1 //
4 //
5 #ifndef _INC_cXComboBox_H
6 #define _INC_cXComboBox_H
7 #pragma once
8 
9 #include "cXButton.h"
10 #include "cXEditText.h"
11 #include "cXListBox.h"
12 
13 namespace GrayGUI
14 {
15  class cXListBox;
17 
18  class cXComboBox : public cXWindow
19  {
22  typedef cXWindow SUPER_t;
23 
24  public:
32 
33  protected:
35 
36  public:
37  cXComboBox(cXWindow* pParent, DLGID_t id);
38  virtual ~cXComboBox();
39 
40  virtual HRESULT DisposeThis();
41  virtual bool InitXWindow();
42 
43  virtual bool OnCommand(DLGID_t id, cXWindow* pCtrl, WORD wNotify);
44  virtual bool OnMouseDown(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y);
45 
46  virtual void OnSize(UINT uType, int cx, int cy);
47  virtual bool OnKeyFocus(bool bActive);
48 
49  void UpdateSelectedText();
50  cXCheckBoxPtr AddNewItem(const GChar_t* pszCaption, cVariant& vData = cVariant());
52  {
53  if (m_pListBox != nullptr)
54  return(m_pListBox->get_SelectedItemData());
55  return(cVariant());
56  }
57  void put_Selected(cXCheckBox* pItem)
58  {
59  ASSERT(m_pListBox != nullptr);
60  m_pListBox->put_Selected(pItem);
61  }
62  void put_SelectedItem(int id)
63  {
64  ASSERT(m_pListBox != nullptr);
65  m_pListBox->put_SelectedItem(id);
66  }
67  void put_SelectedItemString(cString strItem, bool bPartialMatch = false)
68  {
69  ASSERT(m_pListBox != nullptr);
70  m_pListBox->put_SelectedItemString(strItem, bPartialMatch);
71  }
72  void ShowDropList(bool State);
73  int FindString(cString strItem) const
74  {
75  if (m_pListBox == nullptr)
76  return(-1);
77  return(m_pListBox->FindString(strItem));
78  }
79 
80  void put_MaxShowItems(int iMaxShowItems)
81  {
82  m_iMaxShowItems = iMaxShowItems;
83  }
84  int get_MaxShowItems(void)
85  {
86  return(m_iMaxShowItems);
87  }
88  void put_ReadOnly(bool bReadOnly)
89  {
90  if (m_pEditText != nullptr)
91  m_pEditText->EnableWindow(!bReadOnly);
92  m_bReadOnly = bReadOnly;
93  }
94  int get_ReadOnly(void)
95  {
96  return(m_bReadOnly);
97  }
98  int get_CurSel() const
99  {
100  ASSERT(m_pListBox != nullptr);
101  return m_pListBox->get_SelectedID();
102  }
104  {
105  ASSERT(m_pListBox != nullptr);
106  return SMART_CAST(cXCheckBox, m_pListBox->GetDlgItem(i));
107  }
109  {
110  if (m_pListBox == nullptr)
111  return;
112  m_pListBox->ClearItems();
113  }
114  void put_ColorType(bool bColorType)
115  {
116  m_bColorType = bColorType;
118  m_pListBox->put_ColorType(bColorType);
119  }
120  };
121 
123 };
124 #endif
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define ASSERT(exp)
Definition: cDebugAssert.h:87
#define SMART_CAST(_DSTCLASS, p)
Definition: cPtrFacade.h:137
Definition: cXCheckBox.h:14
Definition: cXComboBox.h:19
bool m_bColorType
Definition: cXComboBox.h:34
virtual bool InitXWindow()
Definition: cXComboBox.cpp:100
int get_ReadOnly(void)
Definition: cXComboBox.h:94
bool m_IsDroppedDown
Definition: cXComboBox.h:30
virtual HRESULT DisposeThis()
utility
Definition: cXComboBox.cpp:39
void put_SelectedItemString(cString strItem, bool bPartialMatch=false)
Definition: cXComboBox.h:67
cXListBoxPtr m_pListBox
Definition: cXComboBox.h:27
int m_iMaxShowItems
Definition: cXComboBox.h:26
void put_ColorType(bool bColorType)
Definition: cXComboBox.h:114
cXEditTextPtr m_pEditText
Definition: cXComboBox.h:28
virtual void OnSize(UINT uType, int cx, int cy)
Definition: cXComboBox.cpp:127
void ClearListItems()
Definition: cXComboBox.h:108
void UpdateSelectedText()
Definition: cXComboBox.cpp:67
virtual bool OnCommand(DLGID_t id, cXWindow *pCtrl, WORD wNotify)
Definition: cXComboBox.cpp:174
void put_SelectedItem(int id)
Definition: cXComboBox.h:62
cXCheckBoxPtr AddNewItem(const GChar_t *pszCaption, cVariant &vData=cVariant())
Definition: cXComboBox.cpp:78
virtual ~cXComboBox()
Definition: cXComboBox.cpp:35
virtual bool OnMouseDown(MBUTTON_TYPE uButton, PIXELS_t x, PIXELS_t y)
Definition: cXComboBox.cpp:167
bool m_bReadOnly
Definition: cXComboBox.h:25
virtual bool OnKeyFocus(bool bActive)
Definition: cXComboBox.cpp:148
cVariant get_SelectedItemData(void) const
Definition: cXComboBox.h:51
int m_RolledUpHeight
Definition: cXComboBox.h:31
void put_MaxShowItems(int iMaxShowItems)
Definition: cXComboBox.h:80
int get_CurSel() const
Definition: cXComboBox.h:98
int get_MaxShowItems(void)
Definition: cXComboBox.h:84
void put_ReadOnly(bool bReadOnly)
Definition: cXComboBox.h:88
void put_Selected(cXCheckBox *pItem)
Definition: cXComboBox.h:57
int FindString(cString strItem) const
Definition: cXComboBox.h:73
cXCheckBoxPtr GetListItem(DLGID_t i) const
Definition: cXComboBox.h:103
void ShowDropList(bool State)
Definition: cXComboBox.cpp:47
cXComboBox(cXWindow *pParent, DLGID_t id)
Definition: cXComboBox.cpp:24
cXButtonPtr m_pButton
Definition: cXComboBox.h:29
Definition: cXWindow.h:94
Definition: cVariant.h:26
Definition: GrayGUI.cpp:11
cRefPtr< cXComboBox > cXComboBoxPtr
Definition: cXComboBox.h:122
cRefPtr< cXListBox > cXListBoxPtr
Definition: cXComboBox.h:15
UINT DLGID_t
old window format this was a WORD, EX format this is UINT32.
Definition: cResDialog.h:68
MBUTTON_TYPE
Definition: cInputBase.h:40
class __DECL_IMPORT cVariant
Definition: cJSONWriter.h:19
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