// Created: 08.02.01
// RCS-ID: $Id$
// Copyright: (c) 2000 Johnny C. Norris II
-// License: Rocketeer license
+// License: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx.h".
extern wxCursor g_globalCursor;
extern wxWindowGTK *g_delayedFocus;
+extern "C" {
static void gtk_togglebutton_clicked_callback(GtkWidget *WXUNUSED(widget), wxToggleButton *cb)
{
if (g_isIdle)
event.SetEventObject(cb);
cb->GetEventHandler()->ProcessEvent(event);
}
+}
DEFINE_EVENT_TYPE(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED)
wxCHECK_RET(m_widget != NULL, wxT("invalid toggle button"));
m_bitmap = label;
+ InvalidateBestSize();
OnSetBitmap();
}
return TRUE;
}
-void wxToggleBitmapButton::ApplyWidgetStyle()
+void wxToggleBitmapButton::DoApplyWidgetStyle(GtkRcStyle *style)
{
- SetWidgetStyle();
- gtk_widget_set_style(m_widget, m_widgetStyle);
- gtk_widget_set_style(BUTTON_CHILD(m_widget), m_widgetStyle);
+ gtk_widget_modify_style(m_widget, style);
+ gtk_widget_modify_style(BUTTON_CHILD(m_widget), style);
}
bool wxToggleBitmapButton::IsOwnGtkWindow(GdkWindow *window)
UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
}
-// wxSize DoGetBestSize() const
+
// Get the "best" size for this control.
wxSize wxToggleBitmapButton::DoGetBestSize() const
{
best.x = m_bitmap.GetWidth()+border;
best.y = m_bitmap.GetHeight()+border;
}
+ CacheBestSize(best);
return best;
}
return TRUE;
}
-void wxToggleButton::ApplyWidgetStyle()
+void wxToggleButton::DoApplyWidgetStyle(GtkRcStyle *style)
{
- SetWidgetStyle();
- gtk_widget_set_style(m_widget, m_widgetStyle);
- gtk_widget_set_style(BUTTON_CHILD(m_widget), m_widgetStyle);
+ gtk_widget_modify_style(m_widget, style);
+ gtk_widget_modify_style(BUTTON_CHILD(m_widget), style);
}
bool wxToggleButton::IsOwnGtkWindow(GdkWindow *window)
UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
}
-// wxSize DoGetBestSize() const
+
// Get the "best" size for this control.
wxSize wxToggleButton::DoGetBestSize() const
{
if (ret.x < 80) ret.x = 80;
}
-
- return ret;
+ CacheBestSize(ret);
+ return ret;
}
// static