+ /* No need for static array, all our columns are of the same type. */
+ for (col = 0; col < N_COLUMNS; col++)
+ col_types[col] = G_TYPE_STRING;
+
+ store = gtk_list_store_newv(N_COLUMNS, col_types);
+
+ /* Add rows. */
+ for (row = 0; row < DATA_ROWS; row++) {
+ gtk_list_store_append(store, &iter);
+
+ /* Color first row in red (current instruction). */
+ if (row == 0)
+ gtk_list_store_set(store, &iter, COL_COLOR, "red", -1);
+ else
+ gtk_list_store_set(store, &iter, COL_COLOR, "black", -1);
+ }
+
+ return store;
+}
+
+static void
+pgmwin_init_columns(void)
+{
+ int k;
+ GtkCellRenderer *renderer;
+
+ /* Create renderer */
+ renderer = gtk_cell_renderer_text_new();
+
+ /* Add columns, except for last one (COL_COLOR). */
+ for (k = 0; k < COL_COLOR; k++) {
+ GtkTreeViewColumn *col;
+
+ /* Create tree view column */
+ col = gtk_tree_view_column_new();
+ gtk_tree_view_column_set_title(col, col_names[k]);
+ gtk_tree_view_column_set_sizing(col,
+ GTK_TREE_VIEW_COLUMN_AUTOSIZE);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(pgmlist), col);