r296 - trunk/src/target/OM-2007/openmoko-libs/libmokoui

mickey at gta01.hmw-consulting.de mickey at gta01.hmw-consulting.de
Tue Dec 5 00:25:18 CET 2006


Author: mickey
Date: 2006-12-04 23:25:18 +0000 (Mon, 04 Dec 2006)
New Revision: 296

Modified:
   trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-tool-box.c
   trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-wheel.c
Log:
mokoui: MokoFingerTools now resizing based on visibility of MokoFingerWheel


Modified: trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-tool-box.c
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-tool-box.c	2006-12-04 19:40:37 UTC (rev 295)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-tool-box.c	2006-12-04 23:25:18 UTC (rev 296)
@@ -70,7 +70,7 @@
 }
 
 static void
-moko_finger_tool_box_class_init (MokoFingerToolBoxClass *klass)
+moko_finger_tool_box_class_init(MokoFingerToolBoxClass *klass)
 {
     GObjectClass *object_class = G_OBJECT_CLASS (klass);
     parent_class = g_type_class_peek_parent(klass);
@@ -225,22 +225,20 @@
     {
         priv->popup = gtk_window_new(GTK_WINDOW_POPUP);
         gtk_container_add( GTK_CONTAINER(priv->popup), widget );
-        MokoWindow* window = moko_application_get_main_window( moko_application_get_instance() );
-        g_return_if_fail( MOKO_IS_FINGER_WINDOW(window) );
-        GtkAllocation geometry;
-        gboolean valid = moko_finger_window_get_geometry_hint( MOKO_FINGER_WINDOW(window), widget, &geometry );
-        g_signal_connect_after( G_OBJECT(widget), "size_allocate", G_CALLBACK(cb_size_allocate), widget );
-        gtk_window_move( priv->popup, geometry.x, geometry.y );
-        gtk_widget_set_size_request( GTK_WIDGET(widget), geometry.width, geometry.height );
-        gtk_window_resize( priv->popup, geometry.width, geometry.height );
     }
-    gtk_widget_show( priv->popup );
+
     MokoWindow* window = moko_application_get_main_window( moko_application_get_instance() );
-    if ( MOKO_IS_FINGER_WINDOW(window) )
-    {
-        MokoFingerWheel* wheel = moko_finger_window_get_wheel( MOKO_FINGER_WINDOW(window) );
-        if ( wheel && GTK_WIDGET_VISIBLE(wheel) ) moko_finger_wheel_raise( wheel );
-    }
+    g_return_if_fail( MOKO_IS_FINGER_WINDOW(window) );
+    GtkAllocation geometry;
+    gboolean valid = moko_finger_window_get_geometry_hint( MOKO_FINGER_WINDOW(window), widget, &geometry );
+    g_signal_connect_after( G_OBJECT(widget), "size_allocate", G_CALLBACK(cb_size_allocate), widget );
+    gtk_window_move( priv->popup, geometry.x, geometry.y );
+    gtk_widget_set_size_request( GTK_WIDGET(widget), geometry.width, geometry.height );
+    gtk_window_resize( priv->popup, geometry.width, geometry.height );
+
+    gtk_widget_show( priv->popup );
+    MokoFingerWheel* wheel = moko_finger_window_get_wheel( MOKO_FINGER_WINDOW(window) );
+    if ( wheel && GTK_WIDGET_VISIBLE(wheel) ) moko_finger_wheel_raise( wheel );
 }
 
 static void moko_finger_tool_box_hide(GtkWidget* widget)
@@ -252,7 +250,7 @@
 }
 
 static void
-moko_finger_tool_box_init (MokoFingerToolBox *self)
+moko_finger_tool_box_init(MokoFingerToolBox *self)
 {
     MokoFingerToolBoxPrivate* priv = MOKO_FINGER_TOOL_BOX_GET_PRIVATE(self);
     gtk_widget_set_name( GTK_WIDGET(self), "mokofingertoolbox" );
@@ -273,7 +271,7 @@
 
 /* public API */
 GtkWidget*
-moko_finger_tool_box_new (void)
+moko_finger_tool_box_new(void)
 {
     return GTK_WIDGET(g_object_new(moko_finger_tool_box_get_type(), NULL));
 }

Modified: trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-wheel.c
===================================================================
--- trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-wheel.c	2006-12-04 19:40:37 UTC (rev 295)
+++ trunk/src/target/OM-2007/openmoko-libs/libmokoui/moko-finger-wheel.c	2006-12-04 23:25:18 UTC (rev 296)
@@ -213,6 +213,8 @@
         if ( GTK_WIDGET_VISIBLE(toolbox) )
         {
             moko_debug( "moko_finger_wheel: toolbox is visible, sending resize" );
+            gtk_widget_hide( GTK_WIDGET(toolbox) );
+            gtk_widget_show( GTK_WIDGET(toolbox) );
         }
         else
         {
@@ -231,6 +233,27 @@
     GTK_WIDGET_CLASS(parent_class)->hide(widget);
     MokoFingerWheelPrivate* priv = MOKO_FINGER_WHEEL_GET_PRIVATE(widget);
     gtk_widget_hide( priv->popup );
+
+    /* resize FingerToolBox, if visible */
+    MokoWindow* window = moko_application_get_main_window( moko_application_get_instance() );
+    if ( MOKO_IS_FINGER_WINDOW(window) )
+    {
+        MokoFingerToolBox* toolbox = moko_finger_window_get_toolbox( MOKO_FINGER_WINDOW(window) );
+        if ( GTK_WIDGET_VISIBLE(toolbox) )
+        {
+            moko_debug( "moko_finger_wheel: toolbox is visible, sending resize" );
+            gtk_widget_hide( GTK_WIDGET(toolbox) );
+            gtk_widget_show( GTK_WIDGET(toolbox) );
+        }
+        else
+        {
+            moko_debug( "moko_finger_wheel: toolbox not visible, doing nothing" );
+        }
+    }
+    else
+    {
+        g_warning( "moko_finger_wheel: main window is not a finger window" );
+    }
 }
 
 void moko_finger_wheel_raise(MokoFingerWheel* self)





More information about the commitlog mailing list