X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4f85606724061367d0d5ab79444990e36b0acfa6..a7a5165ca70b2b246a782089b7fb65b7042967c6:/src/gtk1/tglbtn.cpp diff --git a/src/gtk1/tglbtn.cpp b/src/gtk1/tglbtn.cpp index f18eb9d04a..d8aac966f6 100644 --- a/src/gtk1/tglbtn.cpp +++ b/src/gtk1/tglbtn.cpp @@ -79,13 +79,6 @@ bool wxToggleBitmapButton::Create(wxWindow *parent, wxWindowID id, if (m_bitmap.Ok()) { - wxSize newSize = size; - int border = (style & wxNO_BORDER) ? 4 : 10; - if (newSize.x == -1) - newSize.x = m_bitmap.GetWidth()+border; - if (newSize.y == -1) - newSize.y = m_bitmap.GetHeight()+border; - SetSize( newSize.x, newSize.y ); OnSetBitmap(); } @@ -95,10 +88,7 @@ bool wxToggleBitmapButton::Create(wxWindow *parent, wxWindowID id, m_parent->DoAddChild(this); - PostCreation(); - InheritAttributes(); - - Show( TRUE ); + PostCreation(size); return TRUE; } @@ -207,16 +197,26 @@ void wxToggleBitmapButton::OnInternalIdle() // Get the "best" size for this control. wxSize wxToggleBitmapButton::DoGetBestSize() const { - wxSize ret(wxControl::DoGetBestSize()); - - if (!HasFlag(wxBU_EXACTFIT)) + wxSize best; + + if (m_bitmap.Ok()) { - if (ret.x < 80) ret.x = 80; + int border = HasFlag(wxNO_BORDER) ? 4 : 10; + best.x = m_bitmap.GetWidth()+border; + best.y = m_bitmap.GetHeight()+border; } - + return best; +} - return ret; + +// static +wxVisualAttributes +wxToggleBitmapButton::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) +{ + return GetDefaultAttributesFromGTKWidget(gtk_toggle_button_new); } + + // ------------------------------------------------------------------------ // wxToggleButton // ------------------------------------------------------------------------ @@ -251,19 +251,7 @@ bool wxToggleButton::Create(wxWindow *parent, wxWindowID id, m_parent->DoAddChild(this); - PostCreation(); - InheritAttributes(); - - wxSize size_best(DoGetBestSize()); - wxSize new_size(size); - if (new_size.x == -1) - new_size.x = size_best.x; - if (new_size.y == -1) - new_size.y = size_best.y; - if ((new_size.x != size.x) || (new_size.y != size.y)) - SetSize(new_size.x, new_size.y); - - Show(TRUE); + PostCreation(size); return TRUE; } @@ -361,5 +349,12 @@ wxSize wxToggleButton::DoGetBestSize() const return ret; } +// static +wxVisualAttributes +wxToggleButton::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant)) +{ + return GetDefaultAttributesFromGTKWidget(gtk_toggle_button_new); +} + #endif // wxUSE_TOGGLEBTN