r2868 - in trunk/src/target/OM-2007.2/libraries/libmokoui2: . libmokoui

chris at sita.openmoko.org chris at sita.openmoko.org
Fri Aug 31 12:21:17 CEST 2007


Author: chris
Date: 2007-08-31 12:21:15 +0200 (Fri, 31 Aug 2007)
New Revision: 2868

Modified:
   trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
   trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
   trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.h
   trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.c
   trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h
Log:
MokoFingerScroll: Add moko_finger_scroll_add_with_viewport
MokoSearchBar: Don't abstract things unnecessarily


Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog	2007-08-31 07:36:33 UTC (rev 2867)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/ChangeLog	2007-08-31 10:21:15 UTC (rev 2868)
@@ -1,3 +1,19 @@
+2007-08-31  Chris Lord,,,  <chris at openedhand.com>
+
+	* libmokoui/moko-finger-scroll.c:
+	(moko_finger_scroll_add_with_viewport):
+	* libmokoui/moko-finger-scroll.h:
+	Add moko_finger_scroll_add_with_viewport
+
+	* libmokoui/moko-search-bar.c: (combo_changed_cb),
+	(moko_search_bar_get_property), (moko_search_bar_set_property),
+	(moko_search_bar_class_init), (moko_search_bar_init),
+	(moko_search_bar_new), (moko_search_bar_new_with_combo),
+	(moko_search_bar_get_combo_box), (moko_search_bar_get_entry),
+	(moko_search_bar_search_visible), (moko_search_bar_toggle):
+	* libmokoui/moko-search-bar.h:
+	Don't abstract things unnecessarily
+
 2007-08-30  Chris Lord,,,  <chris at openedhand.com>
 
 	* libmokoui/moko-search-bar.c: (moko_search_bar_count_categories),

Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c	2007-08-31 07:36:33 UTC (rev 2867)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.c	2007-08-31 10:21:15 UTC (rev 2868)
@@ -799,3 +799,13 @@
 			     NULL);
 }
 
+void
+moko_finger_scroll_add_with_viewport (MokoFingerScroll *self, GtkWidget *child)
+{
+	GtkWidget *viewport = gtk_viewport_new (NULL, NULL);
+	gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
+	gtk_container_add (GTK_CONTAINER (viewport), child);
+	gtk_widget_show (viewport);
+	gtk_container_add (GTK_CONTAINER (self), viewport);
+}
+

Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.h
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.h	2007-08-31 07:36:33 UTC (rev 2867)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-finger-scroll.h	2007-08-31 10:21:15 UTC (rev 2868)
@@ -54,6 +54,8 @@
 GtkWidget* moko_finger_scroll_new_full (gint mode, gboolean enabled,
 					gdouble vel_min, gdouble vel_max,
 					gdouble decel, guint sps);
+void moko_finger_scroll_add_with_viewport (MokoFingerScroll *scroll,
+					   GtkWidget *child);
 
 G_END_DECLS
 

Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.c	2007-08-31 07:36:33 UTC (rev 2867)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.c	2007-08-31 10:21:15 UTC (rev 2868)
@@ -35,19 +35,39 @@
 };
 
 enum {
+	PROP_COMBO = 1,
+	PROP_ENTRY,
+};
+
+enum {
 	TOGGLED,
 	TEXT_CHANGED,
-	CATEGORY_CHANGED,
+	COMBO_CHANGED,
 	LAST_SIGNAL
 };
 
 static guint signals[LAST_SIGNAL] = { 0 };
 
+
 static void
