The name of the file was also changed to calibratorgui.c/h to avoid it being inconsistent, this way it is no longer dependent on the the technology. https://bugzilla.gnome.org/show_bug.cgi?id=667797
108 lines
2.5 KiB
C
108 lines
2.5 KiB
C
|
|
#include "config.h"
|
|
|
|
#include <glib/gi18n.h>
|
|
#include <clutter-gtk/clutter-gtk.h>
|
|
|
|
#include "cc-wacom-page.h"
|
|
#include "gsd-wacom-device.h"
|
|
#include "clutter/clutter.h"
|
|
|
|
#define FIXED_WIDTH 675
|
|
|
|
void
|
|
cc_wacom_panel_switch_to_panel (CcWacomPanel *self, const char *panel)
|
|
{
|
|
g_message ("Should launch %s preferences here", panel);
|
|
}
|
|
|
|
static void
|
|
add_page (GList *devices,
|
|
GtkWidget *notebook)
|
|
{
|
|
GtkWidget *widget;
|
|
GsdWacomDevice *stylus, *eraser, *pad;
|
|
GList *l;
|
|
|
|
if (devices == NULL)
|
|
return;
|
|
|
|
stylus = eraser = pad = NULL;
|
|
for (l = devices; l ; l = l->next) {
|
|
switch (gsd_wacom_device_get_device_type (l->data)) {
|
|
case WACOM_TYPE_ERASER:
|
|
eraser = l->data;
|
|
break;
|
|
case WACOM_TYPE_STYLUS:
|
|
stylus = l->data;
|
|
break;
|
|
case WACOM_TYPE_PAD:
|
|
pad = l->data;
|
|
break;
|
|
default:
|
|
/* Nothing */
|
|
;
|
|
}
|
|
}
|
|
g_list_free (devices);
|
|
|
|
widget = cc_wacom_page_new (NULL, stylus, eraser, pad);
|
|
cc_wacom_page_set_navigation (CC_WACOM_PAGE (widget), GTK_NOTEBOOK (notebook), FALSE);
|
|
gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, NULL);
|
|
gtk_widget_show (widget);
|
|
}
|
|
|
|
static gboolean
|
|
delete_event_cb (GtkWidget *widget,
|
|
GdkEvent *event,
|
|
gpointer user_data)
|
|
{
|
|
gtk_main_quit ();
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
int main (int argc, char **argv)
|
|
{
|
|
GtkWidget *window, *notebook;
|
|
GList *devices;
|
|
|
|
bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
|
|
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
|
|
textdomain (GETTEXT_PACKAGE);
|
|
|
|
if (gtk_clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) {
|
|
g_critical ("Unable to initialize Clutter");
|
|
return 1;
|
|
}
|
|
|
|
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
|
|
gtk_widget_set_size_request (window, FIXED_WIDTH, -1);
|
|
g_signal_connect (G_OBJECT (window), "delete-event",
|
|
G_CALLBACK (delete_event_cb), NULL);
|
|
notebook = gtk_notebook_new ();
|
|
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (notebook), FALSE);
|
|
gtk_widget_set_vexpand (notebook, TRUE);
|
|
gtk_container_set_border_width (GTK_CONTAINER (notebook), 24);
|
|
gtk_container_add (GTK_CONTAINER (window), notebook);
|
|
gtk_widget_show (notebook);
|
|
|
|
devices = gsd_wacom_device_create_fake_intuos4 ();
|
|
add_page (devices, notebook);
|
|
|
|
devices = gsd_wacom_device_create_fake_cintiq ();
|
|
add_page (devices, notebook);
|
|
|
|
devices = gsd_wacom_device_create_fake_bt ();
|
|
add_page (devices, notebook);
|
|
|
|
devices = gsd_wacom_device_create_fake_x201 ();
|
|
add_page (devices, notebook);
|
|
|
|
gtk_widget_show (window);
|
|
|
|
gtk_main ();
|
|
|
|
return 0;
|
|
}
|