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