// Author: Robin Dunn
// Created: 9-Dec-2006
// Id: $Id$
-// Copyright: (c) 2006
-// License: wxWindows license
+// Copyright: (c) 2006
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
virtual ~SearchCtrlWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_srchCtrl; }
- virtual void RecreateWidget() { CreateControl(); }
+ virtual wxTextEntryBase *GetTextEntry() const { return m_srchCtrl; }
+ virtual void RecreateWidget();
// lazy creation of the content
virtual void CreateContent();
void OnToggleCancelButton(wxCommandEvent&);
void OnToggleSearchMenu(wxCommandEvent&);
+ void OnSearch(wxCommandEvent& event);
+ void OnSearchCancel(wxCommandEvent& event);
+
wxMenu* CreateTestMenu();
-
+
// (re)create the control
void CreateControl();
- // reset the control parameters
- void Reset();
-
-
+
wxSearchCtrl* m_srchCtrl;
wxCheckBox* m_searchBtnCheck;
wxCheckBox* m_cancelBtnCheck;
EVT_CHECKBOX(ID_SEARCH_CB, SearchCtrlWidgetsPage::OnToggleSearchButton)
EVT_CHECKBOX(ID_CANCEL_CB, SearchCtrlWidgetsPage::OnToggleCancelButton)
EVT_CHECKBOX(ID_MENU_CB, SearchCtrlWidgetsPage::OnToggleSearchMenu)
+
+ EVT_SEARCHCTRL_SEARCH_BTN(wxID_ANY, SearchCtrlWidgetsPage::OnSearch)
+ EVT_SEARCHCTRL_CANCEL_BTN(wxID_ANY, SearchCtrlWidgetsPage::OnSearchCancel)
END_EVENT_TABLE()
// ============================================================================
#define FAMILY_CTRLS GENERIC_CTRLS
#endif
-IMPLEMENT_WIDGETS_PAGE(SearchCtrlWidgetsPage, _T("SearchCtrl"),
+IMPLEMENT_WIDGETS_PAGE(SearchCtrlWidgetsPage, wxT("SearchCtrl"),
FAMILY_CTRLS | EDITABLE_CTRLS | ALL_CTRLS);
SearchCtrlWidgetsPage::SearchCtrlWidgetsPage(WidgetsBookCtrl *book,
{
m_srchCtrl = NULL;
- Reset();
CreateControl();
m_menuBtnCheck = new wxCheckBox(this, ID_MENU_CB, wxT("Search menu"));
m_searchBtnCheck->SetValue(true);
-
+
box->Add(m_searchBtnCheck, 0, wxALL, 5);
box->Add(m_cancelBtnCheck, 0, wxALL, 5);
box->Add(m_menuBtnCheck, 0, wxALL, 5);
m_srchCtrl->Destroy();
int style = 0;
-
+
m_srchCtrl = new wxSearchCtrl(this, -1, wxEmptyString, wxDefaultPosition,
wxSize(150, -1), style);
}
-void SearchCtrlWidgetsPage::Reset()
-{
-}
+void SearchCtrlWidgetsPage::RecreateWidget()
+{
+ CreateControl();
+ GetSizer()->Add(m_srchCtrl, wxSizerFlags().Centre().TripleBorder());
+
+ Layout();
+}
wxMenu* SearchCtrlWidgetsPage::CreateTestMenu()
{
wxMenu* menu = new wxMenu;
const int SEARCH_MENU_SIZE = 5;
- wxMenuItem* menuItem = menu->Append(wxID_ANY, _T("Recent Searches"), wxT(""), wxITEM_NORMAL);
+ wxMenuItem* menuItem = menu->Append(wxID_ANY, wxT("Recent Searches"), wxT(""), wxITEM_NORMAL);
menuItem->Enable(false);
for ( int i = 0; i < SEARCH_MENU_SIZE; i++ )
{
wxString tipText = wxString::Format(wxT("tip %i"),i);
menu->Append(ID_SEARCHMENU+i, itemText, tipText, wxITEM_NORMAL);
}
-// target->Connect(
+// target->Connect(
// ID_SEARCHMENU,
// ID_SEARCHMENU+SEARCH_MENU_SIZE,
-// wxEVT_COMMAND_MENU_SELECTED,
+// wxEVT_MENU,
// wxCommandEventHandler(MySearchCtrl::OnSearchMenu)
// );
return menu;
void SearchCtrlWidgetsPage::OnToggleCancelButton(wxCommandEvent&)
{
m_srchCtrl->ShowCancelButton( m_cancelBtnCheck->GetValue() );
-
+
}
void SearchCtrlWidgetsPage::OnToggleSearchMenu(wxCommandEvent&)
m_srchCtrl->SetMenu(NULL);
}
+void SearchCtrlWidgetsPage::OnSearch(wxCommandEvent& event)
+{
+ wxLogMessage("Search button: search for \"%s\".", event.GetString());
+}
+
+void SearchCtrlWidgetsPage::OnSearchCancel(wxCommandEvent& event)
+{
+ wxLogMessage("Cancel button pressed.");
+
+ event.Skip();
+}
#endif // wxUSE_SEARCHCTRL