r194 - in trunk/src/target/OM-2007: applications/openmoko-chordmaster artwork/themes/openmoko-standard/gtk-2.0 devel/scripts libraries/mokoui

mickey at gta01.hmw-consulting.de mickey at gta01.hmw-consulting.de
Sat Nov 11 14:37:32 CET 2006


Author: mickey
Date: 2006-11-11 13:37:31 +0000 (Sat, 11 Nov 2006)
New Revision: 194

Modified:
   trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.c
   trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.h
   trunk/src/target/OM-2007/applications/openmoko-chordmaster/fretboard-widget.c
   trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.c
   trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.h
   trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkmenuitem
   trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkrc
   trunk/src/target/OM-2007/devel/scripts/launch-xoo
   trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c
   trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h
Log:
amsterdam update


Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.c	2006-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.c	2006-11-11 13:37:31 UTC (rev 194)
@@ -6,15 +6,32 @@
 
 #include <gtk/gtkwidget.h>
 #include <gtk/gtkbutton.h>
+#include <gtk/gtktreeselection.h>
 #include <gtk/gtktreeview.h>
 #include <gtk/gtktreemodel.h>
 
+gboolean cb_entry_completion_completed(GtkEntryCompletion *widget, GtkTreeModel *model, GtkTreeIter *iter, ChordMasterData* d)
+{
+    g_debug( "openmoko-chordmaster: entry completion completed" );
+    gchar* name = NULL;
+    gtk_tree_model_get( GTK_TREE_MODEL(model), iter, COLUMN_NAME, &name, -1 );
+    g_debug( "-- selected entry = '%s'", name );
+    GtkTreeIter myiter;
+    gtk_tree_model_filter_convert_iter_to_child_iter( model, &myiter, iter );
+    //GtkTreeSelection* selection = gtk_tree_view_get_selection( d->view );
+    //gtk_tree_selection_select_iter( selection, &myiter );
+    GtkTreePath* path = gtk_tree_model_get_path( d->liststore, &myiter );
+    gtk_tree_view_set_cursor( d->view, path, COLUMN_NAME, FALSE );
+    //gtk_tree_view_scroll_to_cell( d->view, path, NULL, FALSE, 0.5, 0.5 );
+    gtk_tree_path_free( path );
+    return FALSE;
+}
+
 gboolean cb_filter_changed(GtkWidget* widget, gchar* text, ChordMasterData* d)
 {
     g_debug( "openmoko-chordmaster: filter changed" );
     g_assert( d->chordsdb );
-    if ( !d->liststore )
-        d->liststore = gtk_list_store_new( NUM_COLS, G_TYPE_STRING, G_TYPE_STRING );
+    g_assert( d->liststore );
     gtk_list_store_clear( d->liststore );
     GtkTreeIter iter;
     GSList* chords = chordsdb_get_chords( d->chordsdb );

Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.h	2006-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.h	2006-11-11 13:37:31 UTC (rev 194)
@@ -11,6 +11,7 @@
 
 #include <glib.h>
 
+gboolean cb_entry_completion_completed(GtkEntryCompletion *widget, GtkTreeModel *model, GtkTreeIter *iter, ChordMasterData* d);
 gboolean cb_filter_changed(GtkWidget* widget, gchar* text, ChordMasterData* d);
 void cb_button1_clicked(GtkButton *button, ChordMasterData* d);
 void cb_button2_clicked(GtkButton *button, ChordMasterData* d);

Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/fretboard-widget.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/fretboard-widget.c	2006-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/fretboard-widget.c	2006-11-11 13:37:31 UTC (rev 194)
@@ -133,7 +133,7 @@
         pango_layout_set_text( layout, &barree, 1 );
         gdk_gc_set_rgb_fg_color( gc, &barreecolor );
         //FIXME take font size into account
-        gdk_draw_layout( widget->window, gc, 25, 260, layout );
+        gdk_draw_layout( widget->window, gc, 13, 0, layout );
     }
 
     // finger positions

Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.c	2006-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.c	2006-11-11 13:37:31 UTC (rev 194)
@@ -85,37 +85,31 @@
     moko_paned_window_set_filter_menu( d->window, filtmenu );
     MokoMenuBox* menubox = moko_paned_window_get_menubox( d->window );
     g_signal_connect( G_OBJECT(menubox), "filter_changed", G_CALLBACK(cb_filter_changed), d );
