X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/235751501d3bb4141424cc08a7d88dd506746d18..66c2bf7b1d9326fb650acfaae22ec50528cfbf7c:/include/wx/editlbox.h?ds=sidebyside diff --git a/include/wx/editlbox.h b/include/wx/editlbox.h index 1e8a2e61ab..7aad2ac205 100644 --- a/include/wx/editlbox.h +++ b/include/wx/editlbox.h @@ -2,7 +2,6 @@ // Name: wx/editlbox.h // Purpose: ListBox with editable items // Author: Vaclav Slavik -// RCS-ID: $Id$ // Copyright: (c) Vaclav Slavik // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -17,14 +16,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 char) wxEditableListBoxNameStr[]; // This class provides a composite control that lets the // user easily enter list of strings @@ -32,12 +34,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 +70,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); @@ -65,6 +88,10 @@ protected: DECLARE_CLASS(wxEditableListBox) DECLARE_EVENT_TABLE() + +private: + void SwapItems(long i1, long i2); + }; #endif // wxUSE_EDITABLELISTBOX