testcombo: Test grid :row- and :column-span-column
Ditch two items that were white and so weren’t visible on our standard theme anyway, and use the new space to test extra grid-mode properties. Note that if we do this then, as before, we set the ListStore on the ComboBox before appending to it, that produced runtime warnings like: Gtk-CRITICAL **: gtk_menu_attach: assertion 'left_attach < right_attach' failed I didn’t look into that yet, but it may indicate that attaching items vs. recognising their spans don’t occur in the correct order. For the purposes of testing this, I just create the CB after filling its model.
This commit is contained in:
parent
4163a53630
commit
3783934436
@ -65,21 +65,15 @@ create_combo_box_grid_demo (void)
|
||||
GtkCellRenderer *cell = gtk_cell_renderer_pixbuf_new ();
|
||||
GtkListStore *store;
|
||||
|
||||
store = gtk_list_store_new (1, GDK_TYPE_PIXBUF);
|
||||
|
||||
combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
|
||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo),
|
||||
cell, TRUE);
|
||||
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo),
|
||||
cell, "pixbuf", 0, NULL);
|
||||
gtk_combo_box_set_wrap_width (GTK_COMBO_BOX (combo),
|
||||
3);
|
||||
store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_INT, G_TYPE_INT);
|
||||
|
||||
/* first row */
|
||||
pixbuf = create_color_pixbuf ("red");
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter,
|
||||
0, pixbuf,
|
||||
1, 1, /* row span */
|
||||
2, 1, /* column span */
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
@ -87,6 +81,8 @@ create_combo_box_grid_demo (void)
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter,
|
||||
0, pixbuf,
|
||||
1, 1,
|
||||
2, 1,
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
@ -94,6 +90,8 @@ create_combo_box_grid_demo (void)
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter,
|
||||
0, pixbuf,
|
||||
1, 1,
|
||||
2, 1,
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
@ -102,6 +100,8 @@ create_combo_box_grid_demo (void)
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter,
|
||||
0, pixbuf,
|
||||
1, 1,
|
||||
2, 2, /* Span 2 columns */
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
@ -109,13 +109,8 @@ create_combo_box_grid_demo (void)
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter,
|
||||
0, pixbuf,
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
pixbuf = create_color_pixbuf ("white");
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter,
|
||||
0, pixbuf,
|
||||
1, 2, /* Span 2 rows */
|
||||
2, 1,
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
@ -124,13 +119,8 @@ create_combo_box_grid_demo (void)
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter,
|
||||
0, pixbuf,
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
pixbuf = create_color_pixbuf ("snow");
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter,
|
||||
0, pixbuf,
|
||||
1, 1,
|
||||
2, 1,
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
@ -138,11 +128,25 @@ create_combo_box_grid_demo (void)
|
||||
gtk_list_store_append (store, &iter);
|
||||
gtk_list_store_set (store, &iter,
|
||||
0, pixbuf,
|
||||
1, 1,
|
||||
2, 1,
|
||||
-1);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
/* Create ComboBox after model to avoid gtk_menu_attach() warnings(?) */
|
||||
combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
|
||||
g_object_unref (store);
|
||||
|
||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo),
|
||||
cell, TRUE);
|
||||
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo),
|
||||
cell, "pixbuf", 0, NULL);
|
||||
|
||||
/* Set wrap-width != 0 to enforce grid mode */
|
||||
gtk_combo_box_set_wrap_width (GTK_COMBO_BOX (combo), 3);
|
||||
gtk_combo_box_set_row_span_column (GTK_COMBO_BOX (combo), 1);
|
||||
gtk_combo_box_set_column_span_column (GTK_COMBO_BOX (combo), 2);
|
||||
|
||||
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);
|
||||
|
||||
return combo;
|
||||
|
Loading…
Reference in New Issue
Block a user