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; }
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); } }
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); } }
void world_tree_remove(graph_view_handle view) { GtkTreeIter iter; if (find_view(view, &iter)) { gtk_tree_store_remove(g_treestore, &iter); } }
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; }
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); }
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; }