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