static GtkWidget *_create_bookmark_dialog(gchar *label, gchar *module, gchar *key) { #ifdef USE_GTKBUILDER GtkBuilder *gxml; #else GladeXML *gxml; #endif gchar *glade_file = gui_general_user_file("bookmarks" UI_SUFFIX, TRUE); g_return_val_if_fail(glade_file != NULL, NULL); XI_message(("%s", glade_file)); /* build the widget */ #ifdef USE_GTKBUILDER gxml = gtk_builder_new(); gtk_builder_add_from_file(gxml, glade_file, NULL); #else gxml = glade_xml_new(glade_file, NULL, NULL); #endif g_free(glade_file); g_return_val_if_fail(gxml != NULL, NULL); /* lookup the root widget */ bookmark_dialog = UI_GET_ITEM(gxml, "dialog"); g_signal_connect(bookmark_dialog, "response", G_CALLBACK(on_dialog_response), NULL); /* treeview */ treeview = UI_GET_ITEM(gxml, "treeview"); setup_treeview(); g_signal_connect(treeview, "button-release-event", G_CALLBACK(on_treeview_button_release_event), NULL); /* entrys */ entry_label = UI_GET_ITEM(gxml, "entry1"); entry_key = UI_GET_ITEM(gxml, "entry2"); entry_module = UI_GET_ITEM(gxml, "entry3"); gtk_entry_set_text(GTK_ENTRY(entry_label), label); gtk_entry_set_text(GTK_ENTRY(entry_key), key); gtk_entry_set_text(GTK_ENTRY(entry_module), module); g_signal_connect(entry_label, "activate", G_CALLBACK(on_dialog_enter), NULL); g_signal_connect(entry_key, "activate", G_CALLBACK(on_dialog_enter), NULL); g_signal_connect(entry_module, "activate", G_CALLBACK(on_dialog_enter), NULL); /* dialog buttons */ button_new_folder = UI_GET_ITEM(gxml, "button1"); button_add_bookmark = UI_GET_ITEM(gxml, "button3"); return bookmark_dialog; }
static gboolean setup_treeview_idle (gpointer data) { GtkWidget *preview; GtkWidget *treeview; preview = GTK_WIDGET (gtk_builder_get_object (builder, "preview_area")); treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview")); setup_treeview (treeview, preview); setup_treeview_selection (treeview); return FALSE; }
void setup_device_treeview (GtkBuilder *builder) { GtkTreeModel *model; GtkTreeSelection *selection; GtkCellRenderer *renderer; GtkTreeViewColumn *column; char *headers[] = { _("Device"), NULL}; treeview = GTK_WIDGET (gtk_builder_get_object (builder, "device-treeview")); g_assert (treeview != NULL); popup = GTK_WIDGET (gtk_builder_get_object (builder, "device-popup")); g_assert (popup != NULL); subscribe_menuitem = GTK_WIDGET (gtk_builder_get_object ( builder, "subscribe-to-events")); g_assert (subscribe_menuitem != NULL); action_menuitem = GTK_WIDGET (gtk_builder_get_object (builder, "invoke-action")); g_assert (action_menuitem != NULL); separator = GTK_WIDGET (gtk_builder_get_object ( builder, "device-popup-separator")); g_assert (separator != NULL); model = create_device_treemodel (); g_assert (model != NULL); setup_treeview (treeview, model, headers, 1); g_object_unref (model); column = gtk_tree_view_get_column (GTK_TREE_VIEW (treeview), 0); renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_add_attribute (column, renderer, "pixbuf", 0); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); g_assert (selection != NULL); g_signal_connect (selection, "changed", G_CALLBACK (on_something_selected), NULL); expanded = FALSE; }
static void setup_treeviews () { GtkWidget *treeviews[2]; GtkTreeModel *treemodels[2]; char *headers[2][6] = { {"Time", "Source Address", "Packet Type", "Packet Information", NULL }, {"Unique Identifier", "First Notify", "Device Type", "Location", NULL } }; GtkTreeSelection *selection; int i; treeviews[0] = GTK_WIDGET(gtk_builder_get_object (builder, "packet-treeview")); g_assert (treeviews[0] != NULL); treeviews[1] = GTK_WIDGET(gtk_builder_get_object (builder, "device-details-treeview")); g_assert (treeviews[1] != NULL); treemodels[0] = create_packet_treemodel (); g_assert (treemodels[0] != NULL); treemodels[1] = create_device_treemodel (); g_assert (treemodels[1] != NULL); for (i=0; i<2; i++) setup_treeview (treeviews[i], treemodels[i], headers[i]); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeviews[0])); g_assert (selection != NULL); g_signal_connect (selection, "changed", G_CALLBACK (on_packet_selected), (gpointer *) treeviews[0]); }
void show_bookmark_editor (GtkMenuItem *item, gpointer data) { GError *err = NULL; if (editor == NULL) { editor = g_malloc0 (sizeof(BookmarkEditor)); gtk_builder_get_all_widgets_simple (BOOKMARK_EDITOR_UI, "BMWindow", &editor->window, "treeview", &editor->treeview, "toolbar", &editor->toolbar, "add_button", &editor->add_button, "delete_button", &editor->delete_button, "name_entry", &editor->name_entry, "host_entry", &editor->host_entry, "protocol_combo", &editor->protocol_combo, "user_entry", &editor->user_entry, "passwd_entry", &editor->passwd_entry, "port_entry", &editor->port_entry, "save_button", &editor->save_button, "connect_button", &editor->connect_button, NULL); g_signal_connect (editor->window, "delete-event", G_CALLBACK(delete_event_cb), NULL); gtk_window_set_transient_for (editor->window, GTK_WINDOW(gftp_interface->window)); setup_treeview(); setup_toolbar(); setup_protocol_combo(); setup_edit_area (); set_sensitivity (); } gtk_widget_show_all (GTK_WIDGET (editor->window)); }
void setup_details_treeview (GtkBuilder *builder) { GtkTreeModel *model; char *headers[3] = { _("Name"), _("Value"), NULL }; treeview = GTK_WIDGET (gtk_builder_get_object (builder, "details-treeview")); g_assert (treeview != NULL); copy_value_menuitem = GTK_WIDGET (gtk_builder_get_object (builder, "copy-value-menuitem")); g_assert (copy_value_menuitem != NULL); popup = GTK_WIDGET (gtk_builder_get_object (builder, "details-popup")); g_assert (popup != NULL); model = create_details_treemodel (); g_assert (model != NULL); setup_treeview (treeview, model, headers, 0); g_object_unref (model); }
/* Main entry point */ int main(int argc, char** argv) { GtkWidget *window; GtkAccelGroup *group; struct eid_vwr_ui_callbacks* cb; pthread_t thread; GdkPixbuf *logo; GError* err = NULL; /* The GNU implementation of setlocale() ignores whatever we * specify if the LANGUAGE environment variable has a value, so * ensure that it doesn't */ putenv("LANGUAGE="); bindtextdomain("eid-viewer", DATAROOTDIR "/locale"); textdomain("eid-viewer"); eid_vwr_convert_set_lang(langfromenv()); gtk_init(&argc, &argv); builder = gtk_builder_new(); if(gtk_builder_add_from_string(builder, VIEWER_GLADE_STRING, strlen(VIEWER_GLADE_STRING), &err) == 0) { g_critical("Could not parse Glade XML: %s", err->message); exit(EXIT_FAILURE); } window = GTK_WIDGET(gtk_builder_get_object(builder, "mainwin")); group = gtk_accel_group_new(); gtk_window_add_accel_group(GTK_WINDOW(window), group); touched_labels = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); bindata_init(); connect_signals(window); setup_treeview(); certs_init(); cb = eid_vwr_cbstruct(); cb->newsrc = newsrc; cb->newstringdata = newstringdata; cb->newbindata = newbindata; cb->logv = ui_log_init(); cb->newstate = newstate; cb->pinop_result = pinop_result; cb->readers_changed = readers_changed; eid_vwr_createcallbacks(cb); pthread_create(&thread, NULL, threadmain, NULL); G_GNUC_BEGIN_IGNORE_DEPRECATIONS logo = gdk_pixbuf_from_pixdata(&logo_128, FALSE, NULL); G_GNUC_END_IGNORE_DEPRECATIONS gtk_window_set_default_icon(logo); gtk_widget_show(window); if(argc > 1) { eid_vwr_be_deserialize(argv[1]); } gtk_main(); return 0; }