-    moko_menu_box_set_active_filter( menubox, "All" );
 
     /* connect close event */
     g_signal_connect( G_OBJECT(d->window), "delete_event", G_CALLBACK( gtk_main_quit ), NULL );
 
-    populate_navigation_area( d );
-    populate_details_area( d );
-
     /* toolboox */
-
     GtkButton* button1;
     GtkButton* button2;
     GtkButton* button3;
     GtkButton* button4;
 
     /* tool bar */
-    MokoToolBox* toolbox;
-    toolbox = MOKO_TOOL_BOX(moko_tool_box_new_with_search());
-    gtk_widget_grab_focus( GTK_WIDGET(toolbox) );
-    g_signal_connect( G_OBJECT(toolbox), "searchbox_visible", G_CALLBACK(cb_search_visible), d );
-    g_signal_connect( G_OBJECT(toolbox), "searchbox_invisible", G_CALLBACK(cb_search_invisible), d );
+    d->toolbox = MOKO_TOOL_BOX(moko_tool_box_new_with_search());
+    gtk_widget_grab_focus( GTK_WIDGET(d->toolbox) );
+    g_signal_connect( G_OBJECT(d->toolbox), "searchbox_visible", G_CALLBACK(cb_search_visible), d );
+    g_signal_connect( G_OBJECT(d->toolbox), "searchbox_invisible", G_CALLBACK(cb_search_invisible), d );
 
-    button1 = moko_tool_box_add_action_button( toolbox );
+    button1 = moko_tool_box_add_action_button( d->toolbox );
     gtk_button_set_label( button1, "Add" );
-    button2 = moko_tool_box_add_action_button( toolbox );
+    button2 = moko_tool_box_add_action_button( d->toolbox );
     gtk_button_set_label( button2, "Remove" );
-    button3 = moko_tool_box_add_action_button( toolbox );
+    button3 = moko_tool_box_add_action_button( d->toolbox );
     gtk_button_set_label( button3, "ActMenu" );
-    button4 = moko_tool_box_add_action_button( toolbox );
+    button4 = moko_tool_box_add_action_button( d->toolbox );
     gtk_button_set_label( button4, "Action 4" );
-    moko_paned_window_add_toolbox( d->window, toolbox );
+    moko_paned_window_add_toolbox( d->window, d->toolbox );
 
     g_signal_connect( G_OBJECT(button1), "clicked", G_CALLBACK(cb_button1_clicked), d );
     g_signal_connect( G_OBJECT(button2), "clicked", G_CALLBACK(cb_button2_clicked), d );
@@ -131,11 +125,16 @@
     gtk_menu_shell_append( GTK_MENU_SHELL(actionmenu), GTK_WIDGET(baritem) );
     moko_pixmap_button_set_menu( MOKO_PIXMAP_BUTTON(button3), actionmenu );
     gtk_widget_show_all( actionmenu );
+
+    populate_navigation_area( d );
+    populate_details_area( d );
+
+    moko_menu_box_set_active_filter( menubox, "All" );
 }
 
 void populate_navigation_area( ChordMasterData* d )
 {
-    g_assert( d->liststore ); // created in callback
+    d->liststore = gtk_list_store_new( NUM_COLS, G_TYPE_STRING, G_TYPE_STRING );
 
     //FIXME get color from style
     GdkColor color;
@@ -147,13 +146,13 @@
     g_value_init (&v, GDK_TYPE_COLOR);
     g_value_set_boxed( &v, &color);
 
-    GtkTreeView* view = gtk_tree_view_new_with_model( d->liststore );
-    gtk_tree_view_set_rules_hint( view, TRUE );
+    d->view = gtk_tree_view_new_with_model( d->liststore );
+    gtk_tree_view_set_rules_hint( d->view, TRUE );
     GtkTreeViewColumn* col = gtk_tree_view_column_new();
-    gtk_tree_view_column_set_title( col, "Name of the Chord" );
+    gtk_tree_view_column_set_title( col, "Chordname" );
     gtk_tree_view_column_set_alignment( col, 0.5 );
     gtk_tree_view_column_set_spacing( col, 4 );
-    gtk_tree_view_append_column( view, col );
+    gtk_tree_view_append_column( d->view, col );
     GtkCellRenderer* ren = gtk_cell_renderer_text_new();
     gtk_tree_view_column_pack_start( col, ren, TRUE );
     gtk_tree_view_column_add_attribute( col, ren, "text", COLUMN_NAME );
@@ -166,10 +165,10 @@
                   NULL );
 
     col = gtk_tree_view_column_new();
