r151 - trunk/src/target/OM-2007/libraries/mokoui
mickey at gta01.hmw-consulting.de
mickey at gta01.hmw-consulting.de
Mon Oct 30 16:04:17 CET 2006
Author: mickey
Date: 2006-10-30 15:04:16 +0000 (Mon, 30 Oct 2006)
New Revision: 151
Modified:
trunk/src/target/OM-2007/libraries/mokoui/moko-application.c
trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c
Log:
mokoui: got the menubox forwarder to work (finally...)
Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-application.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-application.c 2006-10-30 13:51:47 UTC (rev 150)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-application.c 2006-10-30 15:04:16 UTC (rev 151)
@@ -75,7 +75,6 @@
static void moko_application_init (MokoApplication *self)
{
- g_debug( "moko_application_init" );
MokoApplicationPriv *priv = MOKO_APPLICATION_GET_PRIVATE (self);
priv->killable = FALSE;
@@ -90,7 +89,6 @@
static void moko_application_finalize (GObject *self)
{
- g_debug( "moko_application_finalize", self );
MokoApplicationPriv *priv = MOKO_APPLICATION_GET_PRIVATE (MOKO_APPLICATION(self));
if (priv->common_toolbar)
Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c 2006-10-30 13:51:47 UTC (rev 150)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c 2006-10-30 15:04:16 UTC (rev 151)
@@ -110,21 +110,36 @@
static gboolean cb_button_release(GtkWidget *widget, GdkEventButton *event, GtkMenu* menu)
{
- //FIXME don't open menu when it is already opened
- g_debug( "menu open forwarder activated..." );
+ g_debug( "menu open forwarder activated on widget '%s'...", gtk_widget_get_name(widget) );
+ //FIXME works only with one menu per menubar
+ GList* children = gtk_container_get_children( GTK_CONTAINER(widget) );
+ GtkAllocation* a = >K_WIDGET(children->data)->allocation;
+ g_debug( "allocate is %d, %d * %d, %d", a->x, a->y, a->width, a->height );
+
+ if ( event->x > a->x && event->x < (a->x+a->width) &&
+ event->y > a->y && event->y < (a->y+a->height) )
+ {
+ g_debug( "INSIDE ITEM" );
+ return FALSE;
+ }
+ else
+ {
+ g_debug( "OUTSIDE ITEM" );
+ }
+
g_debug( "clicked on %f, %f", event->x, event->y );
if ( !GTK_WIDGET_VISIBLE(menu) )
{
g_debug( "menu open forwarder: not yet open -- popping up" );
gtk_menu_shell_select_first( GTK_MENU_SHELL(widget), FALSE );
- return FALSE;
+ return TRUE;
}
{
g_debug( "menu open forwarder: already open -- ignoring" );
gtk_menu_popdown( menu );
- return TRUE;
+ return FALSE;
}
}
@@ -171,7 +186,7 @@
gtk_menu_shell_append( GTK_MENU_BAR(priv->menubar_l), appitem );
//FIXME hack to popup the first menu if user clicks on menubar
- //g_signal_connect( GTK_WIDGET(priv->menubar_l), "button-release-event", G_CALLBACK(cb_button_release), menu );
+ g_signal_connect( GTK_WIDGET(priv->menubar_l), "button-release-event", G_CALLBACK(cb_button_release), menu );
}
void moko_menu_box_set_filter_menu(MokoMenuBox* self, GtkMenu* menu)
@@ -193,7 +208,7 @@
gtk_menu_shell_append( GTK_MENU_BAR(priv->menubar_r), filtitem );
//FIXME hack to popup the first menu if user clicks on menubar
- //g_signal_connect( GTK_WIDGET(priv->menubar_r), "button-release-event", G_CALLBACK(cb_button_release), menu );
+ g_signal_connect( GTK_WIDGET(priv->menubar_r), "button-release-event", G_CALLBACK(cb_button_release), menu );
}
void
More information about the commitlog
mailing list