* Boston, MA 02111-1307, USA.
*/
#undef GTK_DISABLE_DEPRECATED
+#include <config.h>
#include <gtk/gtk.h>
#include "prop-editor.h"
gtk_tree_model_get (model, iter, 0, &tool_item, -1);
- g_object_get (G_OBJECT (tool_item), "visible", &visible, NULL);
- g_object_set (G_OBJECT (cell), "active", visible, NULL);
+ g_object_get (tool_item, "visible", &visible, NULL);
+ g_object_set (cell, "active", visible, NULL);
g_object_unref (tool_item);
}
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_model_get (model, &iter, 0, &tool_item, -1);
- g_object_get (G_OBJECT (tool_item), "visible", &visible, NULL);
- g_object_set (G_OBJECT (tool_item), "visible", !visible, NULL);
+ g_object_get (tool_item, "visible", &visible, NULL);
+ g_object_set (tool_item, "visible", !visible, NULL);
g_object_unref (tool_item);
gtk_tree_model_row_changed (model, path, &iter);
gtk_tree_model_get (model, iter, 0, &tool_item, -1);
- g_object_set (G_OBJECT (cell), "active", gtk_tool_item_get_expand (tool_item), NULL);
+ g_object_set (cell, "active", gtk_tool_item_get_expand (tool_item), NULL);
g_object_unref (tool_item);
}
gtk_tree_model_get (model, iter, 0, &tool_item, -1);
- g_object_set (G_OBJECT (cell), "active", gtk_tool_item_get_homogeneous (tool_item), NULL);
+ g_object_set (cell, "active", gtk_tool_item_get_homogeneous (tool_item), NULL);
g_object_unref (tool_item);
}
gtk_tree_model_get (model, iter, 0, &tool_item, -1);
- g_object_set (G_OBJECT (cell), "active", gtk_tool_item_get_is_important (tool_item), NULL);
+ g_object_set (cell, "active", gtk_tool_item_get_is_important (tool_item), NULL);
g_object_unref (tool_item);
}
{
if (drag_item)
{
- g_object_unref (G_OBJECT (drag_item));
+ g_object_unref (drag_item);
drag_item = NULL;
}
gtk_toolbar_set_drop_highlight_item (toolbar, NULL, 0);
}
+static gboolean
+timeout_cb (GtkWidget *widget)
+{
+ static gboolean sensitive = TRUE;
+
+ sensitive = !sensitive;
+
+ gtk_widget_set_sensitive (widget, sensitive);
+
+ return TRUE;
+}
+
+static gboolean
+timeout_cb1 (GtkWidget *widget)
+{
+ static gboolean sensitive = TRUE;
+ sensitive = !sensitive;
+ gtk_widget_set_sensitive (widget, sensitive);
+ return TRUE;
+}
+
gint
main (gint argc, gchar **argv)
{
GtkWidget *window, *toolbar, *table, *treeview, *scrolled_window;
- GtkWidget *hbox, *checkbox, *option_menu, *menu;
+ GtkWidget *hbox, *hbox1, *hbox2, *checkbox, *option_menu, *menu;
gint i;
static const gchar *toolbar_styles[] = { "icons", "text", "both (vertical)",
"both (horizontal)" };
gtk_table_attach (GTK_TABLE (table), toolbar,
0,2, 0,1, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
- hbox = gtk_hbox_new (FALSE, 5);
- gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
- gtk_table_attach (GTK_TABLE (table), hbox,
+ hbox1 = gtk_hbox_new (FALSE, 3);
+ gtk_container_set_border_width (GTK_CONTAINER (hbox1), 5);
+ gtk_table_attach (GTK_TABLE (table), hbox1,
1,2, 1,2, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
+ hbox2 = gtk_hbox_new (FALSE, 2);
+ gtk_container_set_border_width (GTK_CONTAINER (hbox2), 5);
+ gtk_table_attach (GTK_TABLE (table), hbox2,
+ 1,2, 2,3, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
+
checkbox = gtk_check_button_new_with_mnemonic("_Vertical");
- gtk_box_pack_start (GTK_BOX (hbox), checkbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox1), checkbox, FALSE, FALSE, 0);
g_signal_connect (checkbox, "toggled",
G_CALLBACK (change_orientation), toolbar);
checkbox = gtk_check_button_new_with_mnemonic("_Show Arrow");
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbox), TRUE);
- gtk_box_pack_start (GTK_BOX (hbox), checkbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox1), checkbox, FALSE, FALSE, 0);
g_signal_connect (checkbox, "toggled",
G_CALLBACK (change_show_arrow), toolbar);
checkbox = gtk_check_button_new_with_mnemonic("_Set Toolbar Style:");
g_signal_connect (checkbox, "toggled", G_CALLBACK (set_toolbar_style_toggled), toolbar);
- gtk_box_pack_start (GTK_BOX (hbox), checkbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox1), checkbox, FALSE, FALSE, 0);
option_menu = gtk_option_menu_new();
gtk_widget_set_sensitive (option_menu, FALSE);
gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu);
gtk_option_menu_set_history (GTK_OPTION_MENU (option_menu),
GTK_TOOLBAR (toolbar)->style);
- gtk_box_pack_start (GTK_BOX (hbox), option_menu, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox2), option_menu, FALSE, FALSE, 0);
g_signal_connect (option_menu, "changed",
G_CALLBACK (change_toolbar_style), toolbar);
checkbox = gtk_check_button_new_with_mnemonic("_Set Icon Size:");
g_signal_connect (checkbox, "toggled", G_CALLBACK (set_icon_size_toggled), toolbar);
- gtk_box_pack_start (GTK_BOX (hbox), checkbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox2), checkbox, FALSE, FALSE, 0);
option_menu = gtk_option_menu_new();
g_object_set_data (G_OBJECT (checkbox), "option-menu", option_menu);
gtk_widget_show (menuitem);
gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu);
- gtk_box_pack_start (GTK_BOX (hbox), option_menu, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (hbox2), option_menu, FALSE, FALSE, 0);
g_signal_connect (option_menu, "changed",
G_CALLBACK (icon_size_history_changed), toolbar);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_table_attach (GTK_TABLE (table), scrolled_window,
- 1,2, 2,3, GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 0, 0);
+ 1,2, 3,4, GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, 0, 0);
store = create_items_list (&treeview);
gtk_container_add (GTK_CONTAINER (scrolled_window), treeview);
gtk_tool_button_set_label (GTK_TOOL_BUTTON (item), NULL);
add_item_to_list (store, item, "New");
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
+ gdk_threads_add_timeout (3000, (GSourceFunc) timeout_cb, item);
gtk_tool_item_set_expand (item, TRUE);
- item = gtk_tool_button_new_from_stock (GTK_STOCK_OPEN);
+ menu = gtk_menu_new ();
+ for (i = 0; i < 20; i++)
+ {
+ char *text;
+ text = g_strdup_printf ("Menuitem %d", i);
+ menuitem = gtk_menu_item_new_with_label (text);
+ g_free (text);
+ gtk_widget_show (menuitem);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ }
+
+ item = gtk_menu_tool_button_new_from_stock (GTK_STOCK_OPEN);
+ gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (item), menu);
add_item_to_list (store, item, "Open");
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
+ gdk_threads_add_timeout (3000, (GSourceFunc) timeout_cb1, item);
+
+ menu = gtk_menu_new ();
+ for (i = 0; i < 20; i++)
+ {
+ char *text;
+ text = g_strdup_printf ("A%d", i);
+ menuitem = gtk_menu_item_new_with_label (text);
+ g_free (text);
+ gtk_widget_show (menuitem);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ }
+ item = gtk_menu_tool_button_new_from_stock (GTK_STOCK_GO_BACK);
+ gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (item), menu);
+ add_item_to_list (store, item, "BackWithHistory");
+ gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
+
item = gtk_separator_tool_item_new ();
add_item_to_list (store, item, "-----");
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
g_signal_connect (item, "toggled", G_CALLBACK (bold_toggled), NULL);
add_item_to_list (store, item, "Bold");
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
+ gtk_widget_set_sensitive (GTK_WIDGET (item), FALSE);
item = gtk_separator_tool_item_new ();
add_item_to_list (store, item, "-----");
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1);
gtk_tool_item_set_expand (item, TRUE);
gtk_separator_tool_item_set_draw (GTK_SEPARATOR_TOOL_ITEM (item), FALSE);
- g_assert (gtk_toolbar_get_nth_item (toolbar, 0) != 0);
+ g_assert (gtk_toolbar_get_nth_item (GTK_TOOLBAR (toolbar), 0) != 0);
item = gtk_radio_tool_button_new_from_stock (NULL, GTK_STOCK_JUSTIFY_LEFT);
group = gtk_radio_tool_button_get_group (GTK_RADIO_TOOL_BUTTON (item));
item = gtk_radio_tool_button_new_from_stock (group, GTK_STOCK_JUSTIFY_CENTER);
-#if 0
make_prop_editor (G_OBJECT (item));
-#endif
group = gtk_radio_tool_button_get_group (GTK_RADIO_TOOL_BUTTON (item));
add_item_to_list (store, item, "Center");
hbox = gtk_hbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 5);
gtk_table_attach (GTK_TABLE (table), hbox,
- 1,2, 3,4, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
+ 1,2, 4,5, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
button = gtk_button_new_with_label ("Drag me to the toolbar");
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
gtk_widget_show_all (window);
-#if 0
make_prop_editor (G_OBJECT (toolbar));
-#endif
g_signal_connect (window, "delete_event", G_CALLBACK (gtk_main_quit), NULL);