/////////////////////////////////////////////////////////////////////////////
-// Program: wxWindows Widgets Sample
+// Program: wxWidgets Widgets Sample
// Name: button.cpp
// Purpose: Part of the widgets sample showing wxButton
// Author: Vadim Zeitlin
// for all others, include the necessary headers
#ifndef WX_PRECOMP
+ #include "wx/app.h"
#include "wx/log.h"
#include "wx/button.h"
#include "wx/textctrl.h"
#endif
+#include "wx/artprov.h"
#include "wx/sizer.h"
#include "widgets.h"
class ButtonWidgetsPage : public WidgetsPage
{
public:
- ButtonWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
- virtual ~ButtonWidgetsPage();
+ ButtonWidgetsPage(wxBookCtrl *book, wxImageList *imaglist);
+ virtual ~ButtonWidgetsPage(){};
+
+ virtual wxControl *GetWidget() const { return m_button; }
protected:
// event handlers
wxRadioBox *m_radioHAlign,
*m_radioVAlign;
- // the gauge itself and the sizer it is in
+ // the button itself and the sizer it is in
wxButton *m_button;
wxSizer *m_sizerButton;
wxTextCtrl *m_textLabel;
private:
- DECLARE_EVENT_TABLE();
- DECLARE_WIDGETS_PAGE(ButtonWidgetsPage);
+ DECLARE_EVENT_TABLE()
+ DECLARE_WIDGETS_PAGE(ButtonWidgetsPage)
};
// ----------------------------------------------------------------------------
EVT_BUTTON(ButtonPage_Reset, ButtonWidgetsPage::OnButtonReset)
EVT_BUTTON(ButtonPage_ChangeLabel, ButtonWidgetsPage::OnButtonChangeLabel)
- EVT_CHECKBOX(-1, ButtonWidgetsPage::OnCheckOrRadioBox)
- EVT_RADIOBOX(-1, ButtonWidgetsPage::OnCheckOrRadioBox)
+ EVT_CHECKBOX(wxID_ANY, ButtonWidgetsPage::OnCheckOrRadioBox)
+ EVT_RADIOBOX(wxID_ANY, ButtonWidgetsPage::OnCheckOrRadioBox)
END_EVENT_TABLE()
// ============================================================================
IMPLEMENT_WIDGETS_PAGE(ButtonWidgetsPage, _T("Button"));
-ButtonWidgetsPage::ButtonWidgetsPage(wxNotebook *notebook,
- wxImageList *imaglist)
- : WidgetsPage(notebook)
+ButtonWidgetsPage::ButtonWidgetsPage(wxBookCtrl *book,
+ wxImageList *imaglist)
+ : WidgetsPage(book)
{
imaglist->Add(wxBitmap(button_xpm));
wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL);
// left pane
- wxStaticBox *box = new wxStaticBox(this, -1, _T("&Set style"));
+ wxStaticBox *box = new wxStaticBox(this, wxID_ANY, _T("&Set style"));
wxSizer *sizerLeft = new wxStaticBoxSizer(box, wxVERTICAL);
m_chkDefault = CreateCheckBoxAndAddToSizer(sizerLeft, _T("&Default"));
#ifndef __WXUNIVERSAL__
- // only wxUniv currently supoprts buttons with images
+ // only wxUniv currently supports buttons with images
m_chkImage->Disable();
#endif // !wxUniv
_T("bottom"),
};
- m_radioHAlign = new wxRadioBox(this, -1, _T("&Horz alignment"),
+ m_radioHAlign = new wxRadioBox(this, wxID_ANY, _T("&Horz alignment"),
wxDefaultPosition, wxDefaultSize,
WXSIZEOF(halign), halign);
- m_radioVAlign = new wxRadioBox(this, -1, _T("&Vert alignment"),
+ m_radioVAlign = new wxRadioBox(this, wxID_ANY, _T("&Vert alignment"),
wxDefaultPosition, wxDefaultSize,
WXSIZEOF(valign), valign);
sizerLeft->Add(btn, 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15);
// middle pane
- wxStaticBox *box2 = new wxStaticBox(this, -1, _T("&Operations"));
+ wxStaticBox *box2 = new wxStaticBox(this, wxID_ANY, _T("&Operations"));
wxSizer *sizerMiddle = new wxStaticBoxSizer(box2, wxVERTICAL);
wxSizer *sizerRow = CreateSizerWithTextAndButton(ButtonPage_ChangeLabel,
_T("Change label"),
- -1,
+ wxID_ANY,
&m_textLabel);
sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
sizerRight->Add(0, 0, 1, wxCENTRE);
sizerRight->Add(m_button, 1, wxCENTRE);
sizerRight->Add(0, 0, 1, wxCENTRE);
- sizerRight->SetMinSize(250, 0);
+ sizerRight->SetMinSize(150, 0);
m_sizerButton = sizerRight; // save it to modify it later
// the 3 panes panes compose the window
// final initializations
Reset();
- SetAutoLayout(TRUE);
SetSizer(sizerTop);
sizerTop->Fit(this);
}
-ButtonWidgetsPage::~ButtonWidgetsPage()
-{
-}
-
// ----------------------------------------------------------------------------
// operations
// ----------------------------------------------------------------------------
void ButtonWidgetsPage::Reset()
{
- m_chkFit->SetValue(TRUE);
- m_chkImage->SetValue(FALSE);
- m_chkDefault->SetValue(FALSE);
+ m_chkFit->SetValue(true);
+ m_chkImage->SetValue(false);
+ m_chkDefault->SetValue(false);
m_radioHAlign->SetSelection(ButtonHAlign_Centre);
m_radioVAlign->SetSelection(ButtonVAlign_Centre);
size_t count = m_sizerButton->GetChildren().GetCount();
for ( size_t n = 0; n < count; n++ )
{
- m_sizerButton->Remove(0);
+ m_sizerButton->Remove( 0 );
}
delete m_button;
switch ( m_radioHAlign->GetSelection() )
{
case ButtonHAlign_Left:
- flags |= wxALIGN_LEFT;
+ flags |= wxBU_LEFT;
break;
default:
// fall through
case ButtonHAlign_Centre:
- flags |= wxALIGN_CENTRE_HORIZONTAL;
break;
case ButtonHAlign_Right:
- flags |= wxALIGN_RIGHT;
+ flags |= wxBU_RIGHT;
break;
}
switch ( m_radioVAlign->GetSelection() )
{
case ButtonVAlign_Top:
- flags |= wxALIGN_TOP;
+ flags |= wxBU_TOP;
break;
default:
break;
case ButtonVAlign_Bottom:
- flags |= wxALIGN_BOTTOM;
+ flags |= wxBU_BOTTOM;
break;
}
#ifdef __WXUNIVERSAL__
if ( m_chkImage->GetValue() )
{
- m_button->SetImageLabel(wxTheApp->GetStdIcon(wxICON_INFORMATION));
+ m_button->SetImageLabel(wxArtProvider::GetIcon(wxART_INFORMATION));
}
#endif // wxUniv
CreateButton();
}
-void ButtonWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)
+void ButtonWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event))
{
CreateButton();
}
m_button->SetLabel(m_textLabel->GetValue());
}
-void ButtonWidgetsPage::OnButton(wxCommandEvent& event)
+void ButtonWidgetsPage::OnButton(wxCommandEvent& WXUNUSED(event))
{
wxLogMessage(_T("Test button clicked."));
}