// we should only be called if we have a max len limit at all
GtkEntry *entry = GTK_ENTRY (editable);
- wxCHECK_RET( entry->text_max_length, wxT("shouldn't be called") );
+ const int text_length = gtk_entry_get_text_length(entry);
+#if GTK_CHECK_VERSION(3,0,0) || defined(GSEAL_ENABLE)
+ const int text_max_length = gtk_entry_buffer_get_max_length(gtk_entry_get_buffer(entry));
+#else
+ const int text_max_length = entry->text_max_length;
+#endif
+ wxCHECK_RET(text_max_length, "shouldn't be called");
// check that we don't overflow the max length limit
//
// FIXME: this doesn't work when we paste a string which is going to be
// truncated
- if ( entry->text_length == entry->text_max_length )
+ if (text_length == text_max_length)
{
// we don't need to run the base class version at all
g_signal_stop_emission_by_name (editable, "insert_text");
// GtkEntries
GtkEntry * const entry = GTK_ENTRY(GetEditable());
- return entry ? entry->text_length : - 1;
+ return entry ? gtk_entry_get_text_length(entry) : -1;
}
// ----------------------------------------------------------------------------
// auto completion
// ----------------------------------------------------------------------------
-bool wxTextEntry::AutoComplete(const wxArrayString& choices)
+bool wxTextEntry::DoAutoCompleteStrings(const wxArrayString& choices)
{
GtkEntry * const entry = GTK_ENTRY(GetEditable());
wxCHECK_MSG(entry, false, "auto completion doesn't work with this control");
#if GTK_CHECK_VERSION(2,14,0)
newBorder = gtk_border_new();
#else
- newBorder = new GtkBorder;
+ newBorder = g_slice_new0(GtkBorder);
#endif
// Use some reasonable defaults for initial margins
newBorder->left = 2;
gtk_entry_set_inner_border(entry, newBorder);
+#if GTK_CHECK_VERSION(2,14,0)
+ gtk_border_free(newBorder);
+#else
+ g_slice_free(GtkBorder, newBorder);
+#endif
+
return true;
#else
wxUnusedVar(margins);