-    gtk_tree_view_column_set_title( col, "Fingers on Fretboard" );
+    gtk_tree_view_column_set_title( col, "Fretboard" );
     gtk_tree_view_column_set_alignment( col, 0.5 );
     gtk_tree_view_column_set_spacing( col, 4 );
-    gtk_tree_view_append_column( view, col );
+    gtk_tree_view_append_column( d->view, col );
     ren = gtk_cell_renderer_text_new();
     gtk_tree_view_column_pack_start( col, ren, TRUE );
     gtk_tree_view_column_add_attribute( col, ren, "text", COLUMN_FRETS );
@@ -182,21 +181,30 @@
                   NULL );
 
     //gtk_tree_view_set_headers_clickable( view, TRUE );
-    gtk_tree_view_set_headers_visible( view, TRUE );
+    gtk_tree_view_set_headers_visible( d->view, TRUE );
     //gtk_tree_view_set_search_column( view, COLUMN_NAME );
 
     GtkScrolledWindow* scrollwin = gtk_scrolled_window_new( NULL, NULL );
     //FIXME get from style or (even better) set as initial size hint in MokoPanedWindow (also via style sheet of course)
-    gtk_widget_set_size_request( GTK_WIDGET(scrollwin), 0, 230 );
+    gtk_widget_set_size_request( GTK_WIDGET(scrollwin), 0, 170 );
     gtk_scrolled_window_set_policy( scrollwin, GTK_POLICY_NEVER, GTK_POLICY_ALWAYS );
 
-    g_object_set( G_OBJECT(view), "can-focus", FALSE, NULL );
+    //g_object_set( G_OBJECT(d->view), "can-focus", FALSE, NULL );
 
-    gtk_scrolled_window_add_with_viewport( scrollwin, GTK_WIDGET(view) );
+    //gtk_scrolled_window_add_with_viewport( scrollwin, GTK_WIDGET(d->view) );
+    gtk_container_add( scrollwin, GTK_WIDGET(d->view) );
     moko_paned_window_set_upper_pane( d->window, GTK_WIDGET(scrollwin) );
 
-    GtkTreeSelection* selection = gtk_tree_view_get_selection( view );
+    GtkTreeSelection* selection = gtk_tree_view_get_selection( d->view );
     g_signal_connect( G_OBJECT(selection), "changed", G_CALLBACK(cb_cursor_changed), d );
+
+    GtkEntryCompletion* ec = gtk_entry_completion_new();
+    gtk_entry_completion_set_model( ec, d->liststore );
+    gtk_entry_completion_set_text_column( ec, COLUMN_NAME );
+    GtkEntry* entry = moko_tool_box_get_entry( d->toolbox );
+    //FIXME what happens in case the toolbox has no entry?
+    gtk_entry_set_completion( entry, ec );
+    g_signal_connect( G_OBJECT(ec), "match-selected", G_CALLBACK(cb_entry_completion_completed), d );
 }
 
 void populate_details_area( ChordMasterData* d )

Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.h	2006-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.h	2006-11-11 13:37:31 UTC (rev 194)
@@ -28,6 +28,7 @@
 #include <mokoui/moko-toolbox.h>
 
 #include <gtk/gtkliststore.h>
+#include <gtk/gtktreeview.h>
 
 typedef struct _ChordMasterData {
     MokoApplication* app;
@@ -37,6 +38,7 @@
     ChordsDB* chordsdb;
     FretboardWidget* fretboard;
     GtkListStore* liststore;
+    GtkTreeView* view;
 } ChordMasterData;
 
 enum {

Modified: trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkmenuitem
===================================================================
--- trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkmenuitem	2006-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkmenuitem	2006-11-11 13:37:31 UTC (rev 194)
@@ -24,10 +24,11 @@
     font_name = "Vera Sans 13"
     fg[NORMAL] = "#e5e5e5"
     fg[PRELIGHT] = "#ffffff"
-    xthickness = 100
 }
