[libgda] Added gdaui_entry_set_width_chars()
- From: Vivien Malerba <vivien src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [libgda] Added gdaui_entry_set_width_chars()
- Date: Tue, 29 Sep 2009 19:27:42 +0000 (UTC)
commit af67adc4e8308cbae646f07c113e5b370b9326d7
Author: Vivien Malerba <malerba gnome-db org>
Date: Mon Sep 28 20:40:03 2009 +0200
Added gdaui_entry_set_width_chars()
libgda-ui/data-entries/gdaui-entry.c | 26 ++++++++++++++++++++---
libgda-ui/data-entries/gdaui-entry.h | 2 +
libgda-ui/data-entries/gdaui-formatted-entry.c | 3 +-
libgda-ui/libgda-ui.symbols | 1 +
4 files changed, 27 insertions(+), 5 deletions(-)
---
diff --git a/libgda-ui/data-entries/gdaui-entry.c b/libgda-ui/data-entries/gdaui-entry.c
index cf54df0..5cc8662 100644
--- a/libgda-ui/data-entries/gdaui-entry.c
+++ b/libgda-ui/data-entries/gdaui-entry.c
@@ -384,7 +384,6 @@ gdaui_entry_get_text (GdauiEntry *entry)
gchar *text;
g_return_val_if_fail (GDAUI_IS_ENTRY (entry), NULL);
- g_return_val_if_fail (entry->priv, NULL);
if (entry->priv->isnull)
text = NULL;
@@ -428,7 +427,6 @@ void
gdaui_entry_set_text (GdauiEntry *entry, const gchar *text)
{
g_return_if_fail (GDAUI_IS_ENTRY (entry));
- g_return_if_fail (entry->priv);
if (text) {
entry->priv->isnull = TRUE;
@@ -461,7 +459,6 @@ void
gdaui_entry_set_prefix (GdauiEntry *entry, const gchar *prefix)
{
g_return_if_fail (GDAUI_IS_ENTRY (entry));
- g_return_if_fail (entry->priv);
g_object_set (G_OBJECT (entry), "prefix", prefix, NULL);
}
@@ -478,12 +475,33 @@ void
gdaui_entry_set_suffix (GdauiEntry *entry, const gchar *suffix)
{
g_return_if_fail (GDAUI_IS_ENTRY (entry));
- g_return_if_fail (entry->priv);
g_object_set (G_OBJECT (entry), "suffix", suffix, NULL);
}
+/**
+ * gdaui_entry_set_width_chars
+ * @entry: a #GdauiEntry widget
+ * @max_width: maximum width, or -1
+ *
+ * Sets @entry's maximum width in characters, without taking into account
+ * any prefix or suffix (which will automatically be handled). If you want to take
+ * a prefix or suffix into account direclty, then use gtk_entry_set_width_chars()
+ */
+void
+gdaui_entry_set_width_chars (GdauiEntry *entry, gint max_width)
+{
+ g_return_if_fail (GDAUI_IS_ENTRY (entry));
+ if (max_width < 0)
+ gtk_entry_set_width_chars (GTK_ENTRY (entry), -1);
+ else {
+ max_width += entry->priv->prefix_clen;
+ max_width += entry->priv->suffix_clen;
+ gtk_entry_set_width_chars (GTK_ENTRY (entry), max_width);
+ }
+}
+
/*
* callbacks
*/
diff --git a/libgda-ui/data-entries/gdaui-entry.h b/libgda-ui/data-entries/gdaui-entry.h
index a5f3875..2de6968 100644
--- a/libgda-ui/data-entries/gdaui-entry.h
+++ b/libgda-ui/data-entries/gdaui-entry.h
@@ -92,6 +92,8 @@ void gdaui_entry_set_suffix (GdauiEntry *entry, const g
void gdaui_entry_set_text (GdauiEntry *entry, const gchar *text);
gchar *gdaui_entry_get_text (GdauiEntry *entry);
+void gdaui_entry_set_width_chars (GdauiEntry *entry, gint max_width);
+
/* for sub classes */
void _gdaui_entry_block_changes (GdauiEntry *entry);
void _gdaui_entry_unblock_changes (GdauiEntry *entry);
diff --git a/libgda-ui/data-entries/gdaui-formatted-entry.c b/libgda-ui/data-entries/gdaui-formatted-entry.c
index f0640c3..c48c7e6 100644
--- a/libgda-ui/data-entries/gdaui-formatted-entry.c
+++ b/libgda-ui/data-entries/gdaui-formatted-entry.c
@@ -159,7 +159,8 @@ gdaui_formatted_entry_set_property (GObject *object,
else {
entry->priv->format = g_strdup (str);
entry->priv->format_clen = g_utf8_strlen (str, -1);
- gtk_entry_set_max_length (GTK_ENTRY (entry), entry->priv->format_clen);
+ gdaui_entry_set_width_chars (GDAUI_ENTRY (entry),
+ entry->priv->format_clen);
}
}
break;
diff --git a/libgda-ui/libgda-ui.symbols b/libgda-ui/libgda-ui.symbols
index 3337f5d..4a7a235 100644
--- a/libgda-ui/libgda-ui.symbols
+++ b/libgda-ui/libgda-ui.symbols
@@ -108,6 +108,7 @@
gdaui_entry_set_prefix
gdaui_entry_set_suffix
gdaui_entry_set_text
+ gdaui_entry_set_width_chars
gdaui_entry_shell_get_type
gdaui_entry_shell_pack_entry
gdaui_entry_shell_refresh
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]