static void stash_number_renderer_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gboolean visible; guint number; gchar *number_string; /* Don't show this column on diffs */ visible = gtk_tree_store_iter_depth (GTK_TREE_STORE (model), iter) == 0; gtk_cell_renderer_set_visible (renderer, visible); if (visible) { gtk_tree_model_get (model, iter, COL_NUMBER, &number, -1); number_string = g_strdup_printf ("%i", number); g_object_set (renderer, "text", number_string, NULL); g_free (number_string); } else g_object_set (renderer, "text", "", NULL); }
static gboolean panel_addto_filter_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer userdata) { PanelAddtoDialog *dialog; PanelAddtoItemInfo *data; dialog = (PanelAddtoDialog *) userdata; if (!dialog->search_text || !dialog->search_text[0]) return TRUE; gtk_tree_model_get (model, iter, COLUMN_DATA, &data, -1); if (data == NULL) return FALSE; /* This is more a workaround than anything else: show all the root * items in a tree store */ if (GTK_IS_TREE_STORE (model) && gtk_tree_store_iter_depth (GTK_TREE_STORE (model), iter) == 0) return TRUE; return (panel_g_utf8_strstrcase (data->name, dialog->search_text) != NULL || panel_g_utf8_strstrcase (data->description, dialog->search_text) != NULL); }
/****************************************************************************** * gtk_TreeStoreIterDepth(tree, path_string)-->gint depth ******************************************************************************/ int clip_GTK_TREESTOREITERDEPTH(ClipMachine * ClipMachineMemory) { C_object *cstree = _fetch_co_arg(ClipMachineMemory); gchar *path = _clip_parc(ClipMachineMemory, 2); GtkTreeIter iter; gint ret; CHECKARG2(1, MAP_type_of_ClipVarType, NUMERIC_type_of_ClipVarType); CHECKCOBJ(cstree, GTK_IS_TREE_STORE(cstree->object)); CHECKARG(2, CHARACTER_type_of_ClipVarType); CHECKARG(3, CHARACTER_type_of_ClipVarType); gtk_tree_model_get_iter(GTK_TREE_MODEL(GTK_TREE_STORE(cstree->object)), &iter, gtk_tree_path_new_from_string(path)); ret = gtk_tree_store_iter_depth(GTK_TREE_STORE(cstree->object), &iter); _clip_retni(ClipMachineMemory, ret); return 0; err: return 1; }
static void status_icon_renderer_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { AnjutaVcsStatus status; /* Don't show this renderer on placeholders */ gtk_cell_renderer_set_visible (renderer, gtk_tree_store_iter_depth (GTK_TREE_STORE (model), iter) > 0); gtk_tree_model_get (model, iter, COL_STATUS, &status, -1); switch (status) { case ANJUTA_VCS_STATUS_MODIFIED: g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_EDIT, NULL); break; case ANJUTA_VCS_STATUS_ADDED: g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_ADD, NULL); break; case ANJUTA_VCS_STATUS_DELETED: g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_REMOVE, NULL); break; case ANJUTA_VCS_STATUS_CONFLICTED: g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_DIALOG_WARNING, NULL); break; case ANJUTA_VCS_STATUS_UPTODATE: g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_APPLY, NULL); break; case ANJUTA_VCS_STATUS_LOCKED: g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_DIALOG_AUTHENTICATION, NULL); break; case ANJUTA_VCS_STATUS_MISSING: g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_MISSING_IMAGE, NULL); break; case ANJUTA_VCS_STATUS_UNVERSIONED: g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_DIALOG_QUESTION, NULL); break; case ANJUTA_VCS_STATUS_IGNORED: g_object_set (G_OBJECT (renderer), "stock-id", GTK_STOCK_STOP, NULL); break; case ANJUTA_VCS_STATUS_NONE: default: break; } }
static void path_renderer_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gchar *path; gchar *placeholder; gtk_tree_model_get (model, iter, COL_PATH, &path, -1); /* Use the path column to show placeholders as well */ if (gtk_tree_store_iter_depth (GTK_TREE_STORE (model), iter) == 0) { placeholder = g_strdup_printf ("<b>%s</b>", path); g_object_set (G_OBJECT (renderer), "markup", placeholder, NULL); g_free (placeholder); } else g_object_set (G_OBJECT (renderer), "text", path, NULL); g_free (path); }
static void status_name_renderer_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { AnjutaVcsStatus status; gtk_tree_model_get (model, iter, COL_STATUS, &status, -1); /* Don't show this renderer on placeholders */ gtk_cell_renderer_set_visible (renderer, gtk_tree_store_iter_depth (GTK_TREE_STORE (model), iter) > 0); switch (status) { case ANJUTA_VCS_STATUS_MODIFIED: g_object_set (G_OBJECT (renderer), "text", _("Modified"), NULL); break; case ANJUTA_VCS_STATUS_ADDED: g_object_set (G_OBJECT (renderer), "text", _("Added"), NULL); break; case ANJUTA_VCS_STATUS_DELETED: g_object_set (G_OBJECT (renderer), "text", _("Deleted"), NULL); break; case ANJUTA_VCS_STATUS_CONFLICTED: g_object_set (G_OBJECT (renderer), "text", _("Conflicted"), NULL); break; case ANJUTA_VCS_STATUS_UPTODATE: g_object_set (G_OBJECT (renderer), "text", _("Up-to-date"), NULL); break; case ANJUTA_VCS_STATUS_LOCKED: g_object_set (G_OBJECT (renderer), "text", _("Locked"), NULL); break; case ANJUTA_VCS_STATUS_MISSING: g_object_set (G_OBJECT (renderer), "text", _("Missing"), NULL); break; case ANJUTA_VCS_STATUS_UNVERSIONED: g_object_set (G_OBJECT (renderer), "text", _("Unversioned"), NULL); break; case ANJUTA_VCS_STATUS_IGNORED: g_object_set (G_OBJECT (renderer), "text", _("Ignored"), NULL); break; case ANJUTA_VCS_STATUS_NONE: default: break; } }
static void selected_renderer_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gboolean selected; /* Don't show the checkbox on the toplevel items--these are supposed to * be placeholders to show the two sections, Changes to be committed and * Changeed but not updated. */ gtk_cell_renderer_set_visible (renderer, gtk_tree_store_iter_depth (GTK_TREE_STORE (model), iter) > 0); gtk_tree_model_get (model, iter, COL_SELECTED, &selected, -1); gtk_cell_renderer_toggle_set_active (GTK_CELL_RENDERER_TOGGLE (renderer), selected); }
/* translate a row-changed event into a property-changed or * schema-changed event with the detail. */ static void tree_model_row_changed (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer user_data) { gint depth; XMPSchema *schema; /* 1. check which iter depth the change was: 0 for schema 1 for * property? */ depth = gtk_tree_store_iter_depth (GTK_TREE_STORE (model), iter); if (depth == XMP_MODEL_SCHEMA) { /* 2. If a schema has changed, emit a schema changed signal */ } if (depth == XMP_MODEL_PROPERTY) { schema = find_xmp_schema_by_iter (XMP_MODEL (model), iter); xmp_model_property_changed (XMP_MODEL (model), schema, iter); } }
static int loglist_sort_func (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data) { char *name_a, *name_b; Day *day_a, *day_b; int retval = 0; switch (gtk_tree_store_iter_depth (GTK_TREE_STORE (model), a)) { case 0: gtk_tree_model_get (model, a, LOG_NAME, &name_a, -1); gtk_tree_model_get (model, b, LOG_NAME, &name_b, -1); retval = g_utf8_collate (name_a, name_b); g_free (name_a); g_free (name_b); break; case 1: gtk_tree_model_get (model, a, LOG_DAY, &day_a, -1); gtk_tree_model_get (model, b, LOG_DAY, &day_b, -1); if (day_a && day_b) { retval = days_compare (day_a, day_b); } else { retval = 0; } break; default: g_assert_not_reached (); break; } return retval; }
static void stash_message_renderer_data_func (GtkTreeViewColumn *tree_column, GtkCellRenderer *renderer, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data) { gboolean visible; gchar *message; /* Don't show this column on diffs */ visible = gtk_tree_store_iter_depth (GTK_TREE_STORE (model), iter) == 0; gtk_cell_renderer_set_visible (renderer, visible); if (visible) { gtk_tree_model_get (model, iter, COL_MESSAGE, &message, -1); g_object_set (renderer, "text", message, NULL); g_free (message); } else g_object_set (renderer, "text", "", NULL); }
static VALUE rg_iter_depth(VALUE self, VALUE iter) { return INT2NUM(gtk_tree_store_iter_depth(_SELF(self), RVAL2GTKTREEITER(iter))); }