-widget "*.GtkMenuItem.GtkAccelLabel" style "gtkmenuitem-label"
-widget "*.GtkImageMenuItem.GtkAccelLabel" style "gtkmenuitem-label"
+widget "*.GtkMenuItem.*" style "gtkmenuitem-label"
+widget "*.GtkImageMenuItem.*" style "gtkmenuitem-label"
 
-widget_class "*.GtkMenu.GtkMenuItem.GtkAccelLabel" style "gtkmenuitem-label"
-widget_class "*.GtkMenu.GtkImageMenuItem.GtkAccelLabel" style "gtkmenuitem-label"
+class "GtkMenuItem" style "gtkmenuitem-label"
+
+class "GtkCellView" style "gtkmenuitem-label"
+

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-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/gtkrc	2006-11-11 13:37:31 UTC (rev 194)
@@ -1,31 +1,31 @@
 style "moko-window-default" {
     # FIXME do we want a general background brush? Or just a color?
 	# NOTE bg_pixmap[NORMAL] _must_ match with the SHADOW pixmaps
-    bg_pixmap[NORMAL] = "openmoko-shadow-bg-brush.png"
+    bg_pixmap[NORMAL] = "gtkwidget.png"
 
-    fg[NORMAL]        = "#201d15" # very dark brown
-    fg[PRELIGHT]      = "#201d15" # very dark brown
-    fg[ACTIVE]        = "#201d15" # very dark brown
-    fg[SELECTED]      = "#201d15" # very dark brown
-    fg[INSENSITIVE]   = "#ffb3ac" # grey
+    fg[NORMAL]        = "#e5e5e5" # very dark brown
+    fg[PRELIGHT]      = "#ff0000" # very dark brown
+    fg[ACTIVE]        = "#e5e5e5" # very dark brown
+    fg[SELECTED]      = "#0000ff" # very dark brown
+    fg[INSENSITIVE]   = "#00ff00" # grey
 
-    bg[NORMAL]        = "#ece9d8" # beige
-    bg[PRELIGHT]      = "#f1efe3" # light beige
-    bg[ACTIVE]        = "#cdc7b0" # dark beige
-    bg[SELECTED]      = "#b4c994" # olive
-    bg[INSENSITIVE]   = "#ece9d8" # beige
+    bg[NORMAL]        = "#ff0000" # beige
+    bg[PRELIGHT]      = "#ff0000" # light beige
+    bg[ACTIVE]        = "#ff0000" # dark beige
+    bg[SELECTED]      = "#ff0000" # olive
+    bg[INSENSITIVE]   = "#ff0000" # beige
 
-    base[NORMAL]      = "#ffffff" # white
-    base[PRELIGHT]    = "#b4c994" # olive
-    base[ACTIVE]      = "#aba897" # dark olive
-    base[SELECTED]    = "#b4c994" # olive
-    base[INSENSITIVE] = "#ece9d8" # beige
+    base[NORMAL]      = "#ff0000" # white
+    base[PRELIGHT]    = "#ff0000" # olive
+    base[ACTIVE]      = "#ff0000" # dark olive
+    base[SELECTED]    = "#ff0000" # olive
+    base[INSENSITIVE] = "#ff0000" # beige
 
-    text[NORMAL]      = "#000000" # black
-    text[PRELIGHT]    = "#000000" # black
-    text[ACTIVE]      = "#ffffff" # white
-    text[SELECTED]    = "#ffffff" # white
-    text[INSENSITIVE] = "#a69872" # very dark brown
+    text[NORMAL]      = "#e5e5e5" # black
+    text[PRELIGHT]    = "#ff0000" # black
+    text[ACTIVE]      = "#e5e5e5" # white
+    text[SELECTED]    = "#0000ff" # white
+    text[INSENSITIVE] = "#00ff00" # very dark brown
 #
 # How to draw shadows in general
 #
@@ -80,8 +80,10 @@
 }
 
 # enable for final version
-class "GtkWidget" style "moko-window-default"
+# class "GtkWidget" style "moko-window-default"
 
+widget "*" style "moko-window-default"
+
 # enable for debugging on host
 # widget "MokoPanedWindow.*" style "moko-window-default"
 # class "GtkMenuItem" style "moko-window-default"

