diff options
author | ross <ross@b067294f-1dea-0310-9683-c47a78595994> | 2005-09-30 15:06:07 +0000 |
---|---|---|
committer | ross <ross@b067294f-1dea-0310-9683-c47a78595994> | 2005-09-30 15:06:07 +0000 |
commit | a85c9f43153d3e874b55acb20a67334b14c4c7d1 (patch) | |
tree | a7d5de9e8ba794852b86baca10b26ba94ed8024d | |
parent | f2171a0f9c975f9940f1ed6199410731a3e971fe (diff) |
Don't use backbuffer, but a GtkImage
git-svn-id: http://svn.o-hand.com/repos/matchbox/trunk/Xoo@1229 b067294f-1dea-0310-9683-c47a78595994
-rw-r--r-- | data/Xoo.glade | 86 | ||||
-rw-r--r-- | src/main.c | 26 |
2 files changed, 83 insertions, 29 deletions
diff --git a/data/Xoo.glade b/data/Xoo.glade index 40c3c74..fe254f0 100644 --- a/data/Xoo.glade +++ b/data/Xoo.glade @@ -18,6 +18,8 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> <signal name="destroy" handler="on_window_destroy" last_modification_time="Mon, 08 Nov 2004 12:58:27 GMT"/> <child> @@ -29,6 +31,8 @@ <child> <widget class="GtkMenuBar" id="menubar"> <property name="visible">True</property> + <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property> + <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property> <child> <widget class="GtkMenuItem" id="menuitem1"> @@ -42,7 +46,6 @@ <child> <widget class="GtkMenuItem" id="select_device"> <property name="visible">True</property> - <property name="sensitive">True</property> <property name="label" translatable="yes">Select _Device...</property> <property name="use_underline">True</property> <signal name="activate" handler="on_select_device_activate" last_modification_time="Mon, 08 Nov 2004 12:08:36 GMT"/> @@ -116,20 +119,45 @@ </child> <child> - <widget class="GtkFixed" id="fixed"> + <widget class="GtkEventBox" id="eventbox1"> <property name="visible">True</property> - <signal name="button_press_event" handler="on_popup_menu_show" last_modification_time="Mon, 08 Nov 2004 15:55:45 GMT"/> + <property name="events">GDK_BUTTON_PRESS_MASK</property> + <property name="visible_window">True</property> + <property name="above_child">False</property> + <signal name="button_press_event" handler="on_popup_menu_show" last_modification_time="Fri, 30 Sep 2005 15:04:11 GMT"/> <child> - <widget class="GtkDrawingArea" id="winnest"> - <property name="width_request">50</property> - <property name="height_request">50</property> + <widget class="GtkFixed" id="fixed"> <property name="visible">True</property> + + <child> + <widget class="GtkDrawingArea" id="winnest"> + <property name="width_request">50</property> + <property name="height_request">50</property> + <property name="visible">True</property> + </widget> + <packing> + <property name="x">48</property> + <property name="y">48</property> + </packing> + </child> + + <child> + <widget class="GtkImage" id="back"> + <property name="width_request">21</property> + <property name="height_request">21</property> + <property name="visible">True</property> + <property name="xalign">0.5</property> + <property name="yalign">0.5</property> + <property name="xpad">0</property> + <property name="ypad">0</property> + </widget> + <packing> + <property name="x">8</property> + <property name="y">8</property> + </packing> + </child> </widget> - <packing> - <property name="x">48</property> - <property name="y">48</property> - </packing> </child> </widget> <packing> @@ -144,6 +172,8 @@ <widget class="GtkMenuBar" id="popupmenubar"> <property name="visible">True</property> + <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property> + <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property> <child> <widget class="GtkMenuItem" id="popupmenu"> @@ -181,6 +211,8 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> <signal name="delete_event" handler="on_delete_event_hide" last_modification_time="Wed, 01 Dec 2004 18:42:22 GMT"/> <child> @@ -231,6 +263,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="left_attach">0</property> @@ -255,6 +291,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="left_attach">0</property> @@ -279,6 +319,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="left_attach">0</property> @@ -406,6 +450,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="left_attach">0</property> @@ -455,6 +503,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="type">label_item</property> @@ -522,6 +574,8 @@ <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> + <property name="focus_on_map">True</property> + <property name="urgency_hint">False</property> <signal name="delete_event" handler="on_delete_event_hide" last_modification_time="Wed, 01 Dec 2004 18:37:55 GMT"/> <child> @@ -544,6 +598,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -565,6 +623,10 @@ <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -587,6 +649,10 @@ info@o-hand.com</small></property> <property name="yalign">0.5</property> <property name="xpad">0</property> <property name="ypad">0</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> + <property name="width_chars">-1</property> + <property name="single_line_mode">False</property> + <property name="angle">0</property> </widget> <packing> <property name="padding">0</property> @@ -99,8 +99,7 @@ fakeapp_new (void) app->window = glade_xml_get_widget (glade, "window"); app->menubar = glade_xml_get_widget (glade, "menubar"); app->fixed = glade_xml_get_widget (glade, "fixed"); - gtk_fixed_set_has_window (GTK_FIXED (app->fixed), TRUE); - + app->back = glade_xml_get_widget (glade, "back"); app->winnest = glade_xml_get_widget (glade, "winnest"); g_signal_connect (app->window, "key-press-event", @@ -134,7 +133,6 @@ fakeapp_new (void) void fakeapp_create_gui (FakeApp * app) { - GdkPixmap *back; GdkColor color; GdkGC *gc; FakeButton *button; @@ -151,22 +149,12 @@ fakeapp_create_gui (FakeApp * app) gtk_fixed_move (GTK_FIXED (app->fixed), app->winnest, app->device_display_x, app->device_display_y); - /* Force this widget to have X resources, so we can use it */ - gtk_widget_realize (app->fixed); - - /* Set the device image, by setting the back buffer of the widget */ - back = - gdk_pixmap_new (app->fixed->window, app->device_width, app->device_height, - -1); - gc = gdk_gc_new (GDK_DRAWABLE (back)); - gdk_color_parse ("black", &color); - gdk_gc_set_rgb_fg_color (gc, &color); - gdk_draw_rectangle (GDK_DRAWABLE (back), gc, TRUE, 0, 0, app->device_width, - app->device_height); - gdk_draw_pixbuf (GDK_DRAWABLE (back), NULL, app->device_img, 0, 0, 0, 0, -1, - -1, GDK_RGB_DITHER_NONE, 0, 0); - gdk_window_set_back_pixmap (app->fixed->window, back, FALSE); - g_object_unref (gc); + /* Set the device image */ + gtk_widget_set_size_request (app->back, + app->device_width, + app->device_height); + gtk_fixed_move (GTK_FIXED (app->fixed), app->back, 0, 0); + gtk_image_set_from_pixbuf (GTK_IMAGE (app->back), app->device_img); /* Now setup the buttons */ for (button = app->button_head; button; button = button->next) |