X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3571e1add4e6ceb45ad88c224c432609f837a8dd..cd15bcaf50ead53ccf9d50965312f0dc754affb4:/samples/widgets/button.cpp diff --git a/samples/widgets/button.cpp b/samples/widgets/button.cpp index 2c685e42ca..4376e39ae2 100644 --- a/samples/widgets/button.cpp +++ b/samples/widgets/button.cpp @@ -128,8 +128,14 @@ protected: *m_chkTextAndBitmap, *m_chkFit, *m_chkAuthNeeded, +#if wxUSE_COMMANDLINKBUTTON *m_chkCommandLink, - *m_chkDefault; +#endif // wxUSE_COMMANDLINKBUTTON +#if wxUSE_MARKUP + *m_chkUseMarkup, +#endif // wxUSE_MARKUP + *m_chkDefault, + *m_chkUseBitmapClass; // more checkboxes for wxBitmapButton only wxCheckBox *m_chkUsePressed, @@ -204,8 +210,14 @@ ButtonWidgetsPage::ButtonWidgetsPage(WidgetsBookCtrl *book, m_chkTextAndBitmap = m_chkFit = m_chkAuthNeeded = +#if wxUSE_COMMANDLINKBUTTON m_chkCommandLink = +#endif // wxUSE_COMMANDLINKBUTTON +#if wxUSE_MARKUP + m_chkUseMarkup = +#endif // wxUSE_MARKUP m_chkDefault = + m_chkUseBitmapClass = m_chkUsePressed = m_chkUseFocused = m_chkUseCurrent = @@ -237,8 +249,15 @@ void ButtonWidgetsPage::CreateContent() #if wxUSE_COMMANDLINKBUTTON m_chkCommandLink = CreateCheckBoxAndAddToSizer(sizerLeft, wxT("Use command &link button")); #endif +#if wxUSE_MARKUP + m_chkUseMarkup = CreateCheckBoxAndAddToSizer(sizerLeft, "Interpret &markup"); +#endif // wxUSE_MARKUP m_chkDefault = CreateCheckBoxAndAddToSizer(sizerLeft, wxT("&Default")); + m_chkUseBitmapClass = CreateCheckBoxAndAddToSizer(sizerLeft, + "Use wxBitmapButton"); + m_chkUseBitmapClass->SetValue(true); + sizerLeft->AddSpacer(5); wxSizer *sizerUseLabels = @@ -347,6 +366,10 @@ void ButtonWidgetsPage::Reset() #if wxUSE_COMMANDLINKBUTTON m_chkCommandLink->SetValue(false); #endif +#if wxUSE_MARKUP + m_chkUseMarkup->SetValue(false); +#endif // wxUSE_MARKUP + m_chkUseBitmapClass->SetValue(true); m_chkUsePressed->SetValue(true); m_chkUseFocused->SetValue(true); @@ -433,8 +456,17 @@ void ButtonWidgetsPage::CreateButton() { showsBitmap = true; - wxBitmapButton *bbtn = new wxBitmapButton(this, ButtonPage_Button, - CreateBitmap(wxT("normal"))); + wxButton *bbtn; + if ( m_chkUseBitmapClass->GetValue() ) + { + bbtn = new wxBitmapButton(this, ButtonPage_Button, + CreateBitmap(wxT("normal"))); + } + else + { + bbtn = new wxButton(this, ButtonPage_Button); + bbtn->SetBitmapLabel(CreateBitmap(wxT("normal"))); + } if ( m_chkUsePressed->GetValue() ) bbtn->SetBitmapPressed(CreateBitmap(wxT("pushed"))); if ( m_chkUseFocused->GetValue() ) @@ -481,19 +513,21 @@ void ButtonWidgetsPage::CreateButton() wxLEFT, wxRIGHT, wxTOP, wxBOTTOM }; - m_button->SetBitmap(wxArtProvider::GetIcon(wxART_INFORMATION), + m_button->SetBitmap(wxArtProvider::GetIcon(wxART_INFORMATION, wxART_BUTTON), positions[m_radioImagePos->GetSelection()]); if ( m_chkUsePressed->GetValue() ) - m_button->SetBitmapPressed(wxArtProvider::GetIcon(wxART_HELP)); + m_button->SetBitmapPressed(wxArtProvider::GetIcon(wxART_HELP, wxART_BUTTON)); if ( m_chkUseFocused->GetValue() ) - m_button->SetBitmapFocus(wxArtProvider::GetIcon(wxART_ERROR)); + m_button->SetBitmapFocus(wxArtProvider::GetIcon(wxART_ERROR, wxART_BUTTON)); if ( m_chkUseCurrent->GetValue() ) - m_button->SetBitmapCurrent(wxArtProvider::GetIcon(wxART_WARNING)); + m_button->SetBitmapCurrent(wxArtProvider::GetIcon(wxART_WARNING, wxART_BUTTON)); if ( m_chkUseDisabled->GetValue() ) - m_button->SetBitmapDisabled(wxArtProvider::GetIcon(wxART_MISSING_IMAGE)); + m_button->SetBitmapDisabled(wxArtProvider::GetIcon(wxART_MISSING_IMAGE, wxART_BUTTON)); } + m_chkUseBitmapClass->Enable(showsBitmap); + m_chkUsePressed->Enable(showsBitmap); m_chkUseFocused->Enable(showsBitmap); m_chkUseCurrent->Enable(showsBitmap); @@ -543,12 +577,21 @@ void ButtonWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event)) void ButtonWidgetsPage::OnButtonChangeLabel(wxCommandEvent& WXUNUSED(event)) { + const wxString labelText = m_textLabel->GetValue(); + #if wxUSE_COMMANDLINKBUTTON if ( m_cmdLnkButton ) - m_cmdLnkButton->SetMainLabel(m_textLabel->GetValue()); + m_cmdLnkButton->SetMainLabel(labelText); else #endif // wxUSE_COMMANDLINKBUTTON - m_button->SetLabel(m_textLabel->GetValue()); + { +#if wxUSE_MARKUP + if ( m_chkUseMarkup->GetValue() ) + m_button->SetLabelMarkup(labelText); + else +#endif // wxUSE_MARKUP + m_button->SetLabel(labelText); + } m_sizerButton->Layout(); } @@ -576,7 +619,7 @@ wxBitmap ButtonWidgetsPage::CreateBitmap(const wxString& label) wxBitmap bmp(180, 70); // shouldn't hardcode but it's simpler like this wxMemoryDC dc; dc.SelectObject(bmp); - dc.SetBackground(wxBrush(*wxCYAN)); + dc.SetBackground(*wxCYAN_BRUSH); dc.Clear(); dc.SetTextForeground(*wxBLACK); dc.DrawLabel(wxStripMenuCodes(m_textLabel->GetValue()) + wxT("\n")