X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5c6eb3a84be918dcfed2496d014549e13af0f0e9..b02dd12239c8a59b9a545d9fcb04974f8ad02c6b:/include/wx/osx/checklst.h?ds=sidebyside diff --git a/include/wx/osx/checklst.h b/include/wx/osx/checklst.h index 098262d5fe..f2d547c505 100644 --- a/include/wx/osx/checklst.h +++ b/include/wx/osx/checklst.h @@ -1,5 +1,94 @@ -#ifdef __WXMAC_CLASSIC__ -#include "wx/mac/classic/checklst.h" -#else -#include "wx/mac/carbon/checklst.h" -#endif +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/osx/checklst.h +// Purpose: wxCheckListBox class - a listbox with checkable items +// Note: this is an optional class. +// Author: Stefan Csomor +// Modified by: +// Created: 1998-01-01 +// RCS-ID: $Id$ +// Copyright: (c) Stefan Csomor +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_MAC_CHECKLST_H_ +#define _WX_MAC_CHECKLST_H_ + +class WXDLLIMPEXP_CORE wxCheckListBox : public wxCheckListBoxBase +{ +public: + // ctors + wxCheckListBox() { Init(); } + 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) + { + Init(); + + Create(parent, id, pos, size, nStrings, choices, style, validator, name); + } + wxCheckListBox(wxWindow *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxListBoxNameStr) + { + Init(); + + Create(parent, id, pos, size, choices, style, validator, name); + } + + bool Create(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); + bool Create(wxWindow *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxListBoxNameStr); + + // items may be checked + bool IsChecked(unsigned int uiIndex) const; + void Check(unsigned int uiIndex, bool bCheck = true); + + // data callbacks + virtual void GetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value ); + virtual void SetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value ); + +protected: + // override all methods which add/delete items to update m_checks array as + // well + virtual void OnItemInserted(unsigned int pos); + virtual void DoDeleteOneItem(unsigned int n); + virtual void DoClear(); + + // the array containing the checked status of the items + wxArrayInt m_checks; + + wxListWidgetColumn* m_checkColumn ; + + void Init(); + +private: + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxCheckListBox) +}; + +#endif // _WX_MAC_CHECKLST_H_