added tests for setting fg/bg colours

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2004-11-19 19:03:04 +00:00
parent 21db32c129
commit 195df7a767
13 changed files with 86 additions and 4 deletions

View File

@ -80,6 +80,8 @@ public:
ButtonWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~ButtonWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_button; }
protected:
// event handlers
void OnCheckOrRadioBox(wxCommandEvent& event);

View File

@ -76,6 +76,8 @@ public:
CheckBoxWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~CheckBoxWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_checkbox; }
protected:
// event handlers
void OnCheckBox(wxCommandEvent& event);

View File

@ -86,6 +86,8 @@ class ComboboxWidgetsPage : public WidgetsPage
public:
ComboboxWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual wxControl *GetWidget() const { return m_combobox; }
protected:
// event handlers
void OnButtonReset(wxCommandEvent& event);

View File

@ -74,6 +74,8 @@ public:
GaugeWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~GaugeWidgetsPage();
virtual wxControl *GetWidget() const { return m_gauge; }
protected:
// event handlers
void OnButtonReset(wxCommandEvent& event);

View File

@ -78,6 +78,8 @@ class ListboxWidgetsPage : public WidgetsPage
public:
ListboxWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual wxControl *GetWidget() const { return m_lbox; }
protected:
// event handlers
void OnButtonReset(wxCommandEvent& event);

View File

@ -93,6 +93,8 @@ public:
NotebookWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~NotebookWidgetsPage();
virtual wxControl *GetWidget() const { return m_notebook; }
protected:
// event handlers
void OnPageChanging(wxNotebookEvent& event);

View File

@ -79,6 +79,8 @@ public:
RadioWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~RadioWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_radio; }
protected:
// event handlers
void OnCheckOrRadioBox(wxCommandEvent& event);

View File

@ -90,6 +90,8 @@ public:
SliderWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~SliderWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_slider; }
protected:
// event handlers
void OnButtonReset(wxCommandEvent& event);

View File

@ -74,6 +74,8 @@ public:
SpinBtnWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~SpinBtnWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_spinbtn; }
protected:
// event handlers
void OnButtonReset(wxCommandEvent& event);

View File

@ -142,6 +142,8 @@ public:
StaticWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~StaticWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_statText; }
protected:
// event handlers
void OnCheckOrRadioBox(wxCommandEvent& event);

View File

@ -116,6 +116,8 @@ public:
TextWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~TextWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_text; }
protected:
// create an info text contorl
wxTextCtrl *CreateInfoText();

View File

@ -39,6 +39,7 @@
#include "wx/notebook.h"
#include "wx/sizer.h"
#include "wx/colordlg.h"
#include "widgets.h"
@ -50,7 +51,9 @@
enum
{
Widgets_ClearLog = 100,
Widgets_Quit
Widgets_Quit,
Widgets_SetFgColour,
Widgets_SetBgColour
};
// ----------------------------------------------------------------------------
@ -83,7 +86,11 @@ protected:
#if wxUSE_LOG
void OnButtonClearLog(wxCommandEvent& event);
#endif // wxUSE_LOG
void OnButtonQuit(wxCommandEvent& event);
void OnExit(wxCommandEvent& event);
#if wxUSE_MENUS
void OnSetFgCol(wxCommandEvent& event);
void OnSetBgCol(wxCommandEvent& event);
#endif // wxUSE_MENUS
// initialize the notebook: add all pages to it
void InitNotebook();
@ -106,6 +113,12 @@ private:
// and the image list for it
wxImageList *m_imaglist;
#if wxUSE_MENUS
// last chosen fg/bg colours
wxColour m_colFg,
m_colBg;
#endif // wxUSE_MENUS
// any class wishing to process wxWidgets events must use this macro
DECLARE_EVENT_TABLE()
};
@ -186,7 +199,11 @@ BEGIN_EVENT_TABLE(WidgetsFrame, wxFrame)
#if wxUSE_LOG
EVT_BUTTON(Widgets_ClearLog, WidgetsFrame::OnButtonClearLog)
#endif // wxUSE_LOG
EVT_BUTTON(Widgets_Quit, WidgetsFrame::OnButtonQuit)
EVT_BUTTON(Widgets_Quit, WidgetsFrame::OnExit)
EVT_MENU(wxID_EXIT, WidgetsFrame::OnExit)
EVT_MENU(Widgets_SetFgColour, WidgetsFrame::OnSetFgCol)
EVT_MENU(Widgets_SetBgColour, WidgetsFrame::OnSetBgCol)
END_EVENT_TABLE()
// ============================================================================
@ -251,6 +268,18 @@ WidgetsFrame::WidgetsFrame(const wxString& title)
m_notebook = (wxNotebook *)NULL;
m_imaglist = (wxImageList *)NULL;
#if wxUSE_MENUS
// create the menubar
wxMenuBar *mbar = new wxMenuBar;
wxMenu *menuWidget = new wxMenu;
menuWidget->Append(Widgets_SetFgColour, _T("Set &foreground...\tCtrl-F"));
menuWidget->Append(Widgets_SetBgColour, _T("Set &background...\tCtrl-B"));
menuWidget->AppendSeparator();
menuWidget->Append(wxID_EXIT, _T("&Quit\tCtrl-Q"));
mbar->Append(menuWidget, _T("&Widget"));
SetMenuBar(mbar);
#endif // wxUSE_MENUS
// create controls
m_panel = new wxPanel(this, wxID_ANY,
wxDefaultPosition, wxDefaultSize, wxCLIP_CHILDREN);
@ -354,7 +383,7 @@ WidgetsFrame::~WidgetsFrame()
// WidgetsFrame event handlers
// ----------------------------------------------------------------------------
void WidgetsFrame::OnButtonQuit(wxCommandEvent& WXUNUSED(event))
void WidgetsFrame::OnExit(wxCommandEvent& WXUNUSED(event))
{
Close();
}
@ -366,6 +395,34 @@ void WidgetsFrame::OnButtonClearLog(wxCommandEvent& WXUNUSED(event))
}
#endif // wxUSE_LOG
#if wxUSE_MENUS
void WidgetsFrame::OnSetFgCol(wxCommandEvent& WXUNUSED(event))
{
wxColour col = wxGetColourFromUser(this, m_colFg);
if ( !col.Ok() )
return;
m_colFg = col;
WidgetsPage *page = wxStaticCast(m_notebook->GetCurrentPage(), WidgetsPage);
page->GetWidget()->SetForegroundColour(m_colFg);
}
void WidgetsFrame::OnSetBgCol(wxCommandEvent& WXUNUSED(event))
{
wxColour col = wxGetColourFromUser(this, m_colBg);
if ( !col.Ok() )
return;
m_colBg = col;
WidgetsPage *page = wxStaticCast(m_notebook->GetCurrentPage(), WidgetsPage);
page->GetWidget()->SetBackgroundColour(m_colBg);
}
#endif // wxUSE_MENUS
// ----------------------------------------------------------------------------
// WidgetsPageInfo
// ----------------------------------------------------------------------------

View File

@ -33,6 +33,9 @@ class WidgetsPage : public wxPanel
public:
WidgetsPage(wxNotebook *notebook);
// return the control shown by this page
virtual wxControl *GetWidget() const = 0;
protected:
// several helper functions for page creation