From 13cd17453c3019708591605f91ea3b218e329ccc Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 9 May 2002 00:28:36 +0000 Subject: [PATCH] test that static text and box get the click events git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/widgets/static.cpp | 64 +++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 14 deletions(-) diff --git a/samples/widgets/static.cpp b/samples/widgets/static.cpp index 7c230e1f9c..ba1b4d0ca9 100644 --- a/samples/widgets/static.cpp +++ b/samples/widgets/static.cpp @@ -41,7 +41,6 @@ #include "wx/statline.h" #include "widgets.h" -#if 1 #include "icons/statbox.xpm" // ---------------------------------------------------------------------------- @@ -73,25 +72,63 @@ enum StaticVAlign_Max }; -class DerivedStaticText: public wxStaticText +// ---------------------------------------------------------------------------- +// MyStaticText and MyStaticBox +// ---------------------------------------------------------------------------- + +// these 2 classes simply show that the static controls can get the mouse +// clicks too -- this used to be broken under MSW but works now + +class MyStaticText : public wxStaticText { public: - DerivedStaticText(wxWindow* parent, wxWindowID id, const wxString& label, - const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = 0): - wxStaticText(parent, id, label, pos, size, style) + MyStaticText(wxWindow* parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0) + : wxStaticText(parent, id, label, pos, size, style) { } + +protected: void OnMouseEvent(wxMouseEvent& event) { - if (event.LeftDown()) - wxMessageBox(wxT("Clicked on static text")); + wxLogMessage(wxT("Clicked on static text")); } -DECLARE_EVENT_TABLE() + + DECLARE_EVENT_TABLE() }; -BEGIN_EVENT_TABLE(DerivedStaticText, wxStaticText) - EVT_MOUSE_EVENTS(DerivedStaticText::OnMouseEvent) +class MyStaticBox : public wxStaticBox +{ +public: + MyStaticBox(wxWindow* parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0) + : wxStaticBox(parent, id, label, pos, size, style) + { + } + +protected: + void OnMouseEvent(wxMouseEvent& event) + { + wxLogMessage(wxT("Clicked on static box")); + } + + DECLARE_EVENT_TABLE() +}; + +BEGIN_EVENT_TABLE(MyStaticText, wxStaticText) + EVT_LEFT_UP(MyStaticText::OnMouseEvent) +END_EVENT_TABLE() + +BEGIN_EVENT_TABLE(MyStaticBox, wxStaticBox) + EVT_LEFT_UP(MyStaticBox::OnMouseEvent) END_EVENT_TABLE() // ---------------------------------------------------------------------------- @@ -339,13 +376,13 @@ void StaticWidgetsPage::CreateStatic() flagsText |= align; flagsBox |= align; - wxStaticBox *box = new wxStaticBox(this, -1, m_textBox->GetValue(), + wxStaticBox *box = new MyStaticBox(this, -1, m_textBox->GetValue(), wxDefaultPosition, wxDefaultSize, flagsBox); m_sizerStatBox = new wxStaticBoxSizer(box, isVert ? wxHORIZONTAL : wxVERTICAL); - m_statText = new DerivedStaticText(this, -1, m_textLabel->GetValue(), + m_statText = new MyStaticText(this, -1, m_textLabel->GetValue(), wxDefaultPosition, wxDefaultSize, flagsText); @@ -388,4 +425,3 @@ void StaticWidgetsPage::OnButtonLabelText(wxCommandEvent& event) m_statText->SetLabel(m_textLabel->GetValue()); } -#endif \ No newline at end of file