r101 - in trunk/src/target/OM-2007: artwork/themes/openmoko-standard/gtk-2.0 examples/openmoko-paned-demo libraries/mokoui
mickey at gta01.hmw-consulting.de
mickey at gta01.hmw-consulting.de
Sun Oct 22 19:50:14 CEST 2006
Author: mickey
Date: 2006-10-22 17:50:13 +0000 (Sun, 22 Oct 2006)
New Revision: 101
Modified:
trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkrc
trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c
trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c
trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.h
trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro
Log:
menubar layout ok for demo
Modified: trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkrc
===================================================================
--- trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkrc 2006-10-22 16:30:50 UTC (rev 100)
+++ trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkrc 2006-10-22 17:50:13 UTC (rev 101)
@@ -51,7 +51,7 @@
}
xthickness = 30
}
-class "GtkMenuBar" style "app-menu"
+widget "*moko_application_menu_bar" style "app-menu"
#----------------------------------------------------------------------------
style "filter-menu" {
@@ -67,14 +67,9 @@
}
}
xthickness = 30
- GtkComboBox::add-tearoffs = 1
}
+widget "*moko_filter_menu_bar" style "filter-menu"
-# for debugging, disable this in final version
-widget_class "*GtkComboBox*" style "filter-menu"
-# enable this in final version!
-# widget_class "*MokoMenuBox*GtkComboBox*" style "filter-menu"
-
#----------------------------------------------------------------------------
style "popup-menus" {
#----------------------------------------------------------------------------
Modified: trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c
===================================================================
--- trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c 2006-10-22 16:30:50 UTC (rev 100)
+++ trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c 2006-10-22 17:50:13 UTC (rev 101)
@@ -43,7 +43,7 @@
/* application object */
MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance());
- g_set_application_name( "OpenMoko-Paned-Demo" );
+ g_set_application_name( "Paned-Demo" );
/* main window */
MokoPanedWindow* window = MOKO_PANED_WINDOW(moko_paned_window_new());
@@ -56,11 +56,14 @@
moko_paned_window_set_application_menu( window, appmenu );
/* filter menu */
- GSList* list = NULL;
- list = g_slist_append( list, "All" );
- list = g_slist_append( list, "Odd" );
- list = g_slist_append( list, "Even" );
- moko_paned_window_set_filter_menu( window, list );
+ GtkMenu* filtmenu = GTK_MENU(gtk_menu_new());
+ GtkMenuItem* item1 = GTK_MENU_ITEM(gtk_menu_item_new_with_label( "All" ));
+ gtk_menu_shell_append( filtmenu, item1 );
+ GtkMenuItem* item2 = GTK_MENU_ITEM(gtk_menu_item_new_with_label( "Odd" ));
+ gtk_menu_shell_append( filtmenu, item2 );
+ GtkMenuItem* item3 = GTK_MENU_ITEM(gtk_menu_item_new_with_label( "Even" ));
+ gtk_menu_shell_append( filtmenu, item3 );
+ moko_paned_window_set_filter_menu( window, filtmenu );
/* connect close event */
g_signal_connect( G_OBJECT(window), "delete_event", G_CALLBACK( gtk_main_quit ), NULL );
Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c 2006-10-22 16:30:50 UTC (rev 100)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c 2006-10-22 17:50:13 UTC (rev 101)
@@ -18,16 +18,16 @@
*/
#include "moko-menubox.h"
+#include <gtk/gtklabel.h>
#include <gtk/gtkmenubar.h>
#include <gtk/gtkmenuitem.h>
-#include <gtk/gtkcombobox.h>
#define MOKO_MENU_BOX_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MOKO_TYPE_MENUBOX, MokoMenuBoxPriv));
typedef struct _MokoMenuBoxPriv
{
- GtkMenuBar* menubar;
- GtkComboBox* combobox;
+ GtkMenuBar* menubar_l;
+ GtkMenuBar* menubar_r;
} MokoMenuBoxPriv;
/* add your signals here */
@@ -86,8 +86,8 @@
g_debug( "moko_paned_window_init" );
MokoMenuBoxPriv* priv = MOKO_MENU_BOX_GET_PRIVATE(self);
- priv->menubar = NULL;
- priv->combobox = NULL;
+ priv->menubar_l = NULL;
+ priv->menubar_r = NULL;
}
@@ -106,41 +106,51 @@
g_debug( "moko_menubox_set_application_menu" );
MokoMenuBoxPriv* priv = MOKO_MENU_BOX_GET_PRIVATE(self);
- if (!priv->menubar )
+ if (!priv->menubar_l )
{
- priv->menubar = gtk_menu_bar_new();
- gtk_box_pack_start( GTK_BOX(self), GTK_WIDGET(priv->menubar), TRUE, TRUE, 0 );
+ priv->menubar_l = gtk_menu_bar_new();
+ gtk_widget_set_name( GTK_WIDGET(priv->menubar_l), "moko_application_menu_bar" );
+ gtk_box_pack_start( GTK_BOX(self), GTK_WIDGET(priv->menubar_l), TRUE, TRUE, 0 );
}
GtkMenuItem* appitem = gtk_menu_item_new_with_label( g_get_application_name() );
gtk_menu_item_set_submenu( appitem, menu );
- gtk_menu_shell_append( GTK_MENU_BAR(priv->menubar), appitem );
+ gtk_menu_shell_append( GTK_MENU_BAR(priv->menubar_l), appitem );
}
-void moko_menubox_set_filter_menu(MokoMenuBox* self, GSList* entries)
+void moko_menubox_set_filter_menu(MokoMenuBox* self, GtkMenu* menu)
{
- void _populate_filter_menu(gpointer data, gpointer user_data)
+ void filter_menu_update( GtkMenu* menu, GtkMenuItem* filtitem )
{
- g_debug( "_populate_filter_menu %s", (gchar*) data );
- GtkComboBox* cb = GTK_COMBO_BOX(user_data);
- gtk_combo_box_append_text( cb, data );
-
+ gchar* text;
+ GtkMenuItem* item = gtk_menu_get_active( menu );
+ if (GTK_BIN(item)->child)
+ {
+ GtkWidget *child = GTK_BIN(item)->child;
+ g_assert( GTK_IS_LABEL(child) );
+ gtk_label_get(GTK_LABEL (child), &text);
+ g_debug(" selection done. menu item text: %s", text );
+ }
+ if (GTK_BIN(filtitem)->child)
+ {
+ GtkWidget *child = GTK_BIN(filtitem)->child;
+ g_assert( GTK_IS_LABEL(child) );
+ gtk_label_set(GTK_LABEL (child), text);
+ g_debug(" selection done. menu label updated." );
+ }
}
-
g_debug( "moko_menubox_set_filter_menu" );
MokoMenuBoxPriv* priv = MOKO_MENU_BOX_GET_PRIVATE(self);
- if (!priv->combobox )
+ if (!priv->menubar_r )
{
- priv->combobox = gtk_combo_box_new_text();
- gtk_box_pack_end( GTK_BOX(self), GTK_WIDGET(priv->combobox), TRUE, TRUE, 0 );
+ priv->menubar_r = gtk_menu_bar_new();
+ gtk_widget_set_name( GTK_WIDGET(priv->menubar_r), "moko_filter_menu_bar" );
+ gtk_box_pack_end( GTK_BOX(self), GTK_WIDGET(priv->menubar_r), TRUE, TRUE, 0 );
}
- g_assert( entries );
- g_slist_foreach( entries, &_populate_filter_menu, priv->combobox );
- g_slist_free( entries );
-
- g_object_set( GTK_OBJECT(priv->combobox), "can-focus", 0, NULL );
- gtk_combo_box_set_active( priv->combobox, 0 );
- gtk_combo_box_set_focus_on_click( priv->combobox, FALSE );
- gtk_widget_set_state( priv->combobox, GTK_STATE_NORMAL );
+ GtkMenuItem* filtitem = gtk_menu_item_new_with_label( "Filter Menu" );
+ g_signal_connect (G_OBJECT(menu), "selection_done", G_CALLBACK(filter_menu_update), filtitem );
+ gtk_menu_item_set_submenu( filtitem, menu );
+ gtk_menu_shell_append( GTK_MENU_BAR(priv->menubar_r), filtitem );
}
+
Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.h
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.h 2006-10-22 16:30:50 UTC (rev 100)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.h 2006-10-22 17:50:13 UTC (rev 101)
@@ -53,7 +53,7 @@
void moko_menubox_clear (MokoMenuBox *self);
void moko_menubox_set_application_menu(MokoMenuBox* self, GtkMenu* menu);
-void moko_menubox_set_filter_menu(MokoMenuBox* self, GSList* entries);
+void moko_menubox_set_filter_menu(MokoMenuBox* self, GtkMenu* menu);
G_END_DECLS
Modified: trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro 2006-10-22 16:30:50 UTC (rev 100)
+++ trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro 2006-10-22 17:50:13 UTC (rev 101)
@@ -1,8 +1,8 @@
TEMPLATE = lib
VERSION = 0.0.1
-HEADERS = moko-application.h moko-window.h moko-finger-window.h moko-paned-window.h moko-menubox.h moko-toolbar.h moko-combobox.h
-SOURCES = moko-application.c moko-window.c moko-finger-window.c moko-paned-window.c moko-menubox.c moko-toolbar.c moko-combobox.c
+HEADERS = moko-application.h moko-window.h moko-finger-window.h moko-paned-window.h moko-menubox.h moko-toolbar.h
+SOURCES = moko-application.c moko-window.c moko-finger-window.c moko-paned-window.c moko-menubox.c moko-toolbar.c
PKGCONFIG += gtk+-2.0
More information about the commitlog
mailing list