Add modest_entry API for refactoring access to hildon entry
authorJose Dapena Paz <jdapena@igalia.com>
Wed, 4 Nov 2009 13:43:34 +0000 (14:43 +0100)
committerJose Dapena Paz <jdapena@igalia.com>
Wed, 4 Nov 2009 13:45:17 +0000 (14:45 +0100)
src/widgets/modest-toolkit-factory.c
src/widgets/modest-toolkit-factory.h

index 9cd03bd..5063cfb 100644 (file)
@@ -38,6 +38,7 @@
 #define USE_GTK_FIND_TOOLBAR
 #define USE_GTK_CHECK_BUTTON
 #define USE_GTK_CHECK_MENU
+#define USE_GTK_ENTRY
 #endif
 
 #ifdef USE_SCROLLED_WINDOW
@@ -60,6 +61,7 @@ static GtkWidget * modest_toolkit_factory_create_scrollable_default (ModestToolk
 static GtkWidget * modest_toolkit_factory_create_check_button_default (ModestToolkitFactory *self, const gchar *label);
 static GtkWidget * modest_toolkit_factory_create_check_menu_default (ModestToolkitFactory *self, const gchar *label);
 static GtkWidget * modest_toolkit_factory_create_isearch_toolbar_default (ModestToolkitFactory *self, const gchar *label);
+static GtkWidget * modest_toolkit_factory_create_entry_default (ModestToolkitFactory *self);
 /* globals */
 static GObjectClass *parent_class = NULL;
 
@@ -84,6 +86,7 @@ modest_toolkit_factory_class_init (ModestToolkitFactoryClass *klass)
        klass->create_check_button = modest_toolkit_factory_create_check_button_default;
        klass->create_check_menu = modest_toolkit_factory_create_check_menu_default;
        klass->create_isearch_toolbar = modest_toolkit_factory_create_isearch_toolbar_default;
+       klass->create_entry = modest_toolkit_factory_create_entry_default;
 }
 
 static void
@@ -206,3 +209,59 @@ modest_toolkit_factory_create_isearch_toolbar_default (ModestToolkitFactory *sel
        return result;
 }
 
+GtkWidget *
+modest_toolkit_factory_create_entry (ModestToolkitFactory *self)
+{
+       return MODEST_TOOLKIT_FACTORY_GET_CLASS (self)->create_entry (self);
+}
+
+static GtkWidget *
+modest_toolkit_factory_create_entry_default (ModestToolkitFactory *self)
+{
+#ifdef USE_GTK_ENTRY
+       return gtk_entry_new ();
+#else
+       return hildon_entry_new (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH);
+#endif
+}
+
+void
+modest_entry_set_text (GtkWidget *widget, const gchar *text)
+{
+#ifdef MODEST_TOOLKIT_HILDON2
+       hildon_entry_set_text (HILDON_ENTRY (widget), text);
+#else
+       gtk_entry_set_text (GTK_ENTRY (widget), text);
+#endif
+}
+
+const gchar *
+modest_entry_get_text (GtkWidget *widget)
+{
+#ifdef MODEST_TOOLKIT_HILDON2
+       return hildon_entry_get_text (HILDON_ENTRY (widget));
+#else
+       return gtk_entry_set_text (GTK_ENTRY (widget));
+#endif
+}
+
+void 
+modest_entry_set_hint (GtkWidget *widget, const gchar *hint)
+{
+#ifdef MODEST_TOOLKIT_HILDON2
+       hildon_entry_set_placeholder (HILDON_ENTRY (widget), hint);
+#else
+       gtk_widget_set_tooltip_text (widget, hint);
+#endif
+}
+
+gboolean
+modest_is_entry (GtkWidget *widget)
+{
+#ifdef MODEST_TOOLKIT_HILDON2
+       return HILDON_IS_ENTRY (widget);
+#else
+       return GTK_IS_ENTRY (widget);
+#endif
+}
+
index 82dd9b6..0b20778 100644 (file)
@@ -39,6 +39,7 @@ struct                                          _ModestToolkitFactoryClass
        GtkWidget * (*create_check_button) (ModestToolkitFactory *self, const gchar *label);
        GtkWidget * (*create_check_menu) (ModestToolkitFactory *self, const gchar *label);
        GtkWidget * (*create_isearch_toolbar) (ModestToolkitFactory *self, const gchar *label);
+       GtkWidget * (*create_entry) (ModestToolkitFactory *self);
 };
 
 struct                                          _ModestToolkitFactory
@@ -65,6 +66,9 @@ modest_toolkit_factory_create_check_menu (ModestToolkitFactory *self, const gcha
 GtkWidget *
 modest_toolkit_factory_create_isearch_toolbar (ModestToolkitFactory *self, const gchar *label);
 
+GtkWidget *
+modest_toolkit_factory_create_entry (ModestToolkitFactory *self);
+
 gboolean
 modest_togglable_get_active (GtkWidget *widget);
 
@@ -74,6 +78,18 @@ modest_togglable_set_active (GtkWidget *widget, gboolean active);
 gboolean
 modest_is_togglable (GtkWidget *widget);
 
+void
+modest_entry_set_text (GtkWidget *widget, const gchar *text);
+
+const gchar *
+modest_entry_get_text (GtkWidget *widget);
+
+void
+modest_entry_set_hint (GtkWidget *widget, const gchar *hint);
+
+gboolean 
+modest_is_entry (GtkWidget *widget);
+
 G_END_DECLS
 
 #endif /* __MODEST_WP_TEXT_VIEW_H__ */