Beispiel #1
0
static bool find_app(graph_view_handle view, uint64_t id, GtkTreeIter * view_iter_ptr, GtkTreeIter * app_iter_ptr)
{
  gint type;
  uint64_t id2;

  if (!find_view(view, view_iter_ptr))
  {
    return false;
  }

  if (!gtk_tree_model_iter_children(GTK_TREE_MODEL(g_treestore), app_iter_ptr, view_iter_ptr))
  {
    return false;
  }

  do
  {
    gtk_tree_model_get(GTK_TREE_MODEL(g_treestore), app_iter_ptr, COL_TYPE, &type, COL_ID, &id2, -1);
    if (type == entry_type_app && id == id2)
    {
      return true;
    }
  }
  while (gtk_tree_model_iter_next(GTK_TREE_MODEL(g_treestore), app_iter_ptr));

  return false;
}
Beispiel #2
0
void world_tree_name_changed(graph_view_handle view)
{
  GtkTreeIter iter;

  if (find_view(view, &iter))
  {
    gtk_tree_store_set(g_treestore, &iter, COL_NAME, get_view_name(view), -1);
  }
}
Beispiel #3
0
void world_tree_activate(graph_view_handle view)
{
  GtkTreeIter iter;

  if (find_view(view, &iter))
  {
    gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(g_world_tree_widget)), &iter);
  }
}
Beispiel #4
0
void world_tree_remove(graph_view_handle view)
{
  GtkTreeIter iter;

  if (find_view(view, &iter))
  {
    gtk_tree_store_remove(g_treestore, &iter);
  }
}
Beispiel #5
0
static unsigned int count_changed_views(square sq_viewed)
{
  unsigned int result = 0;
  unsigned int i;

  TraceFunctionEntry(__func__);
  TraceSquare(sq_viewed);
  TraceFunctionParamListEnd();

  for (i = magic_views_top[stack_pointer-1]; i<magic_views_top[stack_pointer]; ++i)
    if (magicviews[i].pos_viewed==sq_viewed
        && !find_view(stack_pointer-1,i))
      ++result;

  TraceFunctionExit(__func__);
  TraceFunctionResult("%u",result);
  TraceFunctionResultEnd();
  return result;
}
Beispiel #6
0
void world_tree_add_app(graph_view_handle view, uint64_t id, const char * app_name, bool running, bool terminal, const char * level)
{
  GtkTreeIter iter;
  const char * view_name;
  GtkTreeIter child;
  GtkTreePath * path;
  char * app_name_with_status;

  if (!find_view(view, &iter))
  {
    ASSERT_NO_PASS;
    return;
  }

  path = gtk_tree_model_get_path(GTK_TREE_MODEL(g_treestore), &iter);

  gtk_tree_model_get(GTK_TREE_MODEL(g_treestore), &iter, COL_NAME, &view_name, -1);

  log_info("adding app '%s' to '%s'", app_name, view_name);

  app_name_with_status = get_app_name_string(app_name, running, terminal, level);
  if (app_name_with_status == NULL)
  {
    goto free_path;
  }

  gtk_tree_store_append(g_treestore, &child, &iter);
  gtk_tree_store_set(
    g_treestore,
    &child,
    COL_TYPE, entry_type_app,
    COL_NAME, app_name_with_status,
    COL_ID, id,
    COL_RUNNING, running,
    COL_TERMINAL, terminal,
    COL_LEVEL, level,
    -1);
  gtk_tree_view_expand_row(GTK_TREE_VIEW(g_world_tree_widget), path, false);

  free(app_name_with_status);
free_path:
  gtk_tree_path_free(path);
}
Beispiel #7
0
char *
add_field_to_view(char *viewname, char *field)
{
	abook_view *v;
	abook_field *f;

	if(
			!(f = find_declared_field(field)) &&
			!(f = find_standard_field(field, 1 /*do_declare*/))
		)
		return _("undeclared field");
	
	if((v = find_view(viewname)) == NULL)
		v = create_view(viewname);
	else if(fields_in_view(v) == MAX_VIEW_FIELDS)
		return _("maximal number of fields per view reached");

	if(v->fields && (find_field(field, v->fields)))
		return _("field already in this view");

	add_field(&v->fields, f);
	
	return NULL;
}