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); ButtonWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
virtual ~ButtonWidgetsPage(){}; virtual ~ButtonWidgetsPage(){};
virtual wxControl *GetWidget() const { return m_button; }
protected: protected:
// event handlers // event handlers
void OnCheckOrRadioBox(wxCommandEvent& event); void OnCheckOrRadioBox(wxCommandEvent& event);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -39,6 +39,7 @@
#include "wx/notebook.h" #include "wx/notebook.h"
#include "wx/sizer.h" #include "wx/sizer.h"
#include "wx/colordlg.h"
#include "widgets.h" #include "widgets.h"
@@ -50,7 +51,9 @@
enum enum
{ {
Widgets_ClearLog = 100, Widgets_ClearLog = 100,
Widgets_Quit Widgets_Quit,
Widgets_SetFgColour,
Widgets_SetBgColour
}; };
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -83,7 +86,11 @@ protected:
#if wxUSE_LOG #if wxUSE_LOG
void OnButtonClearLog(wxCommandEvent& event); void OnButtonClearLog(wxCommandEvent& event);
#endif // wxUSE_LOG #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 // initialize the notebook: add all pages to it
void InitNotebook(); void InitNotebook();
@@ -106,6 +113,12 @@ private:
// and the image list for it // and the image list for it
wxImageList *m_imaglist; 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 // any class wishing to process wxWidgets events must use this macro
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
}; };
@@ -186,7 +199,11 @@ BEGIN_EVENT_TABLE(WidgetsFrame, wxFrame)
#if wxUSE_LOG #if wxUSE_LOG
EVT_BUTTON(Widgets_ClearLog, WidgetsFrame::OnButtonClearLog) EVT_BUTTON(Widgets_ClearLog, WidgetsFrame::OnButtonClearLog)
#endif // wxUSE_LOG #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() END_EVENT_TABLE()
// ============================================================================ // ============================================================================
@@ -251,6 +268,18 @@ WidgetsFrame::WidgetsFrame(const wxString& title)
m_notebook = (wxNotebook *)NULL; m_notebook = (wxNotebook *)NULL;
m_imaglist = (wxImageList *)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 // create controls
m_panel = new wxPanel(this, wxID_ANY, m_panel = new wxPanel(this, wxID_ANY,
wxDefaultPosition, wxDefaultSize, wxCLIP_CHILDREN); wxDefaultPosition, wxDefaultSize, wxCLIP_CHILDREN);
@@ -354,7 +383,7 @@ WidgetsFrame::~WidgetsFrame()
// WidgetsFrame event handlers // WidgetsFrame event handlers
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
void WidgetsFrame::OnButtonQuit(wxCommandEvent& WXUNUSED(event)) void WidgetsFrame::OnExit(wxCommandEvent& WXUNUSED(event))
{ {
Close(); Close();
} }
@@ -366,6 +395,34 @@ void WidgetsFrame::OnButtonClearLog(wxCommandEvent& WXUNUSED(event))
} }
#endif // wxUSE_LOG #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 // WidgetsPageInfo
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

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