X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/235751501d3bb4141424cc08a7d88dd506746d18..82c6387837096ddd8c0d8f3a2ef7b9d889ec8f75:/include/wx/editlbox.h diff --git a/include/wx/editlbox.h b/include/wx/editlbox.h index 1e8a2e61ab..59236bcf3f 100644 --- a/include/wx/editlbox.h +++ b/include/wx/editlbox.h @@ -17,14 +17,17 @@ #include "wx/panel.h" -class WXDLLEXPORT wxBitmapButton; -class WXDLLEXPORT wxListCtrl; -class WXDLLEXPORT wxListEvent; +class WXDLLIMPEXP_FWD_CORE wxBitmapButton; +class WXDLLIMPEXP_FWD_CORE wxListCtrl; +class WXDLLIMPEXP_FWD_CORE wxListEvent; #define wxEL_ALLOW_NEW 0x0100 #define wxEL_ALLOW_EDIT 0x0200 #define wxEL_ALLOW_DELETE 0x0400 #define wxEL_NO_REORDER 0x0800 +#define wxEL_DEFAULT_STYLE (wxEL_ALLOW_NEW | wxEL_ALLOW_EDIT | wxEL_ALLOW_DELETE) + +extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxEditableListBoxNameStr[]; // This class provides a composite control that lets the // user easily enter list of strings @@ -32,12 +35,25 @@ class WXDLLEXPORT wxListEvent; class WXDLLIMPEXP_ADV wxEditableListBox : public wxPanel { public: + wxEditableListBox() { Init(); } + wxEditableListBox(wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = wxEL_ALLOW_NEW | wxEL_ALLOW_EDIT | wxEL_ALLOW_DELETE, - const wxString& name = wxT("editableListBox")); + long style = wxEL_DEFAULT_STYLE, + const wxString& name = wxEditableListBoxNameStr) + { + Init(); + Create(parent, id, label, pos, size, style, name); + } + + bool Create(wxWindow *parent, wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxEL_DEFAULT_STYLE, + const wxString& name = wxEditableListBoxNameStr); void SetStrings(const wxArrayString& strings); void GetStrings(wxArrayString& strings) const; @@ -55,6 +71,14 @@ protected: int m_selection; long m_style; + void Init() + { + m_style = 0; + m_selection = 0; + m_bEdit = m_bNew = m_bDel = m_bUp = m_bDown = NULL; + m_listCtrl = NULL; + } + void OnItemSelected(wxListEvent& event); void OnEndLabelEdit(wxListEvent& event); void OnNewItem(wxCommandEvent& event);