- // ctors
- wxCheckListBox();
- wxCheckListBox(wxWindow *parent, wxWindowID id,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- int nStrings = 0,
- const wxString choices[] = NULL,
- long style = 0,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxListBoxNameStr);
-
- // items may be checked
- bool IsChecked(size_t uiIndex) const;
- void Check(size_t uiIndex, bool bCheck = TRUE);
-
- DECLARE_EVENT_TABLE()
-};
+ //
+ // Ctors
+ //
+ wxCheckListBox();
+ wxCheckListBox( wxWindow* pParent
+ ,wxWindowID vId
+ ,const wxPoint& rPos = wxDefaultPosition
+ ,const wxSize& vSize = wxDefaultSize
+ ,int nStrings = 0
+ ,const wxString asChoices[] = NULL
+ ,long lStyle = 0
+ ,const wxValidator& rValidator = wxDefaultValidator
+ ,const wxString& rsName = wxListBoxNameStr
+ );
+ wxCheckListBox( wxWindow* pParent
+ ,wxWindowID vId
+ ,const wxPoint& rPos
+ ,const wxSize& vSize
+ ,const wxArrayString& asChoices
+ ,long lStyle = 0
+ ,const wxValidator& rValidator = wxDefaultValidator
+ ,const wxString& rsName = wxListBoxNameStr
+ );
+
+ //
+ // Override base class virtuals
+ //
+ virtual void Delete(unsigned int n);
+
+ virtual bool SetFont(const wxFont &rFont);
+
+ //
+ // Items may be checked
+ //
+ bool IsChecked(unsigned int uiIndex) const;
+ void Check(unsigned int uiIndex, bool bCheck = true);
+
+ //
+ // Accessors
+ //
+ size_t GetItemHeight(void) const { return m_nItemHeight; }
+
+protected:
+ //
+ // We create our items ourselves and they have non-standard size,
+ // so we need to override these functions
+ //
+ virtual wxOwnerDrawn* CreateItem(size_t n);
+ virtual long OS2OnMeasure(WXMEASUREITEMSTRUCT* pItem);
+
+ virtual int DoInsertItems(const wxArrayStringsAdapter & items,
+ unsigned int pos,
+ void **clientData, wxClientDataType type);
+
+ //
+ // Pressing space or clicking the check box toggles the item
+ //
+ void OnChar(wxKeyEvent& rEvent);
+ void OnLeftClick(wxMouseEvent& rEvent);
+
+private:
+ size_t m_nItemHeight; // height of checklistbox items (the same for all)
+
+ DECLARE_DYNAMIC_CLASS(wxCheckListBox)
+ DECLARE_EVENT_TABLE()
+}; // end of CLASS wxCheckListBox