r117 - 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
Tue Oct 24 03:57:27 CEST 2006


Author: mickey
Date: 2006-10-24 01:57:25 +0000 (Tue, 24 Oct 2006)
New Revision: 117

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-paned-window.h
   trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c
   trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h
   trunk/src/target/OM-2007/libraries/mokoui/moko-window.c
   trunk/src/target/OM-2007/libraries/mokoui/moko-window.h
   trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro
Log:
more theming work


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-23 21:56:04 UTC (rev 116)
+++ trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkrc	2006-10-24 01:57:25 UTC (rev 117)
@@ -1,11 +1,11 @@
-# gtk-font-name = "Vera Sans 16"
+gtk-font-name = "Vera Sans 16"
 
 # pixmap_path "/local/pkg/openmoko/OM-2007/artwork/themes/openmoko-standard/gtk-2.0"
 
 #----------------------------------------------------------------------------
 style "default" {
 #----------------------------------------------------------------------------
-    bg_pixmap[NORMAL] = "light-brushed.png"
+# bg_pixmap[NORMAL] = "light-brushed.png"
 
     fg[NORMAL]        = "#201d15" # very dark brown
     fg[PRELIGHT]      = "#201d15" # very dark brown
@@ -34,7 +34,7 @@
 }
 
 # common default
-class "GtkWidget" style "default"
+# class "GtkWidget" style "default"
 
 #----------------------------------------------------------------------------
 style "app-menu" {
@@ -195,5 +195,69 @@
       }
   }
 }
+class "GtkScrollbar" style "scrollbar"
 
-class "GtkScrollbar" style "scrollbar"
+#----------------------------------------------------------------------------
+style "MokoToolBox" {
+#----------------------------------------------------------------------------
+    engine "pixmap" {
+        image {
+            function        = BOX
+            recolorable     = TRUE
+            # shadow          = IN
+            file            = "openmoko-mokotoolbox-background.png"
+            border          = { 0, 0, 1, 1 }
+            stretch         = TRUE
+        }
+    }
+}
+widget "*.moko_toolbar1" style "MokoToolBox"
+
+#----------------------------------------------------------------------------
+style "MokoToolSearch" {
+#----------------------------------------------------------------------------
+    engine "pixmap" {
+        image {
+            function        = BOX
+            recolorable     = TRUE
+            file            = "openmoko-mokosearchbar-background.png"
+            border          = { 0, 0, 1, 1 }
+            stretch         = TRUE
+        }
+    }
+    xthickness = 40
+}
+widget "*.moko_toolbar2" style "MokoToolSearch"
+
+#----------------------------------------------------------------------------
+style "MokoToolSearchEntry" {
+#----------------------------------------------------------------------------
+    engine "pixmap" {
+        image {
+            function        = FLAT_BOX
+            recolorable     = TRUE
+            file            = "openmoko-search-entry-background.png"
+            border          = { 0, 0, 0, 0 }
+            stretch         = TRUE
+        }
+    }
+}
+widget "*.moko_search_entry" style "MokoToolSearchEntry"
+
+
+#----------------------------------------------------------------------------
+style "mokosearchbutton" {
+#----------------------------------------------------------------------------
+    engine "pixmap" {
+        image {
+            function        = BOX
+            recolorable     = TRUE
+            # shadow          = IN
+            file            = "openmoko-search-button.png"
+            border          = { 0, 4, 1, 1 }
+            stretch         = TRUE
+        }
+    }
+}
+#class "GtkToolButton" style "mokosearchbutton"
+widget "*moko_search_button*GtkAccelLabel" style "mokosearchbutton"

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-23 21:56:04 UTC (rev 116)
+++ trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c	2006-10-24 01:57:25 UTC (rev 117)
@@ -73,11 +73,8 @@
     moko_paned_window_set_upper_pane( window, GTK_WIDGET(navigationlist) );
 
     /* tool bar */
