The sample code was complicated by having USE_STATIC_BITMAP and using
wxStaticBitmap or wxBitmapButton depending on it. Neither important for
a wxStatusBar sample so just use wxStaticBitmap always and make the code
simpler and more readable.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61990
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#include "../sample.xpm"
#endif
#include "../sample.xpm"
#endif
-
-// define this for the platforms which don't support wxBitmapButton (such as
-// Motif), else a wxBitmapButton will be used
-#ifdef __WXMOTIF__
- #define USE_STATIC_BITMAP
-#endif
-
//#define USE_MDI_PARENT_FRAME 1
//#define USE_MDI_PARENT_FRAME 1
#ifdef USE_MDI_PARENT_FRAME
#include "wx/mdi.h"
#endif // USE_MDI_PARENT_FRAME
#ifdef USE_MDI_PARENT_FRAME
#include "wx/mdi.h"
#endif // USE_MDI_PARENT_FRAME
// resources
// ----------------------------------------------------------------------------
// resources
// ----------------------------------------------------------------------------
-#ifdef USE_STATIC_BITMAP
- #include "green.xpm"
- #include "red.xpm"
-#endif // USE_STATIC_BITMAP
+#include "green.xpm"
+#include "red.xpm"
// ----------------------------------------------------------------------------
// private classes
// ----------------------------------------------------------------------------
// private classes
#endif
void OnSize(wxSizeEvent& event);
void OnToggleClock(wxCommandEvent& event);
#endif
void OnSize(wxSizeEvent& event);
void OnToggleClock(wxCommandEvent& event);
- void OnButton(wxCommandEvent& event);
private:
// toggle the state of the status bar controls
void DoToggle();
private:
// toggle the state of the status bar controls
void DoToggle();
- wxBitmap CreateBitmapForButton(bool on = false);
-
#if wxUSE_CHECKBOX
wxCheckBox *m_checkbox;
#endif
#if wxUSE_CHECKBOX
wxCheckBox *m_checkbox;
#endif
-#ifdef USE_STATIC_BITMAP
wxStaticBitmap *m_statbmp;
wxStaticBitmap *m_statbmp;
-#else
- wxBitmapButton *m_statbmp;
-#endif
#if wxUSE_CHECKBOX
EVT_CHECKBOX(StatusBar_Checkbox, MyStatusBar::OnToggleClock)
#endif
#if wxUSE_CHECKBOX
EVT_CHECKBOX(StatusBar_Checkbox, MyStatusBar::OnToggleClock)
#endif
- EVT_BUTTON(wxID_ANY, MyStatusBar::OnButton)
#if wxUSE_TIMER
EVT_TIMER(wxID_ANY, MyStatusBar::OnTimer)
#endif
#if wxUSE_TIMER
EVT_TIMER(wxID_ANY, MyStatusBar::OnTimer)
#endif
m_checkbox->SetValue(true);
#endif
m_checkbox->SetValue(true);
#endif
-#ifdef USE_STATIC_BITMAP
m_statbmp = new wxStaticBitmap(this, wxID_ANY, wxIcon(green_xpm));
m_statbmp = new wxStaticBitmap(this, wxID_ANY, wxIcon(green_xpm));
-#else
- m_statbmp = new wxBitmapButton(this, wxID_ANY, CreateBitmapForButton(),
- wxDefaultPosition, wxDefaultSize,
- wxBU_EXACTFIT);
-#endif
#if wxUSE_TIMER
m_timer.Start(1000);
#if wxUSE_TIMER
m_timer.Start(1000);
-#define BMP_BUTTON_SIZE_X 10
-#define BMP_BUTTON_SIZE_Y 10
-
-wxBitmap MyStatusBar::CreateBitmapForButton(bool on)
-{
- wxBitmap bitmap(BMP_BUTTON_SIZE_X+1, BMP_BUTTON_SIZE_Y+1);
- wxMemoryDC dc;
- dc.SelectObject(bitmap);
- dc.SetBrush(on ? *wxGREEN_BRUSH : *wxRED_BRUSH);
- dc.SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT);
- dc.Clear();
- dc.DrawEllipse(0, 0, BMP_BUTTON_SIZE_X, BMP_BUTTON_SIZE_Y);
- dc.SelectObject(wxNullBitmap);
-
- return bitmap;
-}
-
void MyStatusBar::OnSize(wxSizeEvent& event)
{
#if wxUSE_CHECKBOX
void MyStatusBar::OnSize(wxSizeEvent& event)
{
#if wxUSE_CHECKBOX
-void MyStatusBar::OnButton(wxCommandEvent& WXUNUSED(event))
-{
-#if wxUSE_CHECKBOX
- m_checkbox->SetValue(!m_checkbox->GetValue());
-#endif
-
- DoToggle();
-}
-
void MyStatusBar::OnToggleClock(wxCommandEvent& WXUNUSED(event))
{
DoToggle();
void MyStatusBar::OnToggleClock(wxCommandEvent& WXUNUSED(event))
{
DoToggle();
m_timer.Start(1000);
#endif
m_timer.Start(1000);
#endif
-#ifdef USE_STATIC_BITMAP
m_statbmp->SetIcon(wxIcon(green_xpm));
m_statbmp->SetIcon(wxIcon(green_xpm));
-#else
- m_statbmp->SetBitmapLabel(CreateBitmapForButton(false));
- m_statbmp->Refresh();
-#endif
-#ifdef USE_STATIC_BITMAP
m_statbmp->SetIcon(wxIcon(red_xpm));
m_statbmp->SetIcon(wxIcon(red_xpm));
-#else
- m_statbmp->SetBitmapLabel(CreateBitmapForButton(true));
- m_statbmp->Refresh();
-#endif
SetStatusText(wxEmptyString, Field_Clock);
}
SetStatusText(wxEmptyString, Field_Clock);
}
+#endif // wxUSE_CHECKBOX
}
void MyStatusBar::UpdateClock()
}
void MyStatusBar::UpdateClock()