static void hview_init(void) { HviewWidgetsT widgets; GtkTreeModel *domains; gchar err[1024]; gint i; for (i = 0; i < HVIEW_MAX_TAB_WINDOWS; i++) { widgets.tab_views[i].resource_view = NULL; widgets.tab_views[i].detail_view = NULL; widgets.tab_views[i].event_subscribed = 0; widgets.tab_views[i].sessionid = 0; } widgets.main_window = hview_get_main_window(&widgets); hview_print(&widgets, HVIEW_NAME_VERSION); domains = voh_list_domains(err); if (domains == NULL) { hview_print(&widgets, err); } else { gtk_tree_view_set_model(GTK_TREE_VIEW(widgets.domain_view), domains); g_object_unref(domains); } hview_statusbar_push(&widgets, "welcome"); gtk_widget_show_all(widgets.main_window); gtk_widget_hide(widgets.message_window); gtk_widget_hide(widgets.event_window); gtk_widget_hide(widgets.log_hbox); }
int main(int argc, char *argv[]) { GtkTreeModel *domains; gtk_init(&argc, &argv); hview_init(); voh_init(); domains = voh_list_domains(); gtk_tree_view_set_model(GTK_TREE_VIEW(tree_view), domains); g_object_unref(domains); gtk_main(); return 0; }
static void hview_tree_column_activated_call(GtkTreeViewColumn *column) { gchar *name = NULL; int state; GtkTreeSelection *selection; GtkTreeModel *store; GtkTreeModel *newstore; GtkTreeIter iter; state = hview_which_tree_store(column); if (state == HVIEW_TREE_STORE_IS_UNKNOWN) return; selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree_view)); if (gtk_tree_selection_get_selected(selection, &store, &iter)) { gtk_tree_model_get (store, &iter, 0, &name, -1); } else { if (state == HVIEW_TREE_STORE_IS_DOMAINS) { hview_print("please select domain"); return; /* domain should be selected */ } } if (state == HVIEW_TREE_STORE_IS_DOMAINS) { gtk_tree_view_column_set_title(column, HVIEW_RESOURCE_COLUMN_TITLE); gtk_window_set_title(GTK_WINDOW(main_window), name); newstore = voh_list_resources(); gtk_tree_view_set_model(GTK_TREE_VIEW(tree_view), GTK_TREE_MODEL(newstore)); } else { gtk_tree_view_column_set_title(column, HVIEW_DOMAIN_COLUMN_TITLE); gtk_window_set_title(GTK_WINDOW(main_window), HVIEW_TITLE); newstore = voh_list_domains(); gtk_tree_view_set_model(GTK_TREE_VIEW(tree_view), GTK_TREE_MODEL(newstore)); } g_object_unref(newstore); if (name) g_free(name); }