]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/combobox.cpp
A few tweaks and cleanups
[wxWidgets.git] / samples / widgets / combobox.cpp
index b270e2656c412c3a69ddc9adae51897c9458654e..5570f43f1f4cfb7ed4422f3c8d791c6a0e55582c 100644 (file)
@@ -41,7 +41,7 @@
 #include "wx/sizer.h"
 
 #include "widgets.h"
-
+#if 1
 #include "icons/combobox.xpm"
 
 // ----------------------------------------------------------------------------
@@ -182,8 +182,6 @@ ComboboxWidgetsPage::ComboboxWidgetsPage(wxNotebook *notebook,
                                        wxImageList *imaglist)
                   : WidgetsPage(notebook)
 {
-    imaglist->Add(wxBitmap(combobox_xpm));
-
     // init everything
     m_chkSort =
     m_chkReadonly = (wxCheckBox *)NULL;
@@ -191,6 +189,8 @@ ComboboxWidgetsPage::ComboboxWidgetsPage(wxNotebook *notebook,
     m_combobox = (wxComboBox *)NULL;
     m_sizerCombo = (wxSizer *)NULL;
 
+    imaglist->Add(wxBitmap(combobox_xpm));
+
     /*
        What we create here is a frame having 3 panes: style pane is the
        leftmost one, in the middle the pane with buttons allowing to perform
@@ -277,7 +277,7 @@ ComboboxWidgetsPage::ComboboxWidgetsPage(wxNotebook *notebook,
                                 0, NULL,
                                 0);
     sizerRight->Add(m_combobox, 1, wxGROW | wxALL, 5);
-    sizerRight->SetMinSize(250, 0);
+    sizerRight->SetMinSize(150, 0);
     m_sizerCombo = sizerRight; // save it to modify it later
 
     // the 3 panes panes compose the window
@@ -441,38 +441,49 @@ void ComboboxWidgetsPage::OnButtonAddSeveral(wxCommandEvent& event)
 
 void ComboboxWidgetsPage::OnUpdateUICurText(wxUpdateUIEvent& event)
 {
-    event.SetText( wxString::Format(_T("%d"), m_combobox->GetSelection()) );
+    if (m_combobox)
+        event.SetText( wxString::Format(_T("%d"), m_combobox->GetSelection()) );
 }
 
 void ComboboxWidgetsPage::OnUpdateUIResetButton(wxUpdateUIEvent& event)
 {
-    event.Enable( m_chkSort->GetValue() || m_chkReadonly->GetValue() );
+    if (m_combobox)
+        event.Enable( m_chkSort->GetValue() || m_chkReadonly->GetValue() );
 }
 
 void ComboboxWidgetsPage::OnUpdateUIDeleteButton(wxUpdateUIEvent& event)
 {
-    unsigned long n;
-    event.Enable(m_textDelete->GetValue().ToULong(&n) &&
-                    (n < (unsigned)m_combobox->GetCount()));
+    if (m_combobox)
+    {
+      unsigned long n;
+      event.Enable(m_textDelete->GetValue().ToULong(&n) &&
+        (n < (unsigned)m_combobox->GetCount()));
+    }
 }
 
 void ComboboxWidgetsPage::OnUpdateUIDeleteSelButton(wxUpdateUIEvent& event)
 {
-    event.Enable(m_combobox->GetSelection() != -1);
+    if (m_combobox)
+        event.Enable(m_combobox->GetSelection() != -1);
 }
 
 void ComboboxWidgetsPage::OnUpdateUIClearButton(wxUpdateUIEvent& event)
 {
-    event.Enable(m_combobox->GetCount() != 0);
+    if (m_combobox)
+        event.Enable(m_combobox->GetCount() != 0);
 }
 
 void ComboboxWidgetsPage::OnUpdateUIAddSeveral(wxUpdateUIEvent& event)
 {
-    event.Enable(!(m_combobox->GetWindowStyle() & wxCB_SORT));
+    if (m_combobox)
+        event.Enable(!(m_combobox->GetWindowStyle() & wxCB_SORT));
 }
 
 void ComboboxWidgetsPage::OnComboText(wxCommandEvent& event)
 {
+    if (!m_combobox)
+        return;
+
     wxString s = event.GetString();
 
     wxASSERT_MSG( s == m_combobox->GetValue(),
@@ -496,3 +507,4 @@ void ComboboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)
 
 #endif //wxUSE_COMBOBOX
 
+#endif