]> git.saurik.com Git - wxWidgets.git/commitdiff
Added Test for wxComboBox::SetValue() to widgets sample.
authorRobert Roebling <robert@roebling.de>
Thu, 26 Apr 2007 18:40:43 +0000 (18:40 +0000)
committerRobert Roebling <robert@roebling.de>
Thu, 26 Apr 2007 18:40:43 +0000 (18:40 +0000)
  Make wxGTK not send text change events then.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/widgets/combobox.cpp
src/gtk/combobox.cpp

index d92a7989f1aa78882ec2f936d6dc832d855cae4f..bb565684bc9fb65d31c130550c9a03e83ea4da05 100644 (file)
@@ -68,6 +68,8 @@ enum
     ComboPage_Delete,
     ComboPage_DeleteText,
     ComboPage_DeleteSel,
+    ComboPage_SetValue,
+    ComboPage_SetValueText,
     ComboPage_Combo
 };
 
@@ -105,6 +107,7 @@ protected:
     void OnButtonAdd(wxCommandEvent& event);
     void OnButtonAddSeveral(wxCommandEvent& event);
     void OnButtonAddMany(wxCommandEvent& event);
+    void OnButtonSetValue(wxCommandEvent& event);
     void OnButtonSetCurrent(wxCommandEvent& event);
 
     void OnComboBox(wxCommandEvent& event);
@@ -147,6 +150,7 @@ protected:
     wxTextCtrl *m_textInsert,
                *m_textAdd,
                *m_textChange,
+               *m_textSetValue,
                *m_textDelete,
                *m_textCur;
 
@@ -169,6 +173,7 @@ BEGIN_EVENT_TABLE(ComboboxWidgetsPage, WidgetsPage)
     EVT_BUTTON(ComboPage_Add, ComboboxWidgetsPage::OnButtonAdd)
     EVT_BUTTON(ComboPage_AddSeveral, ComboboxWidgetsPage::OnButtonAddSeveral)
     EVT_BUTTON(ComboPage_AddMany, ComboboxWidgetsPage::OnButtonAddMany)
+    EVT_BUTTON(ComboPage_SetValue, ComboboxWidgetsPage::OnButtonSetValue)
     EVT_BUTTON(ComboPage_SetCurrent, ComboboxWidgetsPage::OnButtonSetCurrent)
 
     EVT_TEXT_ENTER(ComboPage_InsertText, ComboboxWidgetsPage::OnButtonInsert)
@@ -320,6 +325,14 @@ void ComboboxWidgetsPage::CreateContent()
     btn = new wxButton(this, ComboPage_Clear, _T("&Clear"));
     sizerMiddle->Add(btn, 0, wxALL | wxGROW, 5);
 
+    sizerRow = CreateSizerWithTextAndButton(ComboPage_SetValue,
+                                            _T("SetValue"),
+                                            ComboPage_SetValueText,
+                                            &m_textSetValue);
+    sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
+
+
+
     // right pane
     wxSizer *sizerRight = new wxBoxSizer(wxVERTICAL);
     m_combobox = new wxComboBox(this, ComboPage_Combo, wxEmptyString,
@@ -457,6 +470,12 @@ void ComboboxWidgetsPage::OnButtonDeleteSel(wxCommandEvent& WXUNUSED(event))
     }
 }
 
+void ComboboxWidgetsPage::OnButtonSetValue(wxCommandEvent& WXUNUSED(event))
+{
+    wxString value = m_textSetValue->GetValue();
+    m_combobox->SetValue( value );
+}
+
 void ComboboxWidgetsPage::OnButtonClear(wxCommandEvent& WXUNUSED(event))
 {
     m_combobox->Clear();
index 10f20fbd1a0181edb5f3c1c77a524a1201075d80..00792deb148bf25ceeae1858051050ef937fcaea 100644 (file)
@@ -946,7 +946,10 @@ void wxComboBox::SetValue( const wxString& value )
 
     wxString tmp;
     if (!value.IsNull()) tmp = value;
+    
+    DisableEvents();
     gtk_entry_set_text( entry, wxGTK_CONV( tmp ) );
+    EnableEvents();
 
     InvalidateBestSize();
 }