pressing Enter when a wxButton has the focus
Thomas Zehbe
tz at ingenion.de
Thu Oct 5 05:47:58 PDT 2006
Have you seen this lines?
searchBtn->Disable();
searchBtn->SetDefault();
Is "this" the concerned button?
Thomas
Am Donnerstag, 5. Oktober 2006 15:21 schrieb cai:
> ------------------ search.h
> #define NoName "< no name >"
>
> #define SEARCH_TYPE 1030
> #define SEARCH_CONFIGUREBTN 1031
> #define SEARCH_SEARCHBTN 1032
> #define SEARCH_MATCHCASE 1033
> #define SEARCH_REGEXP 1034
> #define SEARCH_FIELD 1035
> #define SEARCH_FINDWHAT 1036
> #define SEARCH_CONFIGURETYPESBTN 1037
>
> class SearchDlg: public wxDialog
> {
> DECLARE_EVENT_TABLE();
> public:
> SearchDlg(wxWindow* parent);
> ~SearchDlg();
>
> void enableSearchButton();
> void onChangeType();
>
> void onClose(wxCloseEvent& event);
> void onUpdateFindWhat(wxCommandEvent& event);
> void onSelectField(wxCommandEvent& event);
> void onConfigureTypes(wxCommandEvent& event);
> void onConfigure(wxCommandEvent& event);
> void onSearch(wxCommandEvent& event);
> void onKeyDown(wxKeyEvent& ev);
>
> protected:
> wxComboBox* findWhatCombo;
> wxStaticText* typeStatic;
> wxButton* configureTypesBtn;
> wxChoice* fieldChoice;
> wxCheckBox* matchCaseCheckbox;
> wxCheckBox* regExpCheckbox;
> wxButton* configureBtn;
> wxButton* searchBtn;
> };
>
> ------------------ search.cpp
> #include "search.h"
>
> #define __all__ _("__All__")
>
>
>
> ///////////////////////////////////////////////////////////////////
> // SearchDlg
> ///////////////////////////////////////////////////////////////////
>
>
> BEGIN_EVENT_TABLE(SearchDlg, wxDialog)
> EVT_CLOSE(SearchDlg::onClose)
> EVT_COMBOBOX(SEARCH_FINDWHAT, SearchDlg::onUpdateFindWhat)
> EVT_TEXT(SEARCH_FINDWHAT, SearchDlg::onUpdateFindWhat)
> EVT_CHOICE(SEARCH_FIELD, SearchDlg::onSelectField)
> EVT_BUTTON(SEARCH_CONFIGURETYPESBTN, SearchDlg::onConfigureTypes)
> EVT_BUTTON(SEARCH_CONFIGUREBTN, SearchDlg::onConfigure)
> EVT_BUTTON(SEARCH_SEARCHBTN, SearchDlg::onSearch)
> EVT_KEY_DOWN(SearchDlg::onKeyDown)
> END_EVENT_TABLE()
>
>
> SearchDlg::SearchDlg(wxWindow* parent):
> wxDialog(parent, -1, _("Search"), wxDefaultPosition, wxDefaultSize,
>
> wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxMINIMIZE_BOX|wxMAXIMIZE_BOX) {
> SetIcon(theWxwApp->getAcpIcon());
>
> wxStaticText* findWhatStatic = new wxStaticText(this, -1, _("Find
> what")); findWhatCombo = new wxComboBox(this, SEARCH_FINDWHAT, "",
> wxDefaultPosition, wxDefaultSize, 0, NULL);
>
> typeStatic = new wxStaticText(this, -1, _("Types: All"));
> configureTypesBtn = new wxButton(this, SEARCH_CONFIGURETYPESBTN,
> _("Select types..."));
>
> wxStaticText* fieldStatic = new wxStaticText(this, -1, _("Fields"));
> fieldChoice = new wxChoice(this, SEARCH_FIELD, wxDefaultPosition,
> wxDefaultSize, 0, NULL);
>
> matchCaseCheckbox = new wxCheckBox(this, -1, _("Match case"));
> regExpCheckbox = new wxCheckBox(this, -1, _("Regular expression"));
>
> configureBtn = new wxButton(this, SEARCH_CONFIGUREBTN,
> _("Configure...")); wxButton* cancelBtn = new wxButton(this, wxID_CANCEL,
> _("Cancel")); searchBtn = new wxButton(this, SEARCH_SEARCHBTN,
> _("Search"));
>
> fieldChoice->Insert(__all__, 0);
> fieldChoice->SetSelection(0);
>
> matchCaseCheckbox->Hide();
> regExpCheckbox->Hide();
>
> searchBtn->Disable();
> searchBtn->SetDefault();
>
> // do the layout
> wxBoxSizer* mainSizer = new wxBoxSizer(wxVERTICAL);
> wxBoxSizer* findWhatSizer = new wxBoxSizer(wxHORIZONTAL);
> wxStaticBoxSizer* staticboxSizer = new wxStaticBoxSizer(
> wxVERTICAL, this, _("Options"));
> wxBoxSizer* buttonSizer = new wxBoxSizer(wxHORIZONTAL);
>
> findWhatSizer->Add(findWhatStatic, 0, wxRIGHT, 16);
> findWhatSizer->Add(findWhatCombo, 1, 0, 0);
>
> staticboxSizer->Add(typeStatic, 0, wxEXPAND|wxLEFT, 10);
> staticboxSizer->AddSpacer(3);
> staticboxSizer->Add(configureTypesBtn, 1,
> wxEXPAND|wxBOTTOM|wxLEFT|wxRIGHT, 10);
> staticboxSizer->Add(fieldStatic, 0, wxEXPAND|wxLEFT, 10);
> staticboxSizer->Add(fieldChoice, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxRIGHT,
> 10); staticboxSizer->Add(matchCaseCheckbox, 0,
> wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 10);
> staticboxSizer->Add(regExpCheckbox, 0, wxEXPAND|wxLEFT|wxBOTTOM, 10);
>
> buttonSizer->Add(configureBtn, 0, 0, 0);
> buttonSizer->Add(cancelBtn, 0, wxLEFT|wxRIGHT, 10);
> buttonSizer->Add(searchBtn, 0, 0, 0);
>
> mainSizer->Add(findWhatSizer, 0, wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 20);
> mainSizer->Add(staticboxSizer, 0, wxEXPAND|wxALL, 20);
> mainSizer->Add(buttonSizer, 0,
> wxEXPAND|wxLEFT|wxRIGHT|wxBOTTOM|wxALIGN_CENTER_HORIZONTAL, 20);
>
> theWxwApp->restoreWindowPosition(this,"searchWindowPosition");
>
> SetSizer(mainSizer);
> mainSizer->SetSizeHints(this);
> }
>
>
> SearchDlg::~SearchDlg()
> {
> }
>
>
> void SearchDlg::enableSearchButton()
> {
> }
>
>
> void SearchDlg::onChangeType()
> {
> }
>
>
> void SearchDlg::onClose(wxCloseEvent& event)
> {
> }
>
>
> void SearchDlg::onUpdateFindWhat(wxCommandEvent& event)
> {
> }
>
>
> void SearchDlg::onSelectField(wxCommandEvent& event)
> {
> }
>
>
> void SearchDlg::onConfigureTypes(wxCommandEvent& event)
> {
> }
>
>
> void SearchDlg::onConfigure(wxCommandEvent& event)
> {
> }
>
>
> void SearchDlg::onSearch(wxCommandEvent& event)
> {
> }
>
>
> void SearchDlg::onKeyDown(wxKeyEvent& ev)
> { // it never gets here!!!
> /*
> if (ev.GetKeyCode() == WXK_RETURN) // Enter key
> {
> wxCommandEvent event;
> onSearch(event);
> }
> */
> ev.Skip();
> }
--
Dipl.-Ing. Thomas Zehbe
INGENION GmbH
Kuhweide 6
31552 Apelern
Fon: 05043 / 40 57 90 4
Fax: 05043 / 40 57 90 7
More information about the wx-users
mailing list