X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=tests%2Ftestcellarea.c;h=f483f5f47d7e93a154e38015f151c73c3243c9eb;hb=HEAD;hp=c6db6ae5e5629a33b665071917166473f54f7165;hpb=38666b406fe8b2f08e0d67014daea951c6efea73;p=~andy%2Fgtk diff --git a/tests/testcellarea.c b/tests/testcellarea.c index c6db6ae5e..f483f5f47 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -1,5 +1,4 @@ #include -#include "cellareascaffold.h" /******************************************************* * Simple Test * @@ -27,15 +26,11 @@ simple_list_model (void) gtk_list_store_set (store, &iter, SIMPLE_COLUMN_NAME, "Alice in wonderland", SIMPLE_COLUMN_ICON, "gtk-execute", - SIMPLE_COLUMN_DESCRIPTION, "One pill makes you smaller and the other pill makes you tall", - -1); - - gtk_list_store_append (store, &iter); - gtk_list_store_set (store, &iter, - SIMPLE_COLUMN_NAME, "Highschool Principal", - SIMPLE_COLUMN_ICON, "gtk-help", SIMPLE_COLUMN_DESCRIPTION, - "Will make you copy the dictionary if you dont like your math teacher", + "Twas brillig, and the slithy toves " + "did gyre and gimble in the wabe; " + "all mimsy were the borogoves, " + "and the mome raths outgrabe", -1); gtk_list_store_append (store, &iter); @@ -49,8 +44,8 @@ simple_list_model (void) gtk_list_store_set (store, &iter, SIMPLE_COLUMN_NAME, "George Bush", SIMPLE_COLUMN_ICON, "gtk-dialog-warning", - SIMPLE_COLUMN_DESCRIPTION, "Please hide your nuclear weapons when inviting " - "him to dinner", + SIMPLE_COLUMN_DESCRIPTION, "It's a very good question, very direct, " + "and I'm not going to answer it", -1); gtk_list_store_append (store, &iter); @@ -61,33 +56,52 @@ simple_list_model (void) "is tiggers are wonderful things", -1); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Aleister Crowley", + SIMPLE_COLUMN_ICON, "gtk-about", + SIMPLE_COLUMN_DESCRIPTION, + "Thou shalt do what thou wilt shall be the whole of the law", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Mark Twain", + SIMPLE_COLUMN_ICON, "gtk-quit", + SIMPLE_COLUMN_DESCRIPTION, + "Giving up smoking is the easiest thing in the world. " + "I know because I've done it thousands of times.", + -1); + + return (GtkTreeModel *)store; } static GtkWidget * -simple_scaffold (void) +simple_iconview (void) { GtkTreeModel *model; - GtkWidget *scaffold; + GtkWidget *iconview; GtkCellArea *area; GtkCellRenderer *renderer; - scaffold = cell_area_scaffold_new (); - gtk_widget_show (scaffold); + iconview = gtk_icon_view_new (); + gtk_widget_show (iconview); model = simple_list_model (); - cell_area_scaffold_set_model (CELL_AREA_SCAFFOLD (scaffold), model); + gtk_icon_view_set_model (GTK_ICON_VIEW (iconview), model); + gtk_icon_view_set_item_orientation (GTK_ICON_VIEW (iconview), GTK_ORIENTATION_HORIZONTAL); - area = cell_area_scaffold_get_area (CELL_AREA_SCAFFOLD (scaffold)); + area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (iconview)); cell_1 = renderer = gtk_cell_renderer_text_new (); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_NAME); cell_2 = renderer = gtk_cell_renderer_pixbuf_new (); g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "stock-id", SIMPLE_COLUMN_ICON); cell_3 = renderer = gtk_cell_renderer_text_new (); @@ -95,26 +109,26 @@ simple_scaffold (void) "wrap-mode", PANGO_WRAP_WORD, "wrap-width", 215, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_DESCRIPTION); - return scaffold; + return iconview; } static void orientation_changed (GtkComboBox *combo, - CellAreaScaffold *scaffold) + GtkIconView *iconview) { GtkOrientation orientation = gtk_combo_box_get_active (combo); - gtk_orientable_set_orientation (GTK_ORIENTABLE (scaffold), orientation); + gtk_icon_view_set_item_orientation (iconview, orientation); } static void align_cell_2_toggled (GtkToggleButton *toggle, - CellAreaScaffold *scaffold) + GtkIconView *iconview) { - GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (iconview)); gboolean align = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_2, "align", align, NULL); @@ -122,9 +136,9 @@ align_cell_2_toggled (GtkToggleButton *toggle, static void align_cell_3_toggled (GtkToggleButton *toggle, - CellAreaScaffold *scaffold) + GtkIconView *iconview) { - GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (iconview)); gboolean align = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_3, "align", align, NULL); @@ -132,9 +146,9 @@ align_cell_3_toggled (GtkToggleButton *toggle, static void expand_cell_1_toggled (GtkToggleButton *toggle, - CellAreaScaffold *scaffold) + GtkIconView *iconview) { - GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (iconview)); gboolean expand = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_1, "expand", expand, NULL); @@ -142,9 +156,9 @@ expand_cell_1_toggled (GtkToggleButton *toggle, static void expand_cell_2_toggled (GtkToggleButton *toggle, - CellAreaScaffold *scaffold) + GtkIconView *iconview) { - GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (iconview)); gboolean expand = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_2, "expand", expand, NULL); @@ -152,9 +166,9 @@ expand_cell_2_toggled (GtkToggleButton *toggle, static void expand_cell_3_toggled (GtkToggleButton *toggle, - CellAreaScaffold *scaffold) + GtkIconView *iconview) { - GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (iconview)); gboolean expand = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_3, "expand", expand, NULL); @@ -164,13 +178,15 @@ static void simple_cell_area (void) { GtkWidget *window, *widget; - GtkWidget *scaffold, *frame, *vbox, *hbox; + GtkWidget *iconview, *frame, *vbox, *hbox; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - scaffold = simple_scaffold (); + gtk_window_set_title (GTK_WINDOW (window), "CellArea expand and alignments"); + + iconview = simple_iconview (); - hbox = gtk_hbox_new (FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); frame = gtk_frame_new (NULL); gtk_widget_show (hbox); gtk_widget_show (frame); @@ -178,12 +194,12 @@ simple_cell_area (void) gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); gtk_widget_set_halign (frame, GTK_ALIGN_FILL); - gtk_container_add (GTK_CONTAINER (frame), scaffold); + gtk_container_add (GTK_CONTAINER (frame), iconview); gtk_box_pack_end (GTK_BOX (hbox), frame, TRUE, TRUE, 0); /* Now add some controls */ - vbox = gtk_vbox_new (FALSE, 4); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); gtk_widget_show (vbox); gtk_box_pack_end (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); @@ -195,7 +211,7 @@ simple_cell_area (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "changed", - G_CALLBACK (orientation_changed), scaffold); + G_CALLBACK (orientation_changed), iconview); widget = gtk_check_button_new_with_label ("Align 2nd Cell"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); @@ -203,7 +219,7 @@ simple_cell_area (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (align_cell_2_toggled), scaffold); + G_CALLBACK (align_cell_2_toggled), iconview); widget = gtk_check_button_new_with_label ("Align 3rd Cell"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); @@ -211,7 +227,7 @@ simple_cell_area (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (align_cell_3_toggled), scaffold); + G_CALLBACK (align_cell_3_toggled), iconview); widget = gtk_check_button_new_with_label ("Expand 1st Cell"); @@ -220,7 +236,7 @@ simple_cell_area (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (expand_cell_1_toggled), scaffold); + G_CALLBACK (expand_cell_1_toggled), iconview); widget = gtk_check_button_new_with_label ("Expand 2nd Cell"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); @@ -228,7 +244,7 @@ simple_cell_area (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (expand_cell_2_toggled), scaffold); + G_CALLBACK (expand_cell_2_toggled), iconview); widget = gtk_check_button_new_with_label ("Expand 3rd Cell"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); @@ -236,7 +252,7 @@ simple_cell_area (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (expand_cell_3_toggled), scaffold); + G_CALLBACK (expand_cell_3_toggled), iconview); gtk_container_add (GTK_CONTAINER (window), hbox); @@ -292,9 +308,9 @@ focus_list_model (void) static void cell_toggled (GtkCellRendererToggle *cell_renderer, const gchar *path, - CellAreaScaffold *scaffold) + GtkIconView *iconview) { - GtkTreeModel *model = cell_area_scaffold_get_model (scaffold); + GtkTreeModel *model = gtk_icon_view_get_model (iconview); GtkTreeIter iter; gboolean active; @@ -311,9 +327,9 @@ static void cell_edited (GtkCellRendererToggle *cell_renderer, const gchar *path, const gchar *new_text, - CellAreaScaffold *scaffold) + GtkIconView *iconview) { - GtkTreeModel *model = cell_area_scaffold_get_model (scaffold); + GtkTreeModel *model = gtk_icon_view_get_model (iconview); GtkTreeIter iter; g_print ("Cell edited with new text '%s' !\n", new_text); @@ -325,54 +341,73 @@ cell_edited (GtkCellRendererToggle *cell_renderer, } static GtkWidget * -focus_scaffold (void) +focus_iconview (gboolean color_bg, GtkCellRenderer **focus, GtkCellRenderer **sibling) { GtkTreeModel *model; - GtkWidget *scaffold; + GtkWidget *iconview; GtkCellArea *area; - GtkCellRenderer *renderer; + GtkCellRenderer *renderer, *toggle; - scaffold = cell_area_scaffold_new (); - gtk_widget_show (scaffold); + iconview = gtk_icon_view_new (); + gtk_widget_show (iconview); model = focus_list_model (); - cell_area_scaffold_set_model (CELL_AREA_SCAFFOLD (scaffold), model); + gtk_icon_view_set_model (GTK_ICON_VIEW (iconview), model); + gtk_icon_view_set_item_orientation (GTK_ICON_VIEW (iconview), GTK_ORIENTATION_HORIZONTAL); - area = cell_area_scaffold_get_area (CELL_AREA_SCAFFOLD (scaffold)); + area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (iconview)); renderer = gtk_cell_renderer_text_new (); g_object_set (G_OBJECT (renderer), "editable", TRUE, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_NAME); + if (color_bg) + g_object_set (G_OBJECT (renderer), "cell-background", "red", NULL); + g_signal_connect (G_OBJECT (renderer), "edited", - G_CALLBACK (cell_edited), scaffold); + G_CALLBACK (cell_edited), iconview); - focus_renderer = renderer = gtk_cell_renderer_toggle_new (); + toggle = renderer = gtk_cell_renderer_toggle_new (); g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "active", FOCUS_COLUMN_CHECK); + if (color_bg) + g_object_set (G_OBJECT (renderer), "cell-background", "green", NULL); + + if (focus) + *focus = renderer; + g_signal_connect (G_OBJECT (renderer), "toggled", - G_CALLBACK (cell_toggled), scaffold); + G_CALLBACK (cell_toggled), iconview); - sibling_renderer = renderer = gtk_cell_renderer_text_new (); + renderer = gtk_cell_renderer_text_new (); g_object_set (G_OBJECT (renderer), "wrap-mode", PANGO_WRAP_WORD, "wrap-width", 150, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + + if (color_bg) + g_object_set (G_OBJECT (renderer), "cell-background", "blue", NULL); + + if (sibling) + *sibling = renderer; + + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_STATIC_TEXT); - return scaffold; + gtk_cell_area_add_focus_sibling (area, toggle, renderer); + + return iconview; } static void focus_sibling_toggled (GtkToggleButton *toggle, - CellAreaScaffold *scaffold) + GtkIconView *iconview) { - GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (iconview)); gboolean active = gtk_toggle_button_get_active (toggle); if (active) @@ -380,7 +415,7 @@ focus_sibling_toggled (GtkToggleButton *toggle, else gtk_cell_area_remove_focus_sibling (area, focus_renderer, sibling_renderer); - gtk_widget_queue_draw (GTK_WIDGET (scaffold)); + gtk_widget_queue_draw (GTK_WIDGET (iconview)); } @@ -388,13 +423,15 @@ static void focus_cell_area (void) { GtkWidget *window, *widget; - GtkWidget *scaffold, *frame, *vbox, *hbox; + GtkWidget *iconview, *frame, *vbox, *hbox; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - hbox = gtk_hbox_new (FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_widget_show (hbox); - scaffold = focus_scaffold (); + gtk_window_set_title (GTK_WINDOW (window), "Focus and editable cells"); + + iconview = focus_iconview (FALSE, &focus_renderer, &sibling_renderer); frame = gtk_frame_new (NULL); gtk_widget_show (frame); @@ -402,21 +439,32 @@ focus_cell_area (void) gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); gtk_widget_set_halign (frame, GTK_ALIGN_FILL); - gtk_container_add (GTK_CONTAINER (frame), scaffold); + gtk_container_add (GTK_CONTAINER (frame), iconview); gtk_box_pack_end (GTK_BOX (hbox), frame, TRUE, TRUE, 0); /* Now add some controls */ - vbox = gtk_vbox_new (FALSE, 4); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); gtk_widget_show (vbox); gtk_box_pack_end (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + widget = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Horizontal"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Vertical"); + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "changed", + G_CALLBACK (orientation_changed), iconview); + widget = gtk_check_button_new_with_label ("Focus Sibling"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_widget_show (widget); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (focus_sibling_toggled), scaffold); + G_CALLBACK (focus_sibling_toggled), iconview); gtk_container_add (GTK_CONTAINER (window), hbox); @@ -424,13 +472,156 @@ focus_cell_area (void) } + +/******************************************************* + * Background Area * + *******************************************************/ +static void +cell_spacing_changed (GtkSpinButton *spin_button, + GtkIconView *iconview) +{ + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (iconview)); + gint value; + + value = (gint)gtk_spin_button_get_value (spin_button); + + gtk_cell_area_box_set_spacing (GTK_CELL_AREA_BOX (area), value); +} + +static void +row_spacing_changed (GtkSpinButton *spin_button, + GtkIconView *iconview) +{ + gint value; + + value = (gint)gtk_spin_button_get_value (spin_button); + + gtk_icon_view_set_row_spacing (iconview, value); +} + +static void +item_padding_changed (GtkSpinButton *spin_button, + GtkIconView *iconview) +{ + gint value; + + value = (gint)gtk_spin_button_get_value (spin_button); + + gtk_icon_view_set_item_padding (iconview, value); +} + +static void +background_area (void) +{ + GtkWidget *window, *widget, *label, *main_vbox; + GtkWidget *iconview, *frame, *vbox, *hbox; + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); + gtk_widget_show (hbox); + gtk_widget_show (main_vbox); + gtk_container_add (GTK_CONTAINER (window), main_vbox); + + gtk_window_set_title (GTK_WINDOW (window), "Background Area"); + + label = gtk_label_new ("In this example, row spacing gets devided into the background area, " + "column spacing is added between each background area, item_padding is " + "prepended space distributed to the background area."); + gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); + gtk_label_set_width_chars (GTK_LABEL (label), 40); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0); + + iconview = focus_iconview (TRUE, NULL, NULL); + + frame = gtk_frame_new (NULL); + gtk_widget_show (frame); + + gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); + gtk_widget_set_halign (frame, GTK_ALIGN_FILL); + + gtk_container_add (GTK_CONTAINER (frame), iconview); + + gtk_box_pack_end (GTK_BOX (hbox), frame, TRUE, TRUE, 0); + + /* Now add some controls */ + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 4); + gtk_widget_show (vbox); + gtk_box_pack_end (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0); + + widget = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Horizontal"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Vertical"); + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "changed", + G_CALLBACK (orientation_changed), iconview); + + widget = gtk_spin_button_new_with_range (0, 10, 1); + label = gtk_label_new ("Cell spacing"); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); + gtk_widget_show (hbox); + gtk_widget_show (label); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (cell_spacing_changed), iconview); + + + widget = gtk_spin_button_new_with_range (0, 10, 1); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), gtk_icon_view_get_row_spacing (GTK_ICON_VIEW (iconview))); + label = gtk_label_new ("Row spacing"); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); + gtk_widget_show (hbox); + gtk_widget_show (label); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (row_spacing_changed), iconview); + + widget = gtk_spin_button_new_with_range (0, 30, 1); + label = gtk_label_new ("Item padding"); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), gtk_icon_view_get_item_padding (GTK_ICON_VIEW (iconview))); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); + gtk_widget_show (hbox); + gtk_widget_show (label); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (item_padding_changed), iconview); + + gtk_widget_show (window); +} + + + + + + int main (int argc, char *argv[]) { gtk_init (NULL, NULL); + if (g_getenv ("RTL")) + gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); + simple_cell_area (); focus_cell_area (); + background_area (); gtk_main ();