-    MokoToolBox* toolbox = MOKO_TOOL_BOX(moko_tool_box_new());
+    MokoToolBox* toolbox = MOKO_TOOL_BOX(moko_tool_box_new_with_search());
     GtkToolbar* toolbar = moko_tool_box_get_tool_bar(toolbox);
-    GtkToolButton* tool_search = GTK_TOOL_BUTTON(gtk_tool_button_new( NULL, "search" ));
-    //moko_tool_box_show_search_button( toolbox, TRUE )
-    gtk_toolbar_insert( GTK_TOOLBAR(toolbar), tool_search, 0 );
     moko_paned_window_add_toolbox( window, toolbox );
 
     GtkToolButton* tool_action1 = GTK_TOOL_BUTTON(gtk_tool_button_new( NULL, "action1" ));

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c	2006-10-23 21:56:04 UTC (rev 116)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-menubox.c	2006-10-24 01:57:25 UTC (rev 117)
@@ -101,6 +101,32 @@
     /* destruct your widgets here */
 }
 
+static gboolean cb_button_release(GtkWidget *widget, GdkEventButton *event, GtkMenuShell* menu)
+{
+    g_debug( "menu open forwarder..." );
+    gtk_menu_shell_select_first( GTK_MENU_SHELL(widget), TRUE );
+}
+
+static void cb_filter_menu_update( GtkMenu* menu, GtkMenuItem* filtitem )
+{
+    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." );
+    }
+}
+
 void moko_menu_box_set_application_menu(MokoMenuBox* self, GtkMenu* menu)
 {
     g_debug( "moko_menu_box_set_application_menu" );
@@ -115,29 +141,13 @@
     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_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), appitem );
 }
 
 void moko_menu_box_set_filter_menu(MokoMenuBox* self, GtkMenu* menu)
 {
-    void filter_menu_update( GtkMenu* menu, GtkMenuItem* filtitem )
-    {
-        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_menu_box_set_filter_menu" );
 
     MokoMenuBoxPriv* priv = MOKO_MENU_BOX_GET_PRIVATE(self);
@@ -148,9 +158,11 @@
         gtk_box_pack_end( GTK_BOX(self), GTK_WIDGET(priv->menubar_r), TRUE, TRUE, 0 );
     }
     GtkMenuItem* filtitem = gtk_menu_item_new_with_label( "Filter Menu" );
-    g_signal_connect (G_OBJECT(menu), "selection_done", G_CALLBACK(filter_menu_update), filtitem );
+    g_signal_connect (G_OBJECT(menu), "selection_done", G_CALLBACK(cb_filter_menu_update), filtitem );
     gtk_menu_item_set_submenu( filtitem, menu );
     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), filtitem );
 }
 
-

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.h
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.h	2006-10-23 21:56:04 UTC (rev 116)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-paned-window.h	2006-10-24 01:57:25 UTC (rev 117)
@@ -31,8 +31,8 @@
 #define MOKO_TYPE_PANED_WINDOW            (moko_paned_window_get_type())
 #define MOKO_PANED_WINDOW(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOKO_TYPE_PANED_WINDOW, MokoPanedWindow))
 #define MOKO_PANED_WINDOW_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), MOKO_TYPE_PANED_WINDOW, MokoPanedWindowClass))
-#define IS_MOKO_PANED_WINDOW(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOKO_TYPE_PANED_WINDOW))
-#define IS_MOKO_PANED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOKO_TYPE_PANED_WINDOW))
+#define MOKO_IS_PANED_WINDOW(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOKO_TYPE_PANED_WINDOW))
+#define MOKO_IS_PANED_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOKO_TYPE_PANED_WINDOW))
 
 typedef struct _MokoPanedWindow       MokoPanedWindow;
 typedef struct _MokoPanedWindowClass  MokoPanedWindowClass;

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c	2006-10-23 21:56:04 UTC (rev 116)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c	2006-10-24 01:57:25 UTC (rev 117)
@@ -17,13 +17,17 @@
  *  Current Version: $Rev$ ($Date$) [$Author$]
  */
 #include "moko-toolbox.h"