+combo_changed_cb (GtkComboBox *combo, MokoSearchBar *self)
+{
+	g_signal_emit (self, signals[COMBO_CHANGED], 0, combo);
+}
+
+static void
 moko_search_bar_get_property (GObject *object, guint property_id,
                               GValue *value, GParamSpec *pspec)
 {
+	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (object);
+
 	switch (property_id) {
+	    case PROP_COMBO :
+		g_value_set_object (value, priv->combo);
+		break;
+	    case PROP_ENTRY :
+		g_value_set_object (value, priv->entry);
+		break;
 	    default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 	}
@@ -57,7 +77,18 @@
 moko_search_bar_set_property (GObject *object, guint property_id,
                               const GValue *value, GParamSpec *pspec)
 {
+	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (object);
+
 	switch (property_id) {
+	    case PROP_COMBO :
+		priv->combo = g_value_get_object (value);
+		gtk_box_pack_start (GTK_BOX (object), priv->combo,
+			TRUE, TRUE, 0);
+		gtk_widget_show (priv->combo);
+
+		g_signal_connect (G_OBJECT (priv->combo), "changed",
+			G_CALLBACK (combo_changed_cb), object);
+		break;
 	    default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
 	}
@@ -88,6 +119,26 @@
 	object_class->dispose = moko_search_bar_dispose;
 	object_class->finalize = moko_search_bar_finalize;
 
+	g_object_class_install_property (
+		object_class,
+		PROP_COMBO,
+		g_param_spec_object (
+			"combo",
+			"GtkComboBox *",
+			"The GtkComboBox to place inside the widget.",
+			GTK_TYPE_COMBO_BOX,
+			G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+
+	g_object_class_install_property (
+		object_class,
+		PROP_ENTRY,
+		g_param_spec_object (
+			"entry",
+			"GtkEntry *",
+			"The GtkEntry created for this widget.",
+			GTK_TYPE_ENTRY,
+			G_PARAM_READABLE));
+
 	signals[TOGGLED] =
 		g_signal_new ("toggled",
 			G_OBJECT_CLASS_TYPE (object_class),
@@ -106,11 +157,11 @@
 			g_cclosure_marshal_VOID__POINTER,
 			G_TYPE_NONE, 1, G_TYPE_POINTER);
 
-	signals[CATEGORY_CHANGED] =
-		g_signal_new ("category-changed",
+	signals[COMBO_CHANGED] =
+		g_signal_new ("combo-changed",
 			G_OBJECT_CLASS_TYPE (object_class),
 			G_SIGNAL_RUN_LAST,
-			G_STRUCT_OFFSET (MokoSearchBarClass, category_changed),
+			G_STRUCT_OFFSET (MokoSearchBarClass, combo_changed),
 			NULL, NULL,
 			g_cclosure_marshal_VOID__OBJECT,
 			G_TYPE_NONE, 1, GTK_TYPE_COMBO_BOX);
@@ -140,12 +191,6 @@
 }
 
 static void
-combo_changed_cb (GtkComboBox *combo, MokoSearchBar *self)
-{
-	g_signal_emit (self, signals[CATEGORY_CHANGED], 0, combo);
-}
-
-static void
 moko_search_bar_init (MokoSearchBar *self)
 {
 	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
@@ -165,139 +210,59 @@
 	g_object_set (G_OBJECT (priv->entry), "no-show-all", TRUE, NULL);
 	gtk_box_pack_start (GTK_BOX (self), priv->entry, TRUE, TRUE, 0);
 
-	priv->combo = gtk_combo_box_new_text ();
-	gtk_box_pack_start (GTK_BOX (self), priv->combo, TRUE, TRUE, 0);
-	gtk_widget_show (priv->combo);
-
 	/* Connect up signals */
 	g_signal_connect (G_OBJECT (priv->toggle), "toggled",
 		G_CALLBACK (toggled_cb), self);
 	g_signal_connect (G_OBJECT (priv->entry), "changed",
 		G_CALLBACK (entry_changed_cb), self);
-	g_signal_connect (G_OBJECT (priv->combo), "changed",
-		G_CALLBACK (combo_changed_cb), self);
 }
 
 GtkWidget *
 moko_search_bar_new (void)
 {
-	return GTK_WIDGET (g_object_new (MOKO_TYPE_SEARCH_BAR, NULL));
+	return GTK_WIDGET (g_object_new (MOKO_TYPE_SEARCH_BAR,
+		"combo", gtk_combo_box_new (), NULL));
 }
 
-gboolean
-moko_search_bar_search_visible (MokoSearchBar *self)
+GtkWidget *
+moko_search_bar_new_with_combo (GtkComboBox *combo)
 {
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-	
-	return GTK_WIDGET_VISIBLE (priv->entry);
+	return GTK_WIDGET (g_object_new (MOKO_TYPE_SEARCH_BAR,
+		"combo", combo, NULL));
 }
 
-void
-moko_search_bar_toggle (MokoSearchBar *self)
+GtkComboBox *
+moko_search_bar_get_combo_box (MokoSearchBar *self)
 {
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->toggle),
-		!gtk_toggle_button_get_active (
-			GTK_TOGGLE_BUTTON (priv->toggle)));
+	GtkComboBox *combo;
+	g_object_get (G_OBJECT (self), "combo", &combo, NULL);
+	return combo;
 }
 
-void
-moko_search_bar_append_category (MokoSearchBar *self, const gchar *text)
+GtkEntry *
+moko_search_bar_get_entry (MokoSearchBar *self)
 {
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-
-	gtk_combo_box_append_text (GTK_COMBO_BOX (priv->combo), text);
+	GtkEntry *entry;
+	g_object_get (G_OBJECT (self), "entry", &entry, NULL);
+	return entry;
 }
 
-void
-moko_search_bar_insert_category (MokoSearchBar *self, gint position,
-				 const gchar *text)
+gboolean
+moko_search_bar_search_visible (MokoSearchBar *self)
 {
 	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-
-	gtk_combo_box_insert_text (GTK_COMBO_BOX (priv->combo), position, text);
-}
-
-void
-moko_search_bar_prepend_category (MokoSearchBar *self, const gchar *text)
-{
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-
-	gtk_combo_box_prepend_text (GTK_COMBO_BOX (priv->combo), text);
-}
-
-void
-moko_search_bar_remove_category (MokoSearchBar *self, gint position)
-{
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-
-	gtk_combo_box_remove_text (GTK_COMBO_BOX (priv->combo), position);
-}
-
-gint
-moko_search_bar_count_categories (MokoSearchBar *self)
-{
-	gint rows = 0;
-	GtkTreeIter iter;
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-
-	GtkTreeModel *model = gtk_combo_box_get_model (
-		GTK_COMBO_BOX (priv->combo));
 	
-	if (gtk_tree_model_get_iter_first (model, &iter))
-		do { rows ++; } while (gtk_tree_model_iter_next (model, &iter));
-	
-	return rows;
+	return GTK_WIDGET_VISIBLE (priv->entry);
 }
 
 void
-moko_search_bar_clear_categories (MokoSearchBar *self)
+moko_search_bar_toggle (MokoSearchBar *self)
 {
-	gint i;
-	
-	for (i = moko_search_bar_count_categories (self); i > 0; i--) {
-		moko_search_bar_remove_category (self, 0);
-	}
-}
-
-gint
-moko_search_bar_get_active (MokoSearchBar *self)
-{
 	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
 
-	return gtk_combo_box_get_active (GTK_COMBO_BOX (priv->combo));
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->toggle),
+		!gtk_toggle_button_get_active (
+			GTK_TOGGLE_BUTTON (priv->toggle)));
 }
 
