summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorross <ross@b067294f-1dea-0310-9683-c47a78595994>2005-09-30 15:06:07 +0000
committerross <ross@b067294f-1dea-0310-9683-c47a78595994>2005-09-30 15:06:07 +0000
commita85c9f43153d3e874b55acb20a67334b14c4c7d1 (patch)
treea7d5de9e8ba794852b86baca10b26ba94ed8024d
parentf2171a0f9c975f9940f1ed6199410731a3e971fe (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.glade86
-rw-r--r--src/main.c26
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&lt;/small&gt;</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>
diff --git a/src/main.c b/src/main.c
index af2ec86..c93d111 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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)