2 * This file is a part of hildon
4 * Copyright (C) 2008, 2009 Nokia Corporation, all rights reserved.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU Lesser Public License as published by
8 * the Free Software Foundation; version 2 of the license.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser Public License for more details.
18 * SECTION:hildon-entry
19 * @short_description: Text entry in the Hildon framework.
21 * The #HildonEntry is text entry derived from the #GtkEntry widget providing
22 * additional commodities specific to the Hildon framework.
24 * A #HildonEntry can have a placeholder text. This text will be shown
25 * if the entry is empty and doesn't have the input focus, but it's
26 * otherwise ignored. Thus, calls to gtk_entry_get_text() will never
27 * return the placeholder text, not even when it's being displayed.
30 * <title>Creating a HildonEntry with a placeholder</title>
37 * entry = hildon_entry_new (HILDON_SIZE_AUTO);
38 * hildon_gtk_entry_set_placeholder_text (GTK_ENTRY (entry), "First name");
46 #undef HILDON_DISABLE_DEPRECATED
48 #include "hildon-entry.h"
50 G_DEFINE_TYPE (HildonEntry, hildon_entry, GTK_TYPE_ENTRY);
57 set_property (GObject *object,
67 size = g_value_get_flags (value);
68 /* If this is auto height, default to finger height. */
69 if (!(size & (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_THUMB_HEIGHT)))
70 size |= HILDON_SIZE_FINGER_HEIGHT;
71 hildon_gtk_widget_set_theme_size (GTK_WIDGET (object), size);
74 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
80 * hildon_entry_set_text:
81 * @entry: a #HildonEntry
84 * Sets the text in @entry to @text, replacing its current contents.
88 * Deprecated: Use gtk_entry_set_text() instead
91 hildon_entry_set_text (HildonEntry *entry,
94 g_return_if_fail (HILDON_IS_ENTRY (entry) && text != NULL);
95 gtk_entry_set_text (GTK_ENTRY (entry), text);
99 * hildon_entry_get_text:
100 * @entry: a #HildonEntry
102 * Gets the current text in @entry.
104 * Note that the placeholder text (set using
105 * hildon_gtk_entry_set_placeholder_text()) is never returned. Only
106 * text set by gtk_entry_set_text() or typed by the user is
109 * Returns: the text in @entry. This text must not be modified or
114 * Deprecated: Use gtk_entry_get_text() instead
117 hildon_entry_get_text (HildonEntry *entry)
119 g_return_val_if_fail (HILDON_IS_ENTRY (entry), NULL);
120 return gtk_entry_get_text (GTK_ENTRY (entry));
124 * hildon_entry_set_placeholder:
125 * @entry: a #HildonEntry
126 * @text: the new text
128 * Sets the placeholder text in @entry to @text.
132 * Deprecated: Use hildon_gtk_entry_set_placeholder_text() instead
135 hildon_entry_set_placeholder (HildonEntry *entry,
138 g_return_if_fail (HILDON_IS_ENTRY (entry) && text != NULL);
139 hildon_gtk_entry_set_placeholder_text (GTK_ENTRY (entry), text);
144 * @size: The size of the entry
146 * Creates a new entry.
148 * Returns: a new #HildonEntry
153 hildon_entry_new (HildonSizeType size)
155 return g_object_new (HILDON_TYPE_ENTRY, "size", size, NULL);
159 hildon_entry_class_init (HildonEntryClass *klass)
161 GObjectClass *gobject_class = (GObjectClass *)klass;
163 gobject_class->set_property = set_property;
165 g_object_class_install_property (
171 "Size request for the entry",
172 HILDON_TYPE_SIZE_TYPE,
173 HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT,
174 G_PARAM_CONSTRUCT | G_PARAM_WRITABLE));
178 hildon_entry_init (HildonEntry *self)