X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/806ad819585655ac1c35427409611d7795d0b910..3cb6eaec797ebbe20a0e05e5c9ba625909845e72:/src/generic/editlbox.cpp diff --git a/src/generic/editlbox.cpp b/src/generic/editlbox.cpp index b01dcf968d..6cc9d187c2 100644 --- a/src/generic/editlbox.cpp +++ b/src/generic/editlbox.cpp @@ -14,6 +14,8 @@ #pragma hdrstop #endif +#if wxUSE_EDITABLELISTBOX + // for all others, include the necessary headers (this file is usually all you // need because it includes almost all "standard" wxWidgets headers) #ifndef WX_PRECOMP @@ -24,6 +26,12 @@ #include "wx/sizer.h" #include "wx/listctrl.h" +// ============================================================================ +// implementation +// ============================================================================ + +const wxChar wxEditableListBoxNameStr[] = wxT("editableListBox"); + static char * eledit_xpm[] = { "16 16 3 1", " c None", @@ -180,16 +188,21 @@ BEGIN_EVENT_TABLE(CleverListCtrl, wxListCtrl) EVT_SIZE(CleverListCtrl::OnSize) END_EVENT_TABLE() + +// ---------------------------------------------------------------------------- +// wxEditableListBox +// ---------------------------------------------------------------------------- + IMPLEMENT_CLASS(wxEditableListBox, wxPanel) // NB: generate the IDs at runtime to avoid conflict with XRCID values, // they could cause XRCCTRL() failures in XRC-based dialogs -const int wxID_ELB_DELETE = wxNewId(); -const int wxID_ELB_EDIT = wxNewId(); -const int wxID_ELB_NEW = wxNewId(); -const int wxID_ELB_UP = wxNewId(); -const int wxID_ELB_DOWN = wxNewId(); -const int wxID_ELB_LISTCTRL = wxNewId(); +const int wxID_ELB_DELETE = wxWindow::NewControlId(); +const int wxID_ELB_EDIT = wxWindow::NewControlId(); +const int wxID_ELB_NEW = wxWindow::NewControlId(); +const int wxID_ELB_UP = wxWindow::NewControlId(); +const int wxID_ELB_DOWN = wxWindow::NewControlId(); +const int wxID_ELB_LISTCTRL = wxWindow::NewControlId(); BEGIN_EVENT_TABLE(wxEditableListBox, wxPanel) EVT_LIST_ITEM_SELECTED(wxID_ELB_LISTCTRL, wxEditableListBox::OnItemSelected) @@ -201,15 +214,16 @@ BEGIN_EVENT_TABLE(wxEditableListBox, wxPanel) EVT_BUTTON(wxID_ELB_DELETE, wxEditableListBox::OnDelItem) END_EVENT_TABLE() -wxEditableListBox::wxEditableListBox(wxWindow *parent, wxWindowID id, +bool wxEditableListBox::Create(wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos, const wxSize& size, long style, const wxString& name) - : wxPanel(parent, id, pos, size, wxTAB_TRAVERSAL, name) { + if (!wxPanel::Create(parent, id, pos, size, wxTAB_TRAVERSAL, name)) + return false; + m_style = style; - m_bEdit = m_bNew = m_bDel = m_bUp = m_bDown = NULL; wxSizer *sizer = new wxBoxSizer(wxVERTICAL); @@ -279,6 +293,8 @@ wxEditableListBox::wxEditableListBox(wxWindow *parent, wxWindowID id, SetSizer(sizer); Layout(); + + return true; } void wxEditableListBox::SetStrings(const wxArrayString& strings) @@ -376,3 +392,5 @@ void wxEditableListBox::OnDownItem(wxCommandEvent& WXUNUSED(event)) m_listCtrl->SetItemState(m_selection + 1, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); } + +#endif // wxUSE_EDITABLELISTBOX