+ void OnMove( wxMoveEvent& event );
+
+ MyPanel *GetPanel() const { return m_panel; }
+
+private:
+#if wxUSE_STATUSBAR
+ void UpdateStatusBar(const wxPoint& pos, const wxSize& size)
+ {
+ if ( m_frameStatusBar )
+ {
+ wxString msg;
+ wxSize sizeAll = GetSize(),
+ sizeCl = GetClientSize();
+ msg.Printf(_("pos=(%d, %d), size=%dx%d or %dx%d (client=%dx%d)"),
+ pos.x, pos.y,
+ size.x, size.y,
+ sizeAll.x, sizeAll.y,
+ sizeCl.x, sizeCl.y);
+ SetStatusText(msg, 1);
+ }
+ }
+#endif // wxUSE_STATUSBAR
+
+ MyPanel *m_panel;
+
+ DECLARE_EVENT_TABLE()
+};
+
+// a button which intercepts double clicks (for testing...)
+class MyButton : public wxButton
+{
+public:
+ MyButton(wxWindow *parent,
+ wxWindowID id,
+ const wxString& label = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize)
+ : wxButton(parent, id, label, pos, size)
+ {
+ }
+
+ void OnDClick(wxMouseEvent& event)
+ {
+ wxLogMessage(_T("MyButton::OnDClick"));
+
+ event.Skip();
+ }
+
+private:
+ DECLARE_EVENT_TABLE()
+};
+
+// a combo which intercepts chars (to test Windows behaviour)
+class MyComboBox : public wxComboBox
+{
+public:
+ MyComboBox(wxWindow *parent, wxWindowID id,
+ const wxString& value = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxComboBoxNameStr)
+ : wxComboBox(parent, id, value, pos, size, n, choices, style,
+ validator, name) { }
+
+protected:
+ void OnChar(wxKeyEvent& event);
+ void OnKeyDown(wxKeyEvent& event);
+ void OnKeyUp(wxKeyEvent& event);
+ void OnFocusGot(wxFocusEvent& event)
+ {
+ wxLogMessage(_T("MyComboBox::OnFocusGot"));
+
+ event.Skip();
+ }
+
+private:
+ DECLARE_EVENT_TABLE()
+};
+
+// a radiobox which handles focus set/kill (for testing)
+class MyRadioBox : public wxRadioBox
+{
+public:
+ MyRadioBox(wxWindow *parent,
+ wxWindowID id,
+ const wxString& title = wxEmptyString,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ int n = 0, const wxString choices[] = NULL,
+ int majorDim = 1,
+ long style = wxRA_HORIZONTAL,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxRadioBoxNameStr)
+ : wxRadioBox(parent, id, title, pos, size, n, choices, majorDim,
+ style, validator, name) { SetForegroundColour(*wxRED); }
+
+protected:
+ void OnFocusGot(wxFocusEvent& event)
+ {
+ wxLogMessage(_T("MyRadioBox::OnFocusGot"));
+
+ event.Skip();
+ }
+
+ void OnFocusLost(wxFocusEvent& event)
+ {
+ wxLogMessage(_T("MyRadioBox::OnFocusLost"));
+
+ event.Skip();
+ }