// Generated by gtkmmproc -- DO NOT MODIFY!
+
#include <gtkmm/menutoolbutton.h>
#include <gtkmm/private/menutoolbutton_p.h>
namespace
{
-const Glib::SignalProxyInfo MenuToolButton_signal_show_menu_info =
+
+static const Glib::SignalProxyInfo MenuToolButton_signal_show_menu_info =
{
"show_menu",
(GCallback) &Glib::SignalProxyNormal::slot0_void_callback,
(GCallback) &Glib::SignalProxyNormal::slot0_void_callback
};
+
} // anonymous namespace
BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
CppClassParent::class_init_function(klass, class_data);
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
klass->show_menu = &show_menu_callback;
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
}
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void MenuToolButton_Class::show_menu_callback(GtkMenuToolButton* self)
{
- CppObjectType *const obj = dynamic_cast<CppObjectType*>(
+ Glib::ObjectBase *const obj_base = static_cast<Glib::ObjectBase*>(
Glib::ObjectBase::_get_current_wrapper((GObject*)self));
// Non-gtkmmproc-generated custom classes implicitly call the default
// generated classes can use this optimisation, which avoids the unnecessary
// parameter conversions if there is no possibility of the virtual function
// being overridden:
- if(obj && obj->is_derived_())
+ if(obj_base && obj_base->is_derived_())
{
- try // Trap C++ exceptions which would normally be lost because this is a C callback.
- {
- // Call the virtual member method, which derived classes might override.
- obj->on_show_menu();
- }
- catch(...)
+ CppObjectType *const obj = dynamic_cast<CppObjectType* const>(obj_base);
+ if(obj) // This can be NULL during destruction.
{
- Glib::exception_handlers_invoke();
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ try // Trap C++ exceptions which would normally be lost because this is a C callback.
+ {
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
+ // Call the virtual member method, which derived classes might override.
+ obj->on_show_menu();
+ return;
+ #ifdef GLIBMM_EXCEPTIONS_ENABLED
+ }
+ catch(...)
+ {
+ Glib::exception_handlers_invoke();
+ }
+ #endif //GLIBMM_EXCEPTIONS_ENABLED
}
}
- else
- {
- BaseClassType *const base = static_cast<BaseClassType*>(
+
+ BaseClassType *const base = static_cast<BaseClassType*>(
g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)) // Get the parent class of the object class (The original underlying C class).
);
- // Call the original underlying C function:
- if(base && base->show_menu)
- (*base->show_menu)(self);
- }
+ // Call the original underlying C function:
+ if(base && base->show_menu)
+ (*base->show_menu)(self);
}
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
Glib::ObjectBase* MenuToolButton_Class::wrap_new(GObject* o)
MenuToolButton::MenuToolButton()
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
Gtk::ToolButton(Glib::ConstructParams(menutoolbutton_class_.init()))
{
}
MenuToolButton::MenuToolButton(const Gtk::StockID& stock_id)
:
- Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
- Gtk::ToolButton(Glib::ConstructParams(menutoolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), (char*) 0))
+ // Mark this class as non-derived to allow C++ vfuncs to be skipped.
+ Glib::ObjectBase(0),
+ Gtk::ToolButton(Glib::ConstructParams(menutoolbutton_class_.init(), "stock_id", (stock_id).get_c_str(), static_cast<char*>(0)))
{
}
void MenuToolButton::set_menu(Menu& menu)
{
- gtk_menu_tool_button_set_menu(gobj(), (menu).Gtk::Widget::gobj());
+gtk_menu_tool_button_set_menu(gobj(), (menu).Gtk::Widget::gobj());
}
Menu* MenuToolButton::get_menu()
const Menu* MenuToolButton::get_menu() const
{
- return Glib::wrap((GtkMenu*)(gtk_menu_tool_button_get_menu(const_cast<GtkMenuToolButton*>(gobj()))));
+ return const_cast<MenuToolButton*>(this)->get_menu();
}
+#ifndef GTKMM_DISABLE_DEPRECATED
+
void MenuToolButton::set_arrow_tooltip(Tooltips& tooltips, const Glib::ustring& tip_text, const Glib::ustring& tip_private)
{
- gtk_menu_tool_button_set_arrow_tooltip(gobj(), (tooltips).gobj(), tip_text.c_str(), tip_private.c_str());
+gtk_menu_tool_button_set_arrow_tooltip(gobj(), (tooltips).gobj(), tip_text.c_str(), tip_private.c_str());
+}
+
+#endif // GTKMM_DISABLE_DEPRECATED
+
+void MenuToolButton::set_arrow_tooltip_text(const Glib::ustring& text)
+{
+gtk_menu_tool_button_set_arrow_tooltip_text(gobj(), text.c_str());
+}
+
+void MenuToolButton::set_arrow_tooltip_markup(const Glib::ustring& markup)
+{
+gtk_menu_tool_button_set_arrow_tooltip_markup(gobj(), markup.c_str());
}
}
+#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy<Menu*> MenuToolButton::property_menu()
{
return Glib::PropertyProxy<Menu*>(this, "menu");
}
+#endif //GLIBMM_PROPERTIES_ENABLED
+#ifdef GLIBMM_PROPERTIES_ENABLED
Glib::PropertyProxy_ReadOnly<Menu*> MenuToolButton::property_menu() const
{
return Glib::PropertyProxy_ReadOnly<Menu*>(this, "menu");
}
+#endif //GLIBMM_PROPERTIES_ENABLED
+#ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
void Gtk::MenuToolButton::on_show_menu()
{
BaseClassType *const base = static_cast<BaseClassType*>(
if(base && base->show_menu)
(*base->show_menu)(gobj());
}
+#endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
+
+#ifdef GLIBMM_VFUNCS_ENABLED
+#endif //GLIBMM_VFUNCS_ENABLED
} // namespace Gtk