Пример #1
0
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);
}
Пример #2
0
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);
}
Пример #3
0
/******************************************************************************
* 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;
}
Пример #4
0
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;
	}
}
Пример #5
0
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);
	
}
Пример #6
0
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;
	}
}
Пример #7
0
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);
}
Пример #8
0
/* 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);
  }
}
Пример #9
0
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;
}
Пример #10
0
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);
}
Пример #11
0
static VALUE
rg_iter_depth(VALUE self, VALUE iter)
{
    return INT2NUM(gtk_tree_store_iter_depth(_SELF(self), RVAL2GTKTREEITER(iter)));
}