X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fplugintoolbar.cpp;h=aea1b321b837528586c445ff417f1724b8afde58;hb=0203ac024e9396ebc180d9721da40b90b7c33dc6;hp=ac79b10188dbbbd4ff7133a69d1730c885a0e758;hpb=225950494a606af9aac2bc2f06ece70cb2146481;p=xonotic%2Fnetradiant.git diff --git a/radiant/plugintoolbar.cpp b/radiant/plugintoolbar.cpp index ac79b101..aea1b321 100644 --- a/radiant/plugintoolbar.cpp +++ b/radiant/plugintoolbar.cpp @@ -21,6 +21,7 @@ #include "plugintoolbar.h" +#include #include "itoolbar.h" #include "modulesystem.h" @@ -56,33 +57,33 @@ ui::Image new_plugin_image( const char* filename ){ void toolbar_insert( ui::Toolbar toolbar, const char* icon, const char* text, const char* tooltip, IToolbarButton::EType type, GCallback handler, gpointer data ){ if (type == IToolbarButton::eSpace) { - auto it = ui::Widget(GTK_WIDGET(gtk_separator_tool_item_new())); + auto it = ui::ToolItem::from(gtk_separator_tool_item_new()); it.show(); toolbar.add(it); return; } if (type == IToolbarButton::eButton) { - auto button = ui::ToolButton(GTK_TOOL_BUTTON(gtk_tool_button_new(GTK_WIDGET(new_plugin_image(icon)), text))); + auto button = ui::ToolButton::from(gtk_tool_button_new(new_plugin_image(icon), text)); gtk_widget_set_tooltip_text(button, tooltip); gtk_widget_show_all(button); - g_signal_connect(button, "clicked", G_CALLBACK(handler), data); + button.connect("clicked", G_CALLBACK(handler), data); toolbar.add(button); return; } if (type == IToolbarButton::eToggleButton) { - auto button = ui::ToolButton(GTK_TOOL_BUTTON(gtk_toggle_tool_button_new())); - gtk_tool_button_set_icon_widget(button, GTK_WIDGET(new_plugin_image(icon))); + auto button = ui::ToolButton::from(gtk_toggle_tool_button_new()); + gtk_tool_button_set_icon_widget(button, new_plugin_image(icon)); gtk_tool_button_set_label(button, text); gtk_widget_set_tooltip_text(button, tooltip); gtk_widget_show_all(button); - g_signal_connect(button, "toggled", G_CALLBACK(handler), data); + button.connect("toggled", G_CALLBACK(handler), data); toolbar.add(button); return; } ERROR_MESSAGE( "invalid toolbar button type" ); } -void ActivateToolbarButton( GtkToolButton *widget, gpointer data ){ +void ActivateToolbarButton( ui::ToolButton widget, gpointer data ){ (const_cast( reinterpret_cast( data )))->activate(); } @@ -90,7 +91,7 @@ void PlugInToolbar_AddButton( ui::Toolbar toolbar, const IToolbarButton* button toolbar_insert( toolbar, button->getImage(), button->getText(), button->getTooltip(), button->getType(), G_CALLBACK( ActivateToolbarButton ), reinterpret_cast( const_cast( button ) ) ); } -ui::Toolbar g_plugin_toolbar{nullptr}; +ui::Toolbar g_plugin_toolbar{ui::null}; void PluginToolbar_populate(){ class AddToolbarItemVisitor : public ToolbarModules::Visitor @@ -119,7 +120,7 @@ void PluginToolbar_clear(){ ui::Toolbar create_plugin_toolbar(){ - auto toolbar = ui::Toolbar(GTK_TOOLBAR( gtk_toolbar_new() )); + auto toolbar = ui::Toolbar::from( gtk_toolbar_new() ); gtk_orientable_set_orientation( GTK_ORIENTABLE(toolbar), GTK_ORIENTATION_HORIZONTAL ); gtk_toolbar_set_style( toolbar, GTK_TOOLBAR_ICONS ); toolbar.show();