]> Pileus Git - ~andy/gtk/blobdiff - demos/gtk-demo/list_store.c
gtk: remove "gboolean homogeneous" from gtk_box_new()
[~andy/gtk] / demos / gtk-demo / list_store.c
index 94335afdf8f0d322de37677e047577d85c605a2e..72cecb93167219e4b4d6b0b0743c3ee708a32b25 100644 (file)
@@ -29,7 +29,9 @@ enum
   COLUMN_SEVERITY,
   COLUMN_DESCRIPTION,
   COLUMN_PULSE,
+  COLUMN_ICON,
   COLUMN_ACTIVE,
+  COLUMN_SENSITIVE,
   NUM_COLUMNS
 };
 
@@ -92,11 +94,24 @@ create_model (void)
                               G_TYPE_STRING,
                               G_TYPE_STRING,
                               G_TYPE_UINT,
+                              G_TYPE_STRING,
+                              G_TYPE_BOOLEAN,
                               G_TYPE_BOOLEAN);
 
   /* add data to the list store */
   for (i = 0; i < G_N_ELEMENTS (data); i++)
     {
+      gchar *icon_name;
+      gboolean sensitive;
+
+      if (i == 1 || i == 3)
+        icon_name = "battery-critical-charging-symbolic";
+      else
+        icon_name = NULL;
+      if (i == 3)
+        sensitive = FALSE;
+      else
+        sensitive = TRUE;
       gtk_list_store_append (store, &iter);
       gtk_list_store_set (store, &iter,
                           COLUMN_FIXED, data[i].fixed,
@@ -104,7 +119,9 @@ create_model (void)
                           COLUMN_SEVERITY, data[i].severity,
                           COLUMN_DESCRIPTION, data[i].description,
                           COLUMN_PULSE, 0,
+                          COLUMN_ICON, icon_name,
                           COLUMN_ACTIVE, FALSE,
+                          COLUMN_SENSITIVE, sensitive,
                           -1);
     }
 
@@ -199,6 +216,19 @@ add_columns (GtkTreeView *treeview)
                                                      NULL);
   gtk_tree_view_column_set_sort_column_id (column, COLUMN_PULSE);
   gtk_tree_view_append_column (treeview, column);
+
+  /* column for symbolic icon */
+  renderer = gtk_cell_renderer_pixbuf_new ();
+  g_object_set (G_OBJECT (renderer), "follow-state", TRUE, NULL);
+  column = gtk_tree_view_column_new_with_attributes ("Symbolic icon",
+                                                     renderer,
+                                                     "icon-name",
+                                                     COLUMN_ICON,
+                                                     "sensitive",
+                                                     COLUMN_SENSITIVE,
+                                                     NULL);
+  gtk_tree_view_column_set_sort_column_id (column, COLUMN_ICON);
+  gtk_tree_view_append_column (treeview, column);
 }
 
 static gboolean
@@ -236,7 +266,7 @@ do_list_store (GtkWidget *do_widget)
                         G_CALLBACK (gtk_widget_destroyed), &window);
       gtk_container_set_border_width (GTK_CONTAINER (window), 8);
 
-      vbox = gtk_vbox_new (FALSE, 8);
+      vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
       gtk_container_add (GTK_CONTAINER (window), vbox);
 
       label = gtk_label_new ("This is the bug list (note: not based on real data, it would be nice to have a nice ODBC interface to bugzilla or so, though).");
@@ -272,7 +302,7 @@ do_list_store (GtkWidget *do_widget)
                         G_CALLBACK (window_closed), NULL);
     }
 
-  if (!GTK_WIDGET_VISIBLE (window))
+  if (!gtk_widget_get_visible (window))
     {
       gtk_widget_show_all (window);
       if (timeout == 0) {