X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4a46cbe8c69e57a1837167097084867331ba4d7e..8a31648287be0ef976f133de2786b137f1e98340:/src/gtk/treeentry_gtk.c diff --git a/src/gtk/treeentry_gtk.c b/src/gtk/treeentry_gtk.c index 288ef11198..e652f83231 100644 --- a/src/gtk/treeentry_gtk.c +++ b/src/gtk/treeentry_gtk.c @@ -7,6 +7,13 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////// */ +#ifdef __VMS +#include +typedef pid_t GPid; +#define G_GNUC_INTERNAL +#define GSEAL(x) x +#endif + #include "wx/gtk/treeentry_gtk.h" /* @@ -33,20 +40,20 @@ static void gtk_tree_entry_dispose(GObject* obj); /* public */ -GtkTreeEntry* +GtkTreeEntry* gtk_tree_entry_new() { return GTK_TREE_ENTRY(g_object_new(GTK_TYPE_TREE_ENTRY, NULL)); } -GtkType +GType gtk_tree_entry_get_type () { - static GtkType tree_entry_type = 0; + static GType tree_entry_type = 0; if (!tree_entry_type) { - static const GTypeInfo tree_entry_info = + const GTypeInfo tree_entry_info = { sizeof (GtkTreeEntryClass), NULL, /* base_init */ @@ -57,9 +64,10 @@ gtk_tree_entry_get_type () sizeof (GtkTreeEntry), 16, /* n_preallocs */ (GInstanceInitFunc) gtk_tree_entry_init, /*instance_init*/ + NULL /* value_table */ }; - tree_entry_type = g_type_register_static (G_TYPE_OBJECT, "GtkTreeEntry", - &tree_entry_info, + tree_entry_type = g_type_register_static (G_TYPE_OBJECT, "GtkTreeEntry", + &tree_entry_info, (GTypeFlags)0); g_value_register_transform_func(tree_entry_type, G_TYPE_STRING, gtk_tree_entry_string_transform_func); @@ -88,6 +96,7 @@ gpointer gtk_tree_entry_get_userdata (GtkTreeEntry* entry) void gtk_tree_entry_set_label (GtkTreeEntry* entry, const gchar* label) { g_assert(GTK_IS_TREE_ENTRY(entry)); + gchar *temp; /* free previous if it exists */ if(entry->label) @@ -97,7 +106,9 @@ void gtk_tree_entry_set_label (GtkTreeEntry* entry, const gchar* label } entry->label = g_strdup(label); - entry->collate_key = g_utf8_collate_key(label, -1); /* -1 == null terminated */ + temp = g_utf8_casefold(label, -1); /* -1 == null terminated */ + entry->collate_key = g_utf8_collate_key(temp, -1); /* -1 == null terminated */ + g_free( temp ); } void gtk_tree_entry_set_userdata (GtkTreeEntry* entry, gpointer userdata) @@ -106,13 +117,13 @@ void gtk_tree_entry_set_userdata (GtkTreeEntry* entry, gpointer userdata) entry->userdata = userdata; } -void gtk_tree_entry_set_destroy_func (GtkTreeEntry* entry, +void gtk_tree_entry_set_destroy_func (GtkTreeEntry* entry, GtkTreeEntryDestroy destroy_func, gpointer destroy_func_data) { g_assert(GTK_IS_TREE_ENTRY(entry)); - entry->destroy_func = destroy_func; - entry->destroy_func_data = destroy_func_data; + entry->destroy_func = destroy_func; + entry->destroy_func_data = destroy_func_data; } /* private */ @@ -137,21 +148,25 @@ static void gtk_tree_entry_init (GTypeInstance* instance, gpointer g_class) static void gtk_tree_entry_string_transform_func(const GValue *src_value, GValue *dest_value) { + GtkTreeEntry *entry; + /* Make sure src is a treeentry and dest can hold a string */ g_assert(GTK_IS_TREE_ENTRY(src_value->data[0].v_pointer)); g_assert(G_VALUE_HOLDS(dest_value, G_TYPE_STRING)); /* TODO: Use strdup here or just pass it? */ - GtkTreeEntry* entry = GTK_TREE_ENTRY(src_value->data[0].v_pointer); + entry = GTK_TREE_ENTRY(src_value->data[0].v_pointer); - g_value_set_string(dest_value, g_strdup(entry->label)); + g_value_set_string(dest_value, entry->label); } static void gtk_tree_entry_dispose(GObject* obj) { + GtkTreeEntry *entry; + g_assert(GTK_IS_TREE_ENTRY(obj)); - GtkTreeEntry* entry = GTK_TREE_ENTRY(obj); + entry = GTK_TREE_ENTRY(obj); /* free label if it exists */ if(entry->label)