Lines Matching refs:entry

40 #define ENTER_INTERNAL_CHANGES(entry) (entry)->priv->internal_changes ++  argument
41 #define LEAVE_INTERNAL_CHANGES(entry) (entry)->priv->internal_changes -- argument
44 static void gdaui_entry_init (GdauiEntry *entry);
56 _gdaui_entry_block_changes (GdauiEntry *entry) in _gdaui_entry_block_changes() argument
58 ENTER_INTERNAL_CHANGES(entry); in _gdaui_entry_block_changes()
62 _gdaui_entry_unblock_changes (GdauiEntry *entry) in _gdaui_entry_unblock_changes() argument
64 LEAVE_INTERNAL_CHANGES(entry); in _gdaui_entry_unblock_changes()
69 static void adjust_display (GdauiEntry *entry, gchar *existing_text);
80 static void signal_handlers_block (GdauiEntry *entry);
81 static void signal_handlers_unblock (GdauiEntry *entry);
141 gdaui_entry_init (GdauiEntry *entry) in gdaui_entry_init() argument
143 entry->priv = g_new0 (GdauiEntryPrivate, 1); in gdaui_entry_init()
144 entry->priv->prefix = NULL; in gdaui_entry_init()
145 entry->priv->suffix = NULL; in gdaui_entry_init()
146 entry->priv->maxlen = 65535; /* eg. unlimited for GtkEntry */ in gdaui_entry_init()
147 entry->priv->isnull = TRUE; in gdaui_entry_init()
148 entry->priv->internal_changes = 0; in gdaui_entry_init()
150 g_signal_connect (G_OBJECT (entry), "delete-text", in gdaui_entry_init()
153 g_signal_connect (G_OBJECT (entry), "insert-text", in gdaui_entry_init()
156 g_signal_connect (G_OBJECT (entry), "changed", in gdaui_entry_init()
163 GdauiEntry *entry; in gdaui_entry_finalize() local
168 entry = GDAUI_ENTRY (object); in gdaui_entry_finalize()
169 if (entry->priv) { in gdaui_entry_finalize()
170 g_free (entry->priv->prefix); in gdaui_entry_finalize()
171 g_free (entry->priv->suffix); in gdaui_entry_finalize()
172 g_free (entry->priv); in gdaui_entry_finalize()
173 entry->priv = NULL; in gdaui_entry_finalize()
186 GdauiEntry *entry; in gdaui_entry_set_property() local
190 entry = GDAUI_ENTRY (object); in gdaui_entry_set_property()
191 if (entry->priv) { in gdaui_entry_set_property()
194 otext = gdaui_entry_get_text (entry); in gdaui_entry_set_property()
195 g_free (entry->priv->prefix); in gdaui_entry_set_property()
196 entry->priv->prefix = NULL; in gdaui_entry_set_property()
197 entry->priv->prefix_len = 0; in gdaui_entry_set_property()
204 entry->priv->prefix = g_strdup (str); in gdaui_entry_set_property()
205 entry->priv->prefix_len = strlen (str); in gdaui_entry_set_property()
206 entry->priv->prefix_clen = g_utf8_strlen (str, -1); in gdaui_entry_set_property()
209 adjust_display (entry, otext); in gdaui_entry_set_property()
213 otext = gdaui_entry_get_text (entry); in gdaui_entry_set_property()
214 g_free (entry->priv->suffix); in gdaui_entry_set_property()
215 entry->priv->suffix = NULL; in gdaui_entry_set_property()
216 entry->priv->suffix_len = 0; in gdaui_entry_set_property()
223 entry->priv->suffix = g_strdup (str); in gdaui_entry_set_property()
224 entry->priv->suffix_len = strlen (str); in gdaui_entry_set_property()
225 entry->priv->suffix_clen = g_utf8_strlen (str, -1); in gdaui_entry_set_property()
228 adjust_display (entry, otext); in gdaui_entry_set_property()
232 entry->priv->maxlen = g_value_get_int (value); in gdaui_entry_set_property()
233 otext = gdaui_entry_get_text (entry); in gdaui_entry_set_property()
234 adjust_display (entry, otext); in gdaui_entry_set_property()
250 GdauiEntry *entry; in gdaui_entry_get_property() local
252 entry = GDAUI_ENTRY (object); in gdaui_entry_get_property()
253 if (entry->priv) { in gdaui_entry_get_property()
256 g_value_set_string (value, entry->priv->prefix); in gdaui_entry_get_property()
259 g_value_set_string (value, entry->priv->suffix); in gdaui_entry_get_property()
262 g_value_set_int (value, entry->priv->maxlen); in gdaui_entry_get_property()
272 signal_handlers_block (GdauiEntry *entry) in signal_handlers_block() argument
274 ENTER_INTERNAL_CHANGES (entry); in signal_handlers_block()
275 g_signal_handlers_block_by_func (entry, G_CALLBACK (insert_text_cb), NULL); in signal_handlers_block()
276 g_signal_handlers_block_by_func (entry, G_CALLBACK (delete_text_cb), NULL); in signal_handlers_block()
280 signal_handlers_unblock (GdauiEntry *entry) in signal_handlers_unblock() argument
282 g_signal_handlers_unblock_by_func (entry, G_CALLBACK (insert_text_cb), NULL); in signal_handlers_unblock()
283 g_signal_handlers_unblock_by_func (entry, G_CALLBACK (delete_text_cb), NULL); in signal_handlers_unblock()
284 LEAVE_INTERNAL_CHANGES (entry); in signal_handlers_unblock()
311 adjust_display (GdauiEntry *entry, gchar *existing_text) in adjust_display() argument
315 if (!entry->priv->isnull) { in adjust_display()
316 signal_handlers_block (entry); in adjust_display()
317 if (g_utf8_strlen (existing_text, -1) > entry->priv->maxlen) in adjust_display()
318 truncate_utf8_string (existing_text, entry->priv->maxlen); in adjust_display()
320 entry->priv->prefix ? entry->priv->prefix : "", in adjust_display()
322 entry->priv->suffix ? entry->priv->suffix : ""); in adjust_display()
324 gtk_entry_set_text (GTK_ENTRY (entry), tmp); /* emits a "changed" signal */ in adjust_display()
326 signal_handlers_unblock (entry); in adjust_display()
360 gdaui_entry_set_max_length (GdauiEntry *entry, gint max) in gdaui_entry_set_max_length() argument
362 g_return_if_fail (GDAUI_IS_ENTRY (entry)); in gdaui_entry_set_max_length()
364 g_object_set (G_OBJECT (entry), "max-length", max, NULL); in gdaui_entry_set_max_length()
383 gdaui_entry_get_text (GdauiEntry *entry) in gdaui_entry_get_text() argument
387 g_return_val_if_fail (GDAUI_IS_ENTRY (entry), NULL); in gdaui_entry_get_text()
389 if (entry->priv->isnull) in gdaui_entry_get_text()
394 ctext = gtk_entry_get_text (GTK_ENTRY (entry)); in gdaui_entry_get_text()
398 if (entry->priv->prefix) { in gdaui_entry_get_text()
399 len -= entry->priv->prefix_len; in gdaui_entry_get_text()
400 memmove (text, text + entry->priv->prefix_len, len+1); in gdaui_entry_get_text()
402 if (entry->priv->suffix) { in gdaui_entry_get_text()
403 len -= entry->priv->suffix_len; in gdaui_entry_get_text()
428 gdaui_entry_set_text (GdauiEntry *entry, const gchar *text) in gdaui_entry_set_text() argument
430 g_return_if_fail (GDAUI_IS_ENTRY (entry)); in gdaui_entry_set_text()
433 entry->priv->isnull = TRUE; in gdaui_entry_set_text()
434 signal_handlers_block (entry); in gdaui_entry_set_text()
435 gtk_entry_set_text (GTK_ENTRY (entry), ""); in gdaui_entry_set_text()
436 signal_handlers_unblock (entry); in gdaui_entry_set_text()
437 ENTER_INTERNAL_CHANGES(entry); in gdaui_entry_set_text()
438 …gtk_entry_set_text (GTK_ENTRY (entry), text); /* emits the "insert-text" signal which is treated */ in gdaui_entry_set_text()
439 entry->priv->isnull = FALSE; /* in case it has not been set */ in gdaui_entry_set_text()
440 LEAVE_INTERNAL_CHANGES(entry); in gdaui_entry_set_text()
441 g_signal_emit_by_name (entry, "changed"); in gdaui_entry_set_text()
444 entry->priv->isnull = TRUE; in gdaui_entry_set_text()
445 signal_handlers_block (entry); in gdaui_entry_set_text()
446 gtk_entry_set_text (GTK_ENTRY (entry), ""); in gdaui_entry_set_text()
447 signal_handlers_unblock (entry); in gdaui_entry_set_text()
448 g_signal_emit_by_name (entry, "changed"); in gdaui_entry_set_text()
461 gdaui_entry_set_prefix (GdauiEntry *entry, const gchar *prefix) in gdaui_entry_set_prefix() argument
463 g_return_if_fail (GDAUI_IS_ENTRY (entry)); in gdaui_entry_set_prefix()
465 g_object_set (G_OBJECT (entry), "prefix", prefix, NULL); in gdaui_entry_set_prefix()
477 gdaui_entry_set_suffix (GdauiEntry *entry, const gchar *suffix) in gdaui_entry_set_suffix() argument
479 g_return_if_fail (GDAUI_IS_ENTRY (entry)); in gdaui_entry_set_suffix()
481 g_object_set (G_OBJECT (entry), "suffix", suffix, NULL); in gdaui_entry_set_suffix()
495 gdaui_entry_set_width_chars (GdauiEntry *entry, gint max_width) in gdaui_entry_set_width_chars() argument
497 g_return_if_fail (GDAUI_IS_ENTRY (entry)); in gdaui_entry_set_width_chars()
499 gtk_entry_set_width_chars (GTK_ENTRY (entry), -1); in gdaui_entry_set_width_chars()
501 max_width += entry->priv->prefix_clen; in gdaui_entry_set_width_chars()
502 max_width += entry->priv->suffix_clen; in gdaui_entry_set_width_chars()
503 gtk_entry_set_width_chars (GTK_ENTRY (entry), max_width); in gdaui_entry_set_width_chars()
514 GdauiEntry *entry = (GdauiEntry*) editable; in changed_cb() local
515 if (entry->priv->internal_changes > 0) in changed_cb()
525 GdauiEntry *entry = GDAUI_ENTRY (editable); in delete_text_cb() local
527 signal_handlers_block (entry); in delete_text_cb()
528 if (entry->priv->prefix) { in delete_text_cb()
529 if (nstart < entry->priv->prefix_clen) in delete_text_cb()
530 nstart = entry->priv->prefix_clen; in delete_text_cb()
533 otext = gtk_entry_get_text ((GtkEntry*) entry); in delete_text_cb()
540 signal_handlers_unblock (entry); in delete_text_cb()
544 if (entry->priv->suffix) { in delete_text_cb()
546 otext = gtk_entry_get_text ((GtkEntry*) entry); in delete_text_cb()
550 if ((nstart >= len - entry->priv->suffix_clen)) { in delete_text_cb()
551 nstart = len - entry->priv->suffix_clen - 1; in delete_text_cb()
554 signal_handlers_unblock (entry); in delete_text_cb()
560 if (nend > len - entry->priv->suffix_clen) in delete_text_cb()
561 nend = len - entry->priv->suffix_clen; in delete_text_cb()
566 GDAUI_ENTRY_GET_CLASS (editable)->assume_delete (entry, nstart - entry->priv->prefix_clen, in delete_text_cb()
567 nend - entry->priv->prefix_clen, in delete_text_cb()
568 entry->priv->prefix_clen); in delete_text_cb()
577 signal_handlers_unblock (entry); in delete_text_cb()
578 g_signal_emit_by_name (entry, "changed"); in delete_text_cb()
588 GdauiEntry *entry = GDAUI_ENTRY (editable); in insert_text_cb() local
595 signal_handlers_block (entry); in insert_text_cb()
597 if (entry->priv->isnull) { in insert_text_cb()
599 entry->priv->isnull = FALSE; in insert_text_cb()
601 etext = GDAUI_ENTRY_GET_CLASS (editable)->get_empty_text (entry); in insert_text_cb()
602 adjust_display (entry, etext ? etext : ""); in insert_text_cb()
606 otext = gtk_entry_get_text ((GtkEntry*) entry); in insert_text_cb()
610 if (entry->priv->prefix) { in insert_text_cb()
611 if (*position < entry->priv->prefix_clen) in insert_text_cb()
612 *position = entry->priv->prefix_clen; in insert_text_cb()
614 if (entry->priv->suffix) { in insert_text_cb()
615 if (*position > clen - entry->priv->suffix_clen) in insert_text_cb()
616 *position = clen - entry->priv->suffix_clen; in insert_text_cb()
621 if (clen - entry->priv->prefix_clen - entry->priv->suffix_clen + text_clen > entry->priv->maxlen) { in insert_text_cb()
624 nallowed = entry->priv->maxlen - (clen - entry->priv->prefix_clen - entry->priv->suffix_clen); in insert_text_cb()
633 signal_handlers_unblock (entry); in insert_text_cb()
634 g_signal_emit_by_name (entry, "changed"); in insert_text_cb()
639 gint pos = *position - entry->priv->prefix_clen; in insert_text_cb()
640 GDAUI_ENTRY_GET_CLASS (editable)->assume_insert (entry, text, text_length, in insert_text_cb()
641 &pos, entry->priv->prefix_clen); in insert_text_cb()
642 *position = pos + entry->priv->prefix_clen; in insert_text_cb()
644 signal_handlers_unblock (entry); in insert_text_cb()
645 g_signal_emit_by_name (entry, "changed"); in insert_text_cb()
648 signal_handlers_unblock (entry); in insert_text_cb()