-GtkButton* toolbar_append_button( GtkToolbar* toolbar, const char* description, const char* icon, const Command& command ){
+ui::ToggleToolButton toolbar_append_toggle_button( ui::Toolbar toolbar, const char* description, const char* icon, const Callback<void()>& callback ){
+ auto button = ui::ToggleToolButton::from(gtk_toggle_tool_button_new());
+ toggle_button_connect_callback(button, callback);
+ gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(button), new_local_image(icon));
+ gtk_tool_button_set_label(GTK_TOOL_BUTTON(button), description);
+ toolbar_append(toolbar, button, description);
+ return button;
+}
+
+ui::ToolButton toolbar_append_button( ui::Toolbar toolbar, const char* description, const char* icon, const Command& command ){