Modified: trunk/src/target/OM-2007/devel/scripts/launch-xoo
===================================================================
--- trunk/src/target/OM-2007/devel/scripts/launch-xoo	2006-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/devel/scripts/launch-xoo	2006-11-11 13:37:31 UTC (rev 194)
@@ -6,10 +6,14 @@
 # - matchbox-panel (ohand svn)
 # - matchbox-window-manager (ohand svn)
 #
-SVN_TRUNK=/local/pkg/openmoko/trunk
-PKG=$SVN_TRUNK/oe/packages
+SERVER=Xephyr
+#SERVER=Xnest
+SVN_TRUNK=/local/pkg/openmoko/
+export PATH=$SVN_TRUNK/OM-2007/bin:$PATH
+export LD_LIBRARY_PATH=$SVN_TRUNK/OM-2007/lib:/usr/local/lib
 
-xoo -xd :1 -xn `which Xephyr` -t 'OpenMoko running on FIC GTA01' -d $PKG/xoo/files/gta01.xml &
+xoo -xo '-dpi 104 -ac' -xd :1 -xn `which $SERVER` -t 'OpenMoko running on FIC GTA01' -d \
+$SVN_TRUNK/oe/packages/xoo/files/gta01.xml &
 
 sleep 2
 
@@ -22,10 +26,8 @@
                --no-session \
                --no-menu \
                --no-flip \
-               --bgpixmap $PKG/openmoko/openmoko-common/pixmaps/openmoko-header-background.png &
+               --bgpixmap $SVN_TRUNK/OM-2007/artwork/images/pixmaps/openmoko-header-background.png &
 
-sleep 1
-
 matchbox-panel -display $DISPLAY \
                --id 2 \
                --orientation south \
@@ -33,22 +35,17 @@
                --no-session \
                --no-menu \
                --no-flip \
-               --bgpixmap $PKG/openmoko/openmoko-common/pixmaps/openmoko-footer-background.png &
+               --bgpixmap $SVN_TRUNK/OM-2007/artwork/images/pixmaps/openmoko-footer-background.png &
 
-sleep 1
+matchbox-desktop --icon-size 100 \
+                 --icon-padding 60 \
+                 --font sans-16 \
+                 --titlefont sans-20:bold --bg \
+img-tiled:/local/pkg/openmoko/OM-2007/artwork/themes/openmoko-standard/gtk-2.0/mokopanedwindow-upper-enclosing.png &
 
-matchbox-desktop -display $DISPLAY \
-                 --icon-size 96 \
-                 --icon-padding 128 \
-                 --font sans-24:bold \
-                 --titlefont sans-24:bold &
-
-sleep 1
-
-matchbox-window-manager -display $DISPLAY \
-                        -use_titlebar yes \
+exec matchbox-window-manager -display $DISPLAY \
+                        -use_titlebar no \
                         -use_super_modal yes \
                         -use_lowlight yes \
                         -use_dialog_mode static \
-                        -use_desktop_mode plain \
-                        -use_cursor no &
+                        -use_cursor yes

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c	2006-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c	2006-11-11 13:37:31 UTC (rev 194)
@@ -200,3 +200,9 @@
 
     return button;
 }
+
+GtkEntry* moko_tool_box_get_entry(MokoToolBox* self)
+{
+    MokoToolBoxPriv* priv = MOKO_TOOL_BOX_GET_PRIVATE(self);
+    return priv->entry;
+}

Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h	2006-11-05 00:20:25 UTC (rev 193)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h	2006-11-11 13:37:31 UTC (rev 194)
@@ -21,8 +21,9 @@
 
 #include "moko-pixmap-button.h"
 
+#include <gtk/gtkentry.h>
+#include <gtk/gtkhbox.h>
 #include <gtk/gtknotebook.h>
-#include <gtk/gtkhbox.h>
 
 #include <glib.h>
 #include <glib-object.h>
@@ -56,8 +57,8 @@
 GtkWidget*     moko_tool_box_new_with_search();
 void           moko_tool_box_clear(MokoToolBox* self);
 
-/* add additional methods here */
 GtkHBox* moko_tool_box_get_button_box( MokoToolBox* self );
+GtkEntry* moko_tool_box_get_entry(MokoToolBox* self);
 MokoPixmapButton* moko_tool_box_add_action_button(MokoToolBox* self);
 
 G_END_DECLS





More information about the commitlog mailing list