void OnCloseup(wxCommandEvent& event);
void OnComboBox(wxCommandEvent& event);
void OnComboText(wxCommandEvent& event);
+ void OnComboTextPasted(wxClipboardTextEvent& event);
void OnCheckOrRadioBox(wxCommandEvent& event);
// the checkboxes for styles
wxCheckBox *m_chkSort,
*m_chkReadonly,
- *m_chkFilename;
+ *m_chkProcessEnter;
// the combobox itself and the sizer it is in
wxComboBox *m_combobox;
EVT_COMBOBOX_CLOSEUP(ComboPage_Combo, ComboboxWidgetsPage::OnCloseup)
EVT_TEXT(ComboPage_Combo, ComboboxWidgetsPage::OnComboText)
EVT_TEXT_ENTER(ComboPage_Combo, ComboboxWidgetsPage::OnComboText)
+ EVT_TEXT_PASTE(ComboPage_Combo, ComboboxWidgetsPage::OnComboTextPasted)
EVT_CHECKBOX(wxID_ANY, ComboboxWidgetsPage::OnCheckOrRadioBox)
EVT_RADIOBOX(wxID_ANY, ComboboxWidgetsPage::OnCheckOrRadioBox)
// init everything
m_chkSort =
m_chkReadonly =
- m_chkFilename = (wxCheckBox *)NULL;
+ m_chkProcessEnter = (wxCheckBox *)NULL;
m_combobox = (wxComboBox *)NULL;
m_sizerCombo = (wxSizer *)NULL;
m_chkSort = CreateCheckBoxAndAddToSizer(sizerLeftTop, wxT("&Sort items"));
m_chkReadonly = CreateCheckBoxAndAddToSizer(sizerLeftTop, wxT("&Read only"));
- m_chkFilename = CreateCheckBoxAndAddToSizer(sizerLeftTop, wxT("&File name"));
- m_chkFilename->Disable(); // not implemented yet
+ m_chkProcessEnter = CreateCheckBoxAndAddToSizer(sizerLeftTop, wxT("Process &Enter"));
sizerLeftTop->Add(5, 5, 0, wxGROW | wxALL, 5); // spacer
sizerLeftTop->Add(m_radioKind, 0, wxGROW | wxALL, 5);
wxSizer *sizerLeft = new wxBoxSizer(wxVERTICAL);
sizerLeft->Add(sizerLeftTop);
sizerLeft->AddSpacer(10);
- sizerLeft->Add(sizerLeftBottom);
+ sizerLeft->Add(sizerLeftBottom, wxSizerFlags().Expand());
// middle pane
wxStaticBox *box2 = new wxStaticBox(this, wxID_ANY,
{
m_chkSort->SetValue(false);
m_chkReadonly->SetValue(false);
- m_chkFilename->SetValue(false);
+ m_chkProcessEnter->SetValue(false);
}
void ComboboxWidgetsPage::CreateCombo()
flags |= wxCB_SORT;
if ( m_chkReadonly->GetValue() )
flags |= wxCB_READONLY;
+ if ( m_chkProcessEnter->GetValue() )
+ flags |= wxTE_PROCESS_ENTER;
+
switch ( m_radioKind->GetSelection() )
{
0, NULL,
flags);
-#if 0
- if ( m_chkFilename->GetValue() )
- ;
-#endif // TODO
-
unsigned int count = items.GetCount();
for ( unsigned int n = 0; n < count; n++ )
{
int sel = m_combobox->GetSelection();
if ( sel != wxNOT_FOUND )
{
-#ifndef __WXGTK__
m_combobox->SetString(sel, m_textChange->GetValue());
-#else
- wxLogMessage(wxT("Not implemented in wxGTK"));
-#endif
}
}
{
event.Enable( m_chkSort->GetValue() ||
m_chkReadonly->GetValue() ||
- m_chkFilename->GetValue() );
+ m_chkProcessEnter->GetValue() );
}
void ComboboxWidgetsPage::OnUpdateUIInsert(wxUpdateUIEvent& event)
wxASSERT_MSG( s == m_combobox->GetValue(),
wxT("event and combobox values should be the same") );
- if (event.GetEventType() == wxEVT_COMMAND_TEXT_ENTER)
+ if (event.GetEventType() == wxEVT_TEXT_ENTER)
{
wxLogMessage(wxT("Combobox enter pressed (now '%s')"), s.c_str());
}
}
}
+void ComboboxWidgetsPage::OnComboTextPasted(wxClipboardTextEvent& event)
+{
+ wxLogMessage("Text pasted from clipboard.");
+ event.Skip();
+}
+
void ComboboxWidgetsPage::OnComboBox(wxCommandEvent& event)
{
long sel = event.GetInt();
wxLogMessage(wxT("Combobox item %ld selected"), sel);
wxLogMessage(wxT("Combobox GetValue(): %s"), m_combobox->GetValue().c_str() );
+
+ if ( event.GetString() != m_combobox->GetValue() )
+ {
+ wxLogMessage("ERROR: Event has different string \"%s\"",
+ event.GetString());
+ }
}
void ComboboxWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event))