]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/combobox.cpp
Further tweaks to accessibility code
[wxWidgets.git] / samples / widgets / combobox.cpp
index b270e2656c412c3a69ddc9adae51897c9458654e..42883f7e31445d08851ec8f9d5eff1305efe0cca 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
@@ -340,7 +340,7 @@ void ComboboxWidgetsPage::CreateCombo()
             items.Add(m_combobox->GetString(n));
         }
 
-        m_sizerCombo->Remove(m_combobox);
+        m_sizerCombo->Detach( m_combobox );
         delete m_combobox;
     }
 
@@ -411,7 +411,7 @@ void ComboboxWidgetsPage::OnButtonClear(wxCommandEvent& event)
 
 void ComboboxWidgetsPage::OnButtonAdd(wxCommandEvent& event)
 {
-    static size_t s_item = 0;
+    static unsigned int s_item = 0;
 
     wxString s = m_textAdd->GetValue();
     if ( !m_textAdd->IsModified() )
@@ -426,7 +426,7 @@ void ComboboxWidgetsPage::OnButtonAdd(wxCommandEvent& event)
 void ComboboxWidgetsPage::OnButtonAddMany(wxCommandEvent& WXUNUSED(event))
 {
     // "many" means 1000 here
-    for ( size_t n = 0; n < 1000; n++ )
+    for ( unsigned int n = 0; n < 1000; n++ )
     {
         m_combobox->Append(wxString::Format(_T("item #%u"), n));
     }
@@ -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(),
@@ -483,10 +494,10 @@ void ComboboxWidgetsPage::OnComboText(wxCommandEvent& event)
 
 void ComboboxWidgetsPage::OnComboBox(wxCommandEvent& event)
 {
-    int sel = event.GetInt();
+    long sel = event.GetInt();
     m_textDelete->SetValue(wxString::Format(_T("%ld"), sel));
 
-    wxLogMessage(_T("Combobox item %d selected"), sel);
+    wxLogMessage(_T("Combobox item %ld selected"), sel);
 }
 
 void ComboboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)
@@ -496,3 +507,4 @@ void ComboboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)
 
 #endif //wxUSE_COMBOBOX
 
+#endif