X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/806ad819585655ac1c35427409611d7795d0b910..e91e1e3d5cab263883c1cee1689c898b8f7c4ecd:/include/wx/editlbox.h?ds=sidebyside diff --git a/include/wx/editlbox.h b/include/wx/editlbox.h index 6b90901bc9..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 ///////////////////////////////////////////////////////////////////////////// @@ -11,16 +10,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 +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; @@ -51,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); @@ -61,6 +88,12 @@ protected: DECLARE_CLASS(wxEditableListBox) DECLARE_EVENT_TABLE() + +private: + void SwapItems(long i1, long i2); + }; +#endif // wxUSE_EDITABLELISTBOX + #endif // __WX_EDITLBOX_H__