r184 - in trunk/src/target/OM-2007: applications/openmoko-chordmaster examples/openmoko-paned-demo libraries/mokoui
mickey at gta01.hmw-consulting.de
mickey at gta01.hmw-consulting.de
Sat Nov 4 17:20:58 CET 2006
Author: mickey
Date: 2006-11-04 16:20:57 +0000 (Sat, 04 Nov 2006)
New Revision: 184
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/main.c
trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c
trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c
trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h
Log:
mokoui: send signal when searchbox becomes visible/invisible
Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.c 2006-11-04 15:53:11 UTC (rev 183)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.c 2006-11-04 16:20:57 UTC (rev 184)
@@ -33,26 +33,36 @@
return FALSE;
}
-void cb_button1_clicked(GtkButton *button, gpointer user_data)
+void cb_button1_clicked(GtkButton *button, ChordMasterData* d)
{
g_debug( "openmoko-chordmaster: button1 clicked" );
}
-void cb_button2_clicked(GtkButton *button, gpointer user_data)
+void cb_button2_clicked(GtkButton *button, ChordMasterData* d)
{
g_debug( "openmoko-chordmaster: button2 clicked" );
}
-void cb_button3_clicked(GtkButton *button, gpointer user_data)
+void cb_button3_clicked(GtkButton *button, ChordMasterData* d)
{
g_debug( "openmoko-chordmaster: button3 clicked" );
}
-void cb_button4_clicked(GtkButton *button, gpointer user_data)
+void cb_button4_clicked(GtkButton *button, ChordMasterData* d)
{
g_debug( "openmoko-chordmaster: button4 clicked" );
}
+void cb_search_visible(MokoToolBox* toolbox, ChordMasterData* d)
+{
+ g_debug( "openmoko-chordmaster: searchbox visible" );
+}
+
+void cb_search_invisible(MokoToolBox* toolbox, ChordMasterData* d)
+{
+ g_debug( "openmoko-chordmaster: searchbox INvisible" );
+}
+
void cb_cursor_changed(GtkTreeSelection* selection, ChordMasterData* d)
{
g_debug( "openmoko-chordmaster: selection changed" );
@@ -68,4 +78,3 @@
fretboard_widget_set_frets( d->fretboard, frets );
gtk_widget_queue_draw( GTK_WIDGET(d->fretboard) );
}
-
Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.h 2006-11-04 15:53:11 UTC (rev 183)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/callbacks.h 2006-11-04 16:20:57 UTC (rev 184)
@@ -3,6 +3,8 @@
#include "main.h"
+#include <mokoui/moko-toolbox.h>
+
#include <gtk/gtkbutton.h>
#include <gtk/gtkwidget.h>
#include <gtk/gtktreeview.h>
@@ -10,10 +12,11 @@
#include <glib.h>
gboolean cb_filter_changed(GtkWidget* widget, gchar* text, ChordMasterData* d);
-void cb_button1_clicked(GtkButton *button, gpointer user_data);
-void cb_button2_clicked(GtkButton *button, gpointer user_data);
-void cb_button3_clicked(GtkButton *button, gpointer user_data);
-void cb_button4_clicked(GtkButton *button, gpointer user_data);
+void cb_button1_clicked(GtkButton *button, ChordMasterData* d);
+void cb_button2_clicked(GtkButton *button, ChordMasterData* d);
+void cb_button3_clicked(GtkButton *button, ChordMasterData* d);
+void cb_button4_clicked(GtkButton *button, ChordMasterData* d);
void cb_cursor_changed(GtkTreeSelection* selection, ChordMasterData* d);
-
+void cb_search_visible(MokoToolBox* toolbox, ChordMasterData* d);
+void cb_search_invisible(MokoToolBox* toolbox, ChordMasterData* d);
#endif
Modified: trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.c 2006-11-04 15:53:11 UTC (rev 183)
+++ trunk/src/target/OM-2007/applications/openmoko-chordmaster/main.c 2006-11-04 16:20:57 UTC (rev 184)
@@ -102,6 +102,8 @@
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 );
button1 = moko_tool_box_add_action_button( toolbox );
gtk_button_set_label( button1, "Add" );
@@ -113,10 +115,10 @@
gtk_button_set_label( button4, "Action 4" );
moko_paned_window_add_toolbox( d->window, toolbox );
- g_signal_connect( G_OBJECT(button1), "clicked", G_CALLBACK(cb_button1_clicked), NULL );
- g_signal_connect( G_OBJECT(button2), "clicked", G_CALLBACK(cb_button2_clicked), NULL );
- g_signal_connect( G_OBJECT(button3), "clicked", G_CALLBACK(cb_button3_clicked), NULL );
- g_signal_connect( G_OBJECT(button4), "clicked", G_CALLBACK(cb_button4_clicked), NULL );
+ 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 );
+ g_signal_connect( G_OBJECT(button3), "clicked", G_CALLBACK(cb_button3_clicked), d );
+ g_signal_connect( G_OBJECT(button4), "clicked", G_CALLBACK(cb_button4_clicked), d );
GtkMenu* actionmenu = GTK_MENU(gtk_menu_new());
GtkMenuItem* fooitem = GTK_MENU_ITEM(gtk_menu_item_new_with_label( "Foo" ));
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-11-04 15:53:11 UTC (rev 183)
+++ trunk/src/target/OM-2007/examples/openmoko-paned-demo/demo-main.c 2006-11-04 16:20:57 UTC (rev 184)
@@ -28,6 +28,18 @@
#include <gtk/gtkmain.h>
#include <gtk/gtkmenu.h>
+void cb_searchbox_visible(MokoToolBox* toolbox, gpointer user_data)
+{
+ g_debug( "openmoko-paned-demo: searchbox now visible" );
+ // populate the entry completion here and/or connect signals to entry
+}
+
+void cb_searchbox_invisible(MokoToolBox* toolbox, gpointer user_data)
+{
+ g_debug( "openmoko-paned-demo: searchbox now invisible" );
+ // free resources and/or disconnect signals
+}
+
void cb_filter_changed(GtkMenu* menu, gchar* text, gpointer user_data )
{
g_debug( "openmoko-paned-demo: filter changed to '%s'", text );
@@ -125,6 +137,10 @@
} else {
toolbox = MOKO_TOOL_BOX(moko_tool_box_new_with_search());
}
+
+ g_signal_connect( G_OBJECT(toolbox), "searchbox_visible", G_CALLBACK(cb_searchbox_visible), NULL );
+ g_signal_connect( G_OBJECT(toolbox), "searchbox_invisible", G_CALLBACK(cb_searchbox_invisible), NULL );
+
button1 = moko_tool_box_add_action_button( toolbox );
gtk_button_set_label( button1, "Action 1" );
button2 = moko_tool_box_add_action_button( toolbox );
Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c 2006-11-04 15:53:11 UTC (rev 183)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.c 2006-11-04 16:20:57 UTC (rev 184)
@@ -35,7 +35,8 @@
/* add your signals here */
enum {
- MOKO_TOOL_BOX_SIGNAL,
+ SEARCHBOX_VISIBLE,
+ SEARCHBOX_INVISIBLE,
LAST_SIGNAL
};
@@ -44,6 +45,15 @@
static guint moko_tool_box_signals[LAST_SIGNAL] = { 0 };
+static void _button_release(GtkWidget* w, MokoToolBox* self)
+{
+ static int current_page = 1;
+ gtk_notebook_set_current_page( GTK_NOTEBOOK(self), current_page );
+ g_debug( "moko_tool_box_button_release: current_page is now: %d", current_page );
+ current_page = 1 - current_page;
+ g_signal_emit( G_OBJECT(self), current_page ? moko_tool_box_signals[SEARCHBOX_INVISIBLE] : moko_tool_box_signals[SEARCHBOX_VISIBLE], 0, NULL );
+}
+
GType moko_tool_box_get_type (void) /* Typechecking */
{
static GType self_type = 0;
@@ -74,14 +84,23 @@
{
g_type_class_add_private(klass, sizeof(MokoToolBoxPriv));
- moko_tool_box_signals[MOKO_TOOL_BOX_SIGNAL] = g_signal_new ("moko_tool_box",
+ moko_tool_box_signals[SEARCHBOX_VISIBLE] = g_signal_new ("searchbox_visible",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET (MokoToolBoxClass, moko_tool_box),
+ G_STRUCT_OFFSET (MokoToolBoxClass, searchbox_visible),
NULL,
NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
+
+ moko_tool_box_signals[SEARCHBOX_INVISIBLE] = g_signal_new ("searchbox_invisible",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET (MokoToolBoxClass, searchbox_invisible),
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
}
static void moko_tool_box_init(MokoToolBox* self) /* Instance Construction */
@@ -110,13 +129,6 @@
GtkWidget* moko_tool_box_new_with_search()
{
- void button_release(GtkWidget* w, MokoToolBox* self)
- {
- static int current_page = 1;
- gtk_notebook_set_current_page( GTK_NOTEBOOK(self), current_page );
- g_debug( "button_release: current_page is now: %d", current_page );
- current_page = 1 - current_page;
- }
MokoToolBox* self = MOKO_TOOL_BOX(g_object_new(MOKO_TYPE_TOOL_BOX, NULL));
MokoToolBoxPriv* priv = MOKO_TOOL_BOX_GET_PRIVATE(self);
@@ -131,7 +143,7 @@
gtk_notebook_append_page( GTK_NOTEBOOK(self), priv->toolbar_page, NULL );
- g_signal_connect( G_OBJECT(search), "clicked", G_CALLBACK(button_release), self );
+ g_signal_connect( G_OBJECT(search), "clicked", G_CALLBACK(_button_release), self );
priv->searchbar_page = moko_pixmap_container_new();
gtk_widget_set_name( GTK_WIDGET(priv->searchbar_page), "mokotoolbox-search-mode" );
@@ -140,7 +152,7 @@
MokoPixmapButton* back = moko_pixmap_button_new();
gtk_widget_set_name( GTK_WIDGET(back), "mokotoolbox-back-button" );
gtk_fixed_put( GTK_FIXED(priv->searchbar_page), back, 400, 0 ); //FIXME need to get from style
- g_signal_connect( G_OBJECT(back), "clicked", G_CALLBACK(button_release), self );
+ g_signal_connect( G_OBJECT(back), "clicked", G_CALLBACK(_button_release), self );
priv->entry = gtk_entry_new();
gtk_entry_set_has_frame( priv->entry, FALSE );
Modified: trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h
===================================================================
--- trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h 2006-11-04 15:53:11 UTC (rev 183)
+++ trunk/src/target/OM-2007/libraries/mokoui/moko-toolbox.h 2006-11-04 16:20:57 UTC (rev 184)
@@ -42,14 +42,13 @@
struct _MokoToolBox
{
GtkNotebook parent;
- /* add pointers to new members here */
};
struct _MokoToolBoxClass
{
- /* add your parent class here */
GtkNotebookClass parent_class;
- void (*moko_tool_box) (MokoToolBox *self);
+ void (*searchbox_visible) (MokoToolBox *self);
+ void (*searchbox_invisible) (MokoToolBox *self);
};
GType moko_tool_box_get_type();
More information about the commitlog
mailing list