1. added possibility to test setting tooltip for the widget
2. added WidgetPage::GetWidget2() for pages like the spin one which shows 2 widgets and not only one git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -77,6 +77,7 @@ public:
|
|||||||
virtual ~SpinBtnWidgetsPage(){};
|
virtual ~SpinBtnWidgetsPage(){};
|
||||||
|
|
||||||
virtual wxControl *GetWidget() const { return m_spinbtn; }
|
virtual wxControl *GetWidget() const { return m_spinbtn; }
|
||||||
|
virtual wxControl *GetWidget2() const { return m_spinctrl; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// event handlers
|
// event handlers
|
||||||
|
@@ -55,6 +55,9 @@ enum
|
|||||||
{
|
{
|
||||||
Widgets_ClearLog = 100,
|
Widgets_ClearLog = 100,
|
||||||
Widgets_Quit,
|
Widgets_Quit,
|
||||||
|
#if wxUSE_TOOLTIPS
|
||||||
|
Widgets_SetTooltip,
|
||||||
|
#endif // wxUSE_TOOLTIPS
|
||||||
Widgets_SetFgColour,
|
Widgets_SetFgColour,
|
||||||
Widgets_SetBgColour
|
Widgets_SetBgColour
|
||||||
};
|
};
|
||||||
@@ -91,6 +94,9 @@ protected:
|
|||||||
#endif // USE_LOG
|
#endif // USE_LOG
|
||||||
void OnExit(wxCommandEvent& event);
|
void OnExit(wxCommandEvent& event);
|
||||||
#if wxUSE_MENUS
|
#if wxUSE_MENUS
|
||||||
|
#if wxUSE_TOOLTIPS
|
||||||
|
void OnSetTooltip(wxCommandEvent& event);
|
||||||
|
#endif // wxUSE_TOOLTIPS
|
||||||
void OnSetFgCol(wxCommandEvent& event);
|
void OnSetFgCol(wxCommandEvent& event);
|
||||||
void OnSetBgCol(wxCommandEvent& event);
|
void OnSetBgCol(wxCommandEvent& event);
|
||||||
#endif // wxUSE_MENUS
|
#endif // wxUSE_MENUS
|
||||||
@@ -204,9 +210,14 @@ BEGIN_EVENT_TABLE(WidgetsFrame, wxFrame)
|
|||||||
#endif // USE_LOG
|
#endif // USE_LOG
|
||||||
EVT_BUTTON(Widgets_Quit, WidgetsFrame::OnExit)
|
EVT_BUTTON(Widgets_Quit, WidgetsFrame::OnExit)
|
||||||
|
|
||||||
EVT_MENU(wxID_EXIT, WidgetsFrame::OnExit)
|
#if wxUSE_TOOLTIPS
|
||||||
|
EVT_MENU(Widgets_SetTooltip, WidgetsFrame::OnSetTooltip)
|
||||||
|
#endif // wxUSE_TOOLTIPS
|
||||||
|
|
||||||
EVT_MENU(Widgets_SetFgColour, WidgetsFrame::OnSetFgCol)
|
EVT_MENU(Widgets_SetFgColour, WidgetsFrame::OnSetFgCol)
|
||||||
EVT_MENU(Widgets_SetBgColour, WidgetsFrame::OnSetBgCol)
|
EVT_MENU(Widgets_SetBgColour, WidgetsFrame::OnSetBgCol)
|
||||||
|
|
||||||
|
EVT_MENU(wxID_EXIT, WidgetsFrame::OnExit)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
@@ -275,6 +286,10 @@ WidgetsFrame::WidgetsFrame(const wxString& title)
|
|||||||
// create the menubar
|
// create the menubar
|
||||||
wxMenuBar *mbar = new wxMenuBar;
|
wxMenuBar *mbar = new wxMenuBar;
|
||||||
wxMenu *menuWidget = new wxMenu;
|
wxMenu *menuWidget = new wxMenu;
|
||||||
|
#if wxUSE_TOOLTIPS
|
||||||
|
menuWidget->Append(Widgets_SetTooltip, _T("Set &tooltip...\tCtrl-T"));
|
||||||
|
menuWidget->AppendSeparator();
|
||||||
|
#endif // wxUSE_TOOLTIPS
|
||||||
menuWidget->Append(Widgets_SetFgColour, _T("Set &foreground...\tCtrl-F"));
|
menuWidget->Append(Widgets_SetFgColour, _T("Set &foreground...\tCtrl-F"));
|
||||||
menuWidget->Append(Widgets_SetBgColour, _T("Set &background...\tCtrl-B"));
|
menuWidget->Append(Widgets_SetBgColour, _T("Set &background...\tCtrl-B"));
|
||||||
menuWidget->AppendSeparator();
|
menuWidget->AppendSeparator();
|
||||||
@@ -416,6 +431,33 @@ void WidgetsFrame::OnButtonClearLog(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
#if wxUSE_MENUS
|
#if wxUSE_MENUS
|
||||||
|
|
||||||
|
#if wxUSE_TOOLTIPS
|
||||||
|
|
||||||
|
void WidgetsFrame::OnSetTooltip(wxCommandEvent& WXUNUSED(event))
|
||||||
|
{
|
||||||
|
static wxString s_tip = _T("This is a tooltip");
|
||||||
|
|
||||||
|
wxString s = wxGetTextFromUser
|
||||||
|
(
|
||||||
|
_T("Tooltip text: "),
|
||||||
|
_T("Widgets sample"),
|
||||||
|
s_tip,
|
||||||
|
this
|
||||||
|
);
|
||||||
|
|
||||||
|
if ( s.empty() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
WidgetsPage *page = wxStaticCast(m_book->GetCurrentPage(), WidgetsPage);
|
||||||
|
page->GetWidget()->SetToolTip(s_tip = s);
|
||||||
|
|
||||||
|
wxControl *ctrl2 = page->GetWidget2();
|
||||||
|
if ( ctrl2 )
|
||||||
|
ctrl2->SetToolTip(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_TOOLTIPS
|
||||||
|
|
||||||
void WidgetsFrame::OnSetFgCol(wxCommandEvent& WXUNUSED(event))
|
void WidgetsFrame::OnSetFgCol(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
#if wxUSE_COLOURDLG
|
#if wxUSE_COLOURDLG
|
||||||
@@ -428,8 +470,15 @@ void WidgetsFrame::OnSetFgCol(wxCommandEvent& WXUNUSED(event))
|
|||||||
WidgetsPage *page = wxStaticCast(m_book->GetCurrentPage(), WidgetsPage);
|
WidgetsPage *page = wxStaticCast(m_book->GetCurrentPage(), WidgetsPage);
|
||||||
page->GetWidget()->SetForegroundColour(m_colFg);
|
page->GetWidget()->SetForegroundColour(m_colFg);
|
||||||
page->GetWidget()->Refresh();
|
page->GetWidget()->Refresh();
|
||||||
|
|
||||||
|
wxControl *ctrl2 = page->GetWidget2();
|
||||||
|
if ( ctrl2 )
|
||||||
|
{
|
||||||
|
ctrl2->SetForegroundColour(m_colFg);
|
||||||
|
ctrl2->Refresh();
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
wxLogMessage(_T("None colour dialog available in current build."));
|
wxLogMessage(_T("Colour selection dialog not available in current build."));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -445,8 +494,15 @@ void WidgetsFrame::OnSetBgCol(wxCommandEvent& WXUNUSED(event))
|
|||||||
WidgetsPage *page = wxStaticCast(m_book->GetCurrentPage(), WidgetsPage);
|
WidgetsPage *page = wxStaticCast(m_book->GetCurrentPage(), WidgetsPage);
|
||||||
page->GetWidget()->SetBackgroundColour(m_colBg);
|
page->GetWidget()->SetBackgroundColour(m_colBg);
|
||||||
page->GetWidget()->Refresh();
|
page->GetWidget()->Refresh();
|
||||||
|
|
||||||
|
wxControl *ctrl2 = page->GetWidget2();
|
||||||
|
if ( ctrl2 )
|
||||||
|
{
|
||||||
|
ctrl2->SetBackgroundColour(m_colFg);
|
||||||
|
ctrl2->Refresh();
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
wxLogMessage(_T("None colour dialog available in current build."));
|
wxLogMessage(_T("Colour selection dialog not available in current build."));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -42,6 +42,9 @@ public:
|
|||||||
// return the control shown by this page
|
// return the control shown by this page
|
||||||
virtual wxControl *GetWidget() const = 0;
|
virtual wxControl *GetWidget() const = 0;
|
||||||
|
|
||||||
|
// some pages show 2 controls, in this case override this one as well
|
||||||
|
virtual wxControl *GetWidget2() const { return NULL; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// several helper functions for page creation
|
// several helper functions for page creation
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user