Esempio n. 1
0
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;
}
Esempio n. 4
0
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]);
}
Esempio n. 5
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));
}
Esempio n. 6
0
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);
}
Esempio n. 7
0
/* 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;
}