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 * #HildonEntry is text entry derived from the #GtkEntry widget but
22 * with a slightly different appearance designed for the Hildon 2.2
25 * Text entries in Hildon 2.2 can have a placeholder text, set with
26 * hildon_gtk_entry_set_placeholder_text(). This text will be shown if
27 * the entry is empty and doesn't have the input focus, but it's
28 * otherwise ignored. Thus, calls to gtk_entry_get_text() will never
29 * return the placeholder text, not even when it's being displayed.
32 * <title>Creating a HildonEntry with a placeholder</title>
39 * entry = hildon_entry_new (HILDON_SIZE_AUTO);
40 * hildon_gtk_entry_set_placeholder_text (GTK_ENTRY (entry), "First name");
48 #undef HILDON_DISABLE_DEPRECATED
50 #include "hildon-entry.h"
52 G_DEFINE_TYPE (HildonEntry, hildon_entry, GTK_TYPE_ENTRY);
59 set_property (GObject *object,
69 size = g_value_get_flags (value);
70 /* If this is auto height, default to finger height. */
71 if (!(size & (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_THUMB_HEIGHT)))
72 size |= HILDON_SIZE_FINGER_HEIGHT;
73 hildon_gtk_widget_set_theme_size (GTK_WIDGET (object), size);
76 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
82 * hildon_entry_set_text:
83 * @entry: a #HildonEntry
86 * Sets the text in @entry to @text, replacing its current contents.
90 * Deprecated: Use gtk_entry_set_text() instead
93 hildon_entry_set_text (HildonEntry *entry,
96 g_return_if_fail (HILDON_IS_ENTRY (entry) && text != NULL);
97 gtk_entry_set_text (GTK_ENTRY (entry), text);
101 * hildon_entry_get_text:
102 * @entry: a #HildonEntry
104 * Gets the current text in @entry.
106 * Note that the placeholder text (set using
107 * hildon_gtk_entry_set_placeholder_text()) is never returned. Only
108 * text set by gtk_entry_set_text() or typed by the user is
111 * Returns: the text in @entry. This text must not be modified or
116 * Deprecated: Use gtk_entry_get_text() instead
119 hildon_entry_get_text (HildonEntry *entry)
121 g_return_val_if_fail (HILDON_IS_ENTRY (entry), NULL);
122 return gtk_entry_get_text (GTK_ENTRY (entry));
126 * hildon_entry_set_placeholder:
127 * @entry: a #HildonEntry
128 * @text: the new text
130 * Sets the placeholder text in @entry to @text.
134 * Deprecated: Use hildon_gtk_entry_set_placeholder_text() instead
137 hildon_entry_set_placeholder (HildonEntry *entry,
140 g_return_if_fail (HILDON_IS_ENTRY (entry) && text != NULL);
141 hildon_gtk_entry_set_placeholder_text (GTK_ENTRY (entry), text);
146 * @size: The size of the entry
148 * Creates a new entry.
150 * Returns: a new #HildonEntry
155 hildon_entry_new (HildonSizeType size)
157 return g_object_new (HILDON_TYPE_ENTRY, "size", size, NULL);
161 hildon_entry_class_init (HildonEntryClass *klass)
163 GObjectClass *gobject_class = (GObjectClass *)klass;
165 gobject_class->set_property = set_property;
167 g_object_class_install_property (
173 "Size request for the entry",
174 HILDON_TYPE_SIZE_TYPE,
175 HILDON_SIZE_AUTO_WIDTH | HILDON_SIZE_FINGER_HEIGHT,
176 G_PARAM_CONSTRUCT | G_PARAM_WRITABLE));
180 hildon_entry_init (HildonEntry *self)