+#include "moko-search-bar.h"
 
+#include <gtk/gtktoolbutton.h>
+#include <gtk/gtkimage.h>
+
 #define MOKO_TOOL_BOX_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MOKO_TYPE_TOOL_BOX, MokoToolBoxPriv));
 
 typedef struct _MokoToolBoxPriv
 {
     GtkToolbar* toolbar;
-    GtkVBox* searchbar;
+    MokoSearchBar* searchbar;
 } MokoToolBoxPriv;
 
 /* add your signals here */
@@ -79,11 +83,40 @@
 
 static void moko_tool_box_init(MokoToolBox* self) /* Instance Construction */
 {
+    gboolean button_release(GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+    {
+        g_assert( MOKO_IS_TOOL_BOX(widget) );
+        MokoToolBoxPriv* priv = MOKO_TOOL_BOX_GET_PRIVATE(widget);
+        static gboolean foo = FALSE;
+        if ( foo )
+        {
+            gtk_widget_hide( GTK_WIDGET(priv->searchbar) );
+            gtk_widget_show( GTK_WIDGET(priv->toolbar) );
+        }
+        else
+        {
+            gtk_widget_hide( GTK_WIDGET(priv->toolbar) );
+            gtk_widget_show( GTK_WIDGET(priv->searchbar) );
+        }
+        g_debug( "hello world %d", foo );
+        foo = !foo;
+        return FALSE;
+    }
+
     MokoToolBoxPriv* priv = MOKO_TOOL_BOX_GET_PRIVATE(self);
     priv->toolbar = gtk_toolbar_new();
+    gtk_widget_set_name( GTK_WIDGET(priv->toolbar), "moko_toolbar1" );
+    gtk_widget_set_size_request( GTK_WIDGET(priv->toolbar), 50, 52 ); //FIXME get from style
     gtk_box_pack_start( GTK_BOX(self), priv->toolbar, TRUE, TRUE, 0 );
 
-    /* populate your widget here */
+    priv->searchbar = moko_search_bar_new();
+    gtk_widget_set_name( GTK_WIDGET(priv->searchbar), "moko_toolbar2" );
+    gtk_box_pack_start( GTK_BOX(self), priv->searchbar, TRUE, TRUE, 0 );
+    gtk_widget_set_size_request( GTK_WIDGET(priv->searchbar), 50, 52 ); //FIXME get from style
+
+    g_signal_connect( GTK_WIDGET(self), "button-release-event", G_CALLBACK(button_release), NULL );
+
+    gtk_widget_set_no_show_all( GTK_WIDGET(priv->searchbar), TRUE );
 }
 
 GtkWidget* moko_tool_box_new() /* Construction */
@@ -91,6 +124,14 @@
     return GTK_WIDGET(g_object_new(moko_tool_box_get_type(), NULL));
 }
 
