Fix for building with limited ports/platforms.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -96,7 +96,9 @@ public:
|
||||
void UpdateClock();
|
||||
|
||||
// event handlers
|
||||
#if wxUSE_TIMER
|
||||
void OnTimer(wxTimerEvent& WXUNUSED(event)) { UpdateClock(); }
|
||||
#endif
|
||||
void OnSize(wxSizeEvent& event);
|
||||
void OnToggleClock(wxCommandEvent& event);
|
||||
void OnButton(wxCommandEvent& event);
|
||||
@@ -116,9 +118,13 @@ private:
|
||||
Field_Max
|
||||
};
|
||||
|
||||
#if wxUSE_TIMER
|
||||
wxTimer m_timer;
|
||||
#endif
|
||||
|
||||
#if wxUSE_CHECKBOX
|
||||
wxCheckBox *m_checkbox;
|
||||
#endif
|
||||
#ifdef USE_STATIC_BITMAP
|
||||
wxStaticBitmap *m_statbmp;
|
||||
#else
|
||||
@@ -234,9 +240,13 @@ END_EVENT_TABLE()
|
||||
|
||||
BEGIN_EVENT_TABLE(MyStatusBar, wxStatusBar)
|
||||
EVT_SIZE(MyStatusBar::OnSize)
|
||||
#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
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// Create a new application object: this macro will allow wxWidgets to create
|
||||
@@ -584,15 +594,23 @@ MyAboutDialog::MyAboutDialog(wxWindow *parent)
|
||||
#endif
|
||||
|
||||
MyStatusBar::MyStatusBar(wxWindow *parent)
|
||||
: wxStatusBar(parent, wxID_ANY), m_timer(this), m_checkbox(NULL)
|
||||
: wxStatusBar(parent, wxID_ANY)
|
||||
#if wxUSE_TIMER
|
||||
, m_timer(this)
|
||||
#endif
|
||||
#if wxUSE_CHECKBOX
|
||||
, m_checkbox(NULL)
|
||||
#endif
|
||||
{
|
||||
static const int widths[Field_Max] = { -1, 150, BITMAP_SIZE_X, 100 };
|
||||
|
||||
SetFieldsCount(Field_Max);
|
||||
SetStatusWidths(Field_Max, widths);
|
||||
|
||||
#if wxUSE_CHECKBOX
|
||||
m_checkbox = new wxCheckBox(this, StatusBar_Checkbox, _T("&Toggle clock"));
|
||||
m_checkbox->SetValue(true);
|
||||
#endif
|
||||
|
||||
#ifdef USE_STATIC_BITMAP
|
||||
m_statbmp = new wxStaticBitmap(this, wxID_ANY, wxIcon(green_xpm));
|
||||
@@ -602,7 +620,9 @@ MyStatusBar::MyStatusBar(wxWindow *parent)
|
||||
wxBU_EXACTFIT);
|
||||
#endif
|
||||
|
||||
#if wxUSE_TIMER
|
||||
m_timer.Start(1000);
|
||||
#endif
|
||||
|
||||
SetMinHeight(BITMAP_SIZE_Y);
|
||||
|
||||
@@ -615,10 +635,12 @@ MyStatusBar::MyStatusBar(wxWindow *parent)
|
||||
|
||||
MyStatusBar::~MyStatusBar()
|
||||
{
|
||||
#if wxUSE_TIMER
|
||||
if ( m_timer.IsRunning() )
|
||||
{
|
||||
m_timer.Stop();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
wxBitmap MyStatusBar::CreateBitmapForButton(bool on)
|
||||
@@ -640,13 +662,17 @@ wxBitmap MyStatusBar::CreateBitmapForButton(bool on)
|
||||
|
||||
void MyStatusBar::OnSize(wxSizeEvent& event)
|
||||
{
|
||||
#if wxUSE_CHECKBOX
|
||||
if ( !m_checkbox )
|
||||
return;
|
||||
#endif
|
||||
|
||||
wxRect rect;
|
||||
GetFieldRect(Field_Checkbox, rect);
|
||||
|
||||
#if wxUSE_CHECKBOX
|
||||
m_checkbox->SetSize(rect.x + 2, rect.y + 2, rect.width - 4, rect.height - 4);
|
||||
#endif
|
||||
|
||||
GetFieldRect(Field_Bitmap, rect);
|
||||
wxSize size = m_statbmp->GetSize();
|
||||
@@ -659,7 +685,9 @@ void MyStatusBar::OnSize(wxSizeEvent& event)
|
||||
|
||||
void MyStatusBar::OnButton(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
#if wxUSE_CHECKBOX
|
||||
m_checkbox->SetValue(!m_checkbox->GetValue());
|
||||
#endif
|
||||
|
||||
DoToggle();
|
||||
}
|
||||
@@ -671,9 +699,12 @@ void MyStatusBar::OnToggleClock(wxCommandEvent& WXUNUSED(event))
|
||||
|
||||
void MyStatusBar::DoToggle()
|
||||
{
|
||||
#if wxUSE_CHECKBOX
|
||||
if ( m_checkbox->GetValue() )
|
||||
{
|
||||
#if wxUSE_TIMER
|
||||
m_timer.Start(1000);
|
||||
#endif
|
||||
|
||||
#ifdef USE_STATIC_BITMAP
|
||||
m_statbmp->SetIcon(wxIcon(green_xpm));
|
||||
@@ -686,7 +717,9 @@ void MyStatusBar::DoToggle()
|
||||
}
|
||||
else // don't show clock
|
||||
{
|
||||
#if wxUSE_TIMER
|
||||
m_timer.Stop();
|
||||
#endif
|
||||
|
||||
#ifdef USE_STATIC_BITMAP
|
||||
m_statbmp->SetIcon(wxIcon(red_xpm));
|
||||
@@ -697,6 +730,7 @@ void MyStatusBar::DoToggle()
|
||||
|
||||
SetStatusText(wxEmptyString, Field_Clock);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void MyStatusBar::UpdateClock()
|
||||
|
Reference in New Issue
Block a user