X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/806ad819585655ac1c35427409611d7795d0b910..4ed85025f3ba537206f70f3dd10466e16da926d4:/include/wx/editlbox.h?ds=sidebyside diff --git a/include/wx/editlbox.h b/include/wx/editlbox.h index 6b90901bc9..946fea8a2c 100644 --- a/include/wx/editlbox.h +++ b/include/wx/editlbox.h @@ -11,16 +11,23 @@ #ifndef __WX_EDITLBOX_H__ #define __WX_EDITLBOX_H__ +#include "wx/defs.h" + +#if wxUSE_EDITABLELISTBOX + #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 char) wxEditableListBoxNameStr[]; // This class provides a composite control that lets the // user easily enter list of strings @@ -28,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; @@ -51,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); @@ -61,6 +89,12 @@ protected: DECLARE_CLASS(wxEditableListBox) DECLARE_EVENT_TABLE() + +private: + void SwapItems(long i1, long i2); + }; +#endif // wxUSE_EDITABLELISTBOX + #endif // __WX_EDITLBOX_H__