+GtkWidget* moko_tool_box_new_with_search()
+{
+    MokoToolBox* toolbox = g_object_new(moko_tool_box_get_type(), NULL);
+    g_assert( toolbox );
+    moko_tool_box_add_search_button( toolbox );
+    return GTK_WIDGET(toolbox);
+}
+
 void moko_tool_box_clear(MokoToolBox* self) /* Destruction */
 {
     /* destruct your widgets here */
@@ -98,6 +139,16 @@
 
 /* add new methods here */
 
+void moko_tool_box_add_search_button(MokoToolBox* self )
+{
+    MokoToolBoxPriv* priv = MOKO_TOOL_BOX_GET_PRIVATE(self);
+    GtkToolButton* tool_search = GTK_TOOL_BUTTON(gtk_tool_button_new( NULL, "" ));
+    GtkImage* icon = gtk_image_new_from_file( "/local/pkg/openmoko/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/openmoko-search-button.png" );
+    gtk_tool_button_set_icon_widget( tool_search, icon );
+    gtk_widget_set_name( GTK_WIDGET(tool_search), "moko_search_button" );
+    gtk_toolbar_insert( priv->toolbar, tool_search, 0 );
+}
+
 GtkToolbar* moko_tool_box_get_tool_bar(MokoToolBox* self)
 {
     MokoToolBoxPriv* priv = MOKO_TOOL_BOX_GET_PRIVATE(self);

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h	2006-10-23 21:56:04 UTC (rev 116)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h	2006-10-24 01:57:25 UTC (rev 117)
@@ -29,8 +29,8 @@
 #define MOKO_TYPE_TOOL_BOX            (moko_tool_box_get_type())
 #define MOKO_TOOL_BOX(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOKO_TYPE_TOOL_BOX, MokoToolBox))
 #define MOKO_TOOL_BOX_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), MOKO_TYPE_TOOL_BOX, MokoToolBoxClass))
-#define IS_MOKO_TOOL_BOX(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOKO_TYPE_TOOL_BOX))
-#define IS_MOKO_TOOL_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOKO_TYPE_TOOL_BOX))
+#define MOKO_IS_TOOL_BOX(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOKO_TYPE_TOOL_BOX))
+#define MOKO_IS_TOOL_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOKO_TYPE_TOOL_BOX))
 
 typedef struct _MokoToolBox       MokoToolBox;
 typedef struct _MokoToolBoxClass  MokoToolBoxClass;
@@ -53,6 +53,7 @@
 void           moko_tool_box_clear       (MokoToolBox* self);
 
 /* add additional methods here */
+void moko_tool_box_add_search_button(MokoToolBox* self );
 GtkToolbar*    moko_tool_box_get_tool_bar(MokoToolBox* self);
 
 G_END_DECLS

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-window.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-window.c	2006-10-23 21:56:04 UTC (rev 116)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-window.c	2006-10-24 01:57:25 UTC (rev 117)
@@ -69,7 +69,8 @@
 
 static void moko_window_init (MokoWindow *self) /* Instance Construction */
 {
-    /* populate your widget here */
+    g_debug( "moko_window_init" );
+    gtk_widget_set_size_request( GTK_WIDGET(self), 480, 640 ); //FIXME get from style
 }
 
 GtkWidget* moko_window_new() /* Construction */

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-window.h
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-window.h	2006-10-23 21:56:04 UTC (rev 116)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-window.h	2006-10-24 01:57:25 UTC (rev 117)
@@ -28,8 +28,8 @@
 #define MOKO_TYPE_WINDOW            (moko_window_get_type())
 #define MOKO_WINDOW(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), MOKO_TYPE_WINDOW, MokoWindow))
 #define MOKO_WINDOW_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), MOKO_TYPE_WINDOW, MokoWindowClass))
-#define IS_MOKO_WINDOW(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOKO_TYPE_WINDOW))
-#define IS_MOKO_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOKO_TYPE_WINDOW))
+#define MOKO_IS_WINDOW(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MOKO_TYPE_WINDOW))
+#define MOKO_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MOKO_TYPE_WINDOW))
 
 typedef struct _MokoWindow       MokoWindow;
 typedef struct _MokoWindowClass  MokoWindowClass;

Modified: trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro	2006-10-23 21:56:04 UTC (rev 116)
+++ trunk/src/target/OM-2007/libraries/mokoui/mokoui.pro	2006-10-24 01:57:25 UTC (rev 117)
@@ -1,8 +1,22 @@
 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-toolbox.h
-SOURCES = moko-application.c moko-window.c moko-finger-window.c moko-paned-window.c moko-menubox.c moko-toolbox.c
+HEADERS = \
+	moko-application.h \
+	moko-window.h \
+	moko-finger-window.h \
+	moko-paned-window.h \
+	moko-menubox.h \
+	moko-toolbox.h \
+	moko-search-bar.h
+SOURCES = \
+	moko-application.c \
+	moko-window.c \
+	moko-finger-window.c \
+	moko-paned-window.c \
+	moko-menubox.c \
+	moko-toolbox.c \
+	moko-search-bar.c
 
 PKGCONFIG += gtk+-2.0
 





More information about the commitlog mailing list