-gchar *
-moko_search_bar_get_active_category (MokoSearchBar *self)
-{
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
 
-	return gtk_combo_box_get_active_text (GTK_COMBO_BOX (priv->combo));
-}
-
-void
-moko_search_bar_set_active (MokoSearchBar *self, gint position)
-{
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-
-	gtk_combo_box_set_active (GTK_COMBO_BOX (priv->combo), position);
-}
-
-const gchar *
-moko_search_bar_get_text (MokoSearchBar *self)
-{
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-
-	return gtk_entry_get_text (GTK_ENTRY (priv->entry));
-}
-
-void
-moko_search_bar_set_text (MokoSearchBar *self, const gchar *text)
-{
-	MokoSearchBarPrivate *priv = SEARCH_BAR_PRIVATE (self);
-
-	gtk_entry_set_text (GTK_ENTRY (priv->entry), text);
-}
-

Modified: trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h	2007-08-31 07:36:33 UTC (rev 2867)
+++ trunk/src/target/OM-2007.2/libraries/libmokoui2/libmokoui/moko-search-bar.h	2007-08-31 10:21:15 UTC (rev 2868)
@@ -47,38 +47,20 @@
 					 gboolean search_visible);
 	void	(*text_changed)		(MokoSearchBar *self,
 					 GtkEditable *editable);
-	void	(*category_changed)	(MokoSearchBar *self,
+	void	(*combo_changed)	(MokoSearchBar *self,
 					 GtkComboBox *combo_box);
 };
 
 GType moko_search_bar_get_type (void);
 
-GtkWidget *	moko_search_bar_new		(void);
+GtkWidget *	moko_search_bar_new		();
+GtkWidget *	moko_search_bar_new_with_combo	(GtkComboBox *combo);
+GtkComboBox *	moko_search_bar_get_combo_box	(MokoSearchBar *self);
+GtkEntry *	moko_search_bar_get_entry	(MokoSearchBar *self);
 
-gboolean 	moko_search_bar_search_visible	(MokoSearchBar *self);
+gboolean	moko_search_bar_search_visible	(MokoSearchBar *self);
 void		moko_search_bar_toggle		(MokoSearchBar *self);
 
-void	moko_search_bar_append_category		(MokoSearchBar *self,
-						 const gchar *text);
-void	moko_search_bar_insert_category		(MokoSearchBar *self,
-						 gint position,
-						 const gchar *text);
-void	moko_search_bar_prepend_category	(MokoSearchBar *self,
-						 const gchar *text);
-void	moko_search_bar_remove_category		(MokoSearchBar *self,
-						 gint position);
-gint	moko_search_bar_count_categories	(MokoSearchBar *self);
-void	moko_search_bar_clear_categories	(MokoSearchBar *self);
-
-gint	moko_search_bar_get_active		(MokoSearchBar *self);
-gchar *	moko_search_bar_get_active_category	(MokoSearchBar *self);
-void	moko_search_bar_set_active		(MokoSearchBar *self,
-						 gint position);
-
-const gchar *	moko_search_bar_get_text	(MokoSearchBar *self);
-void		moko_search_bar_set_text	(MokoSearchBar *self,
-						 const gchar *text);
-
 G_END_DECLS
 
 #endif /* _MOKO_SEARCH_BAR */





More information about the commitlog mailing list