+}
+
+
+void
+StatefulToggleButton::on_style_changed (const Glib::RefPtr<Gtk::Style>& style)
+{
+ avoid_prelight_on_style_changed (style, GTK_WIDGET(gobj()));
+ Button::on_style_changed (style);
+}
+
+void
+StatefulToggleButton::on_state_changed (Gtk::StateType old_state)
+{
+ avoid_prelight_on_state_changed (old_state, GTK_WIDGET(gobj()));
+ Button::on_state_changed (old_state);
+}
+
+Widget*
+StatefulToggleButton::get_child_widget ()
+{
+ return get_child();
+}
+
+void
+StatefulToggleButton::set_widget_name (const std::string& name)
+{
+ set_name (name);
+ Widget* w = get_child();
+
+ if (w) {
+ w->set_name (name);
+ }
+}
+
+/*--------------------------------------------- */
+
+StatefulButton::StatefulButton ()
+{
+}
+
+StatefulButton::StatefulButton (const std::string& label)
+ : Button (label)
+{
+}
+
+void
+StatefulButton::on_style_changed (const Glib::RefPtr<Gtk::Style>& style)
+{
+ avoid_prelight_on_style_changed (style, GTK_WIDGET(gobj()));
+ Button::on_style_changed (style);
+}
+
+void
+StatefulButton::on_state_changed (Gtk::StateType old_state)
+{
+ avoid_prelight_on_state_changed (old_state, GTK_WIDGET(gobj()));
+ Button::on_state_changed (old_state);
+}
+
+Widget*
+StatefulButton::get_child_widget ()
+{
+ return get_child();
+}
+
+void
+StatefulButton::set_widget_name (const std::string& name)
+{
+ set_name (name);
+ Widget* w = get_child();