avoid GTK+ prefixes for our tree entry code, it is not part of GTK+

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Paul Cornett
2013-07-06 16:35:40 +00:00
parent 92d00a3615
commit 11f1e38e26
3 changed files with 73 additions and 73 deletions

View File

@@ -16,40 +16,40 @@ extern "C" {
#include <gtk/gtk.h> /* for gpointer and gchar* etc. */ #include <gtk/gtk.h> /* for gpointer and gchar* etc. */
#define GTK_TYPE_TREE_ENTRY (gtk_tree_entry_get_type()) #define WX_TYPE_TREE_ENTRY wx_tree_entry_get_type()
#define GTK_TREE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, gtk_tree_entry_get_type (), GtkTreeEntry)) #define WX_TREE_ENTRY(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, wx_tree_entry_get_type(), wxTreeEntry)
#define GTK_IS_TREE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, gtk_tree_entry_get_type ())) #define WX_IS_TREE_ENTRY(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, wx_tree_entry_get_type())
typedef struct _GtkTreeEntry GtkTreeEntry; typedef struct _wxTreeEntry wxTreeEntry;
typedef void (*GtkTreeEntryDestroy) (GtkTreeEntry* entry, gpointer context); typedef void (*wxTreeEntryDestroy)(wxTreeEntry* entry, void* context);
struct _GtkTreeEntry struct _wxTreeEntry
{ {
GObject parent; /* object instance */ GObject parent; /* object instance */
gchar* label; /* label - always copied by this object except on get */ gchar* label; /* label - always copied by this object except on get */
gchar* collate_key; /* collate key used for string comparisons/sorting */ gchar* collate_key; /* collate key used for string comparisons/sorting */
gpointer userdata; /* untouched userdata */ gpointer userdata; /* untouched userdata */
GtkTreeEntryDestroy destroy_func; /* called upon destruction - use for freeing userdata etc. */ wxTreeEntryDestroy destroy_func; /* called upon destruction - use for freeing userdata etc. */
gpointer destroy_func_data; /* context passed to destroy_func */ gpointer destroy_func_data; /* context passed to destroy_func */
}; };
GtkTreeEntry* gtk_tree_entry_new (void); wxTreeEntry* wx_tree_entry_new(void);
GType gtk_tree_entry_get_type (void); GType wx_tree_entry_get_type(void);
gchar* gtk_tree_entry_get_collate_key (GtkTreeEntry* entry); char* wx_tree_entry_get_collate_key(wxTreeEntry* entry);
gchar* gtk_tree_entry_get_label (GtkTreeEntry* entry); char* wx_tree_entry_get_label(wxTreeEntry* entry);
gpointer gtk_tree_entry_get_userdata (GtkTreeEntry* entry); void* wx_tree_entry_get_userdata(wxTreeEntry* entry);
void gtk_tree_entry_set_label (GtkTreeEntry* entry, const gchar* label); void wx_tree_entry_set_label(wxTreeEntry* entry, const char* label);
void gtk_tree_entry_set_userdata (GtkTreeEntry* entry, gpointer userdata); void wx_tree_entry_set_userdata(wxTreeEntry* entry, void* userdata);
void gtk_tree_entry_set_destroy_func (GtkTreeEntry* entry, void wx_tree_entry_set_destroy_func(wxTreeEntry* entry,
GtkTreeEntryDestroy destroy_func, wxTreeEntryDestroy destroy_func,
gpointer destroy_func_data); gpointer destroy_func_data);
#ifdef __cplusplus #ifdef __cplusplus

View File

@@ -69,10 +69,10 @@ namespace
{ {
// Return the entry for the given listbox item. // Return the entry for the given listbox item.
GtkTreeEntry * wxTreeEntry *
GetEntry(GtkListStore *store, GtkTreeIter *iter, const wxListBox *listbox) GetEntry(GtkListStore *store, GtkTreeIter *iter, const wxListBox *listbox)
{ {
GtkTreeEntry* entry; wxTreeEntry* entry;
gtk_tree_model_get(GTK_TREE_MODEL(store), gtk_tree_model_get(GTK_TREE_MODEL(store),
iter, iter,
WXLISTBOX_DATACOLUMN_ARG(listbox), WXLISTBOX_DATACOLUMN_ARG(listbox),
@@ -179,12 +179,12 @@ gtk_listbox_key_press_callback( GtkWidget *WXUNUSED(widget),
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
extern "C" { extern "C" {
static void gtk_tree_entry_destroy_cb(GtkTreeEntry* entry, static void tree_entry_destroy_cb(wxTreeEntry* entry,
wxListBox* listbox) wxListBox* listbox)
{ {
if (listbox->HasClientObjectData()) if (listbox->HasClientObjectData())
{ {
gpointer userdata = gtk_tree_entry_get_userdata(entry); void* userdata = wx_tree_entry_get_userdata(entry);
if (userdata) if (userdata)
delete (wxClientData *)userdata; delete (wxClientData *)userdata;
} }
@@ -201,16 +201,16 @@ static gint gtk_listbox_sort_callback(GtkTreeModel * WXUNUSED(model),
GtkTreeIter *b, GtkTreeIter *b,
wxListBox *listbox) wxListBox *listbox)
{ {
GtkTreeEntry* entry1 = GetEntry(listbox->m_liststore, a, listbox); wxTreeEntry* entry1 = GetEntry(listbox->m_liststore, a, listbox);
wxCHECK_MSG(entry1, 0, wxT("Could not get first entry")); wxCHECK_MSG(entry1, 0, wxT("Could not get first entry"));
GtkTreeEntry* entry2 = GetEntry(listbox->m_liststore, b, listbox); wxTreeEntry* entry2 = GetEntry(listbox->m_liststore, b, listbox);
wxCHECK_MSG(entry2, 0, wxT("Could not get second entry")); wxCHECK_MSG(entry2, 0, wxT("Could not get second entry"));
//We compare collate keys here instead of calling g_utf8_collate //We compare collate keys here instead of calling g_utf8_collate
//as it is rather slow (and even the docs recommend this) //as it is rather slow (and even the docs recommend this)
return strcmp(gtk_tree_entry_get_collate_key(entry1), return strcmp(wx_tree_entry_get_collate_key(entry1),
gtk_tree_entry_get_collate_key(entry2)) >= 0; wx_tree_entry_get_collate_key(entry2)) >= 0;
} }
} }
@@ -225,12 +225,12 @@ static gboolean gtk_listbox_searchequal_callback(GtkTreeModel * WXUNUSED(model),
GtkTreeIter* iter, GtkTreeIter* iter,
wxListBox* listbox) wxListBox* listbox)
{ {
GtkTreeEntry* entry = GetEntry(listbox->m_liststore, iter, listbox); wxTreeEntry* entry = GetEntry(listbox->m_liststore, iter, listbox);
wxCHECK_MSG(entry, 0, wxT("Could not get entry")); wxCHECK_MSG(entry, 0, wxT("Could not get entry"));
wxGtkString keycollatekey(g_utf8_collate_key(key, -1)); wxGtkString keycollatekey(g_utf8_collate_key(key, -1));
return strcmp(keycollatekey, gtk_tree_entry_get_collate_key(entry)) != 0; return strcmp(keycollatekey, wx_tree_entry_get_collate_key(entry)) != 0;
} }
} }
@@ -312,10 +312,10 @@ bool wxListBox::Create( wxWindow *parent, wxWindowID id,
#if wxUSE_CHECKLISTBOX #if wxUSE_CHECKLISTBOX
if(m_hasCheckBoxes) if(m_hasCheckBoxes)
m_liststore = gtk_list_store_new(2, G_TYPE_BOOLEAN, m_liststore = gtk_list_store_new(2, G_TYPE_BOOLEAN,
GTK_TYPE_TREE_ENTRY); WX_TYPE_TREE_ENTRY);
else else
#endif #endif
m_liststore = gtk_list_store_new(1, GTK_TYPE_TREE_ENTRY); m_liststore = gtk_list_store_new(1, WX_TYPE_TREE_ENTRY);
gtk_tree_view_set_model(m_treeview, GTK_TREE_MODEL(m_liststore)); gtk_tree_view_set_model(m_treeview, GTK_TREE_MODEL(m_liststore));
@@ -458,9 +458,9 @@ int wxListBox::DoInsertItems(const wxArrayStringsAdapter& items,
int wxListBox::DoInsertOneItem(const wxString& item, unsigned int pos) int wxListBox::DoInsertOneItem(const wxString& item, unsigned int pos)
{ {
GtkTreeEntry* entry = gtk_tree_entry_new(); wxTreeEntry* entry = wx_tree_entry_new();
gtk_tree_entry_set_label(entry, wxGTK_CONV(item)); wx_tree_entry_set_label(entry, wxGTK_CONV(item));
gtk_tree_entry_set_destroy_func(entry, (GtkTreeEntryDestroy)gtk_tree_entry_destroy_cb, this); wx_tree_entry_set_destroy_func(entry, (wxTreeEntryDestroy)tree_entry_destroy_cb, this);
#if wxUSE_CHECKLISTBOX #if wxUSE_CHECKLISTBOX
int entryCol = int(m_hasCheckBoxes); int entryCol = int(m_hasCheckBoxes);
@@ -543,7 +543,7 @@ int wxListBox::GTKGetIndexFor(GtkTreeIter& iter) const
} }
// get GtkTreeEntry from position (note: you need to g_unref it if valid) // get GtkTreeEntry from position (note: you need to g_unref it if valid)
GtkTreeEntry *wxListBox::GTKGetEntry(unsigned n) const wxTreeEntry* wxListBox::GTKGetEntry(unsigned n) const
{ {
GtkTreeIter iter; GtkTreeIter iter;
if ( !GTKGetIteratorFor(n, &iter) ) if ( !GTKGetIteratorFor(n, &iter) )
@@ -558,18 +558,18 @@ GtkTreeEntry *wxListBox::GTKGetEntry(unsigned n) const
void* wxListBox::DoGetItemClientData(unsigned int n) const void* wxListBox::DoGetItemClientData(unsigned int n) const
{ {
GtkTreeEntry* entry = GTKGetEntry(n); wxTreeEntry* entry = GTKGetEntry(n);
wxCHECK_MSG(entry, NULL, wxT("could not get entry")); wxCHECK_MSG(entry, NULL, wxT("could not get entry"));
return gtk_tree_entry_get_userdata( entry ); return wx_tree_entry_get_userdata(entry);
} }
void wxListBox::DoSetItemClientData(unsigned int n, void* clientData) void wxListBox::DoSetItemClientData(unsigned int n, void* clientData)
{ {
GtkTreeEntry* entry = GTKGetEntry(n); wxTreeEntry* entry = GTKGetEntry(n);
wxCHECK_RET(entry, wxT("could not get entry")); wxCHECK_RET(entry, wxT("could not get entry"));
gtk_tree_entry_set_userdata( entry, clientData ); wx_tree_entry_set_userdata(entry, clientData);
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -582,10 +582,10 @@ void wxListBox::SetString(unsigned int n, const wxString& label)
GtkTreeIter iter; GtkTreeIter iter;
wxCHECK_RET(GTKGetIteratorFor(n, &iter), "invalid index"); wxCHECK_RET(GTKGetIteratorFor(n, &iter), "invalid index");
GtkTreeEntry* entry = GetEntry(m_liststore, &iter, this); wxTreeEntry* entry = GetEntry(m_liststore, &iter, this);
// update the item itself // update the item itself
gtk_tree_entry_set_label(entry, wxGTK_CONV(label)); wx_tree_entry_set_label(entry, wxGTK_CONV(label));
// signal row changed // signal row changed
GtkTreeModel* tree_model = GTK_TREE_MODEL(m_liststore); GtkTreeModel* tree_model = GTK_TREE_MODEL(m_liststore);
@@ -598,10 +598,10 @@ wxString wxListBox::GetString(unsigned int n) const
{ {
wxCHECK_MSG( m_treeview != NULL, wxEmptyString, wxT("invalid listbox") ); wxCHECK_MSG( m_treeview != NULL, wxEmptyString, wxT("invalid listbox") );
GtkTreeEntry* entry = GTKGetEntry(n); wxTreeEntry* entry = GTKGetEntry(n);
wxCHECK_MSG( entry, wxEmptyString, wxT("wrong listbox index") ); wxCHECK_MSG( entry, wxEmptyString, wxT("wrong listbox index") );
return wxGTK_CONV_BACK( gtk_tree_entry_get_label(entry) ); return wxGTK_CONV_BACK(wx_tree_entry_get_label(entry));
} }
unsigned int wxListBox::GetCount() const unsigned int wxListBox::GetCount() const

View File

@@ -32,22 +32,22 @@ typedef pid_t GPid;
*/ */
/* forwards */ /* forwards */
static void gtk_tree_entry_class_init(void* g_class, void* class_data); static void wx_tree_entry_class_init(void* g_class, void* class_data);
static void gtk_tree_entry_string_transform_func(const GValue *src_value, static void wx_tree_entry_string_transform_func(const GValue *src_value,
GValue *dest_value); GValue *dest_value);
static void gtk_tree_entry_dispose(GObject* obj); static void wx_tree_entry_dispose(GObject* obj);
static GObjectClass* parent_class; static GObjectClass* parent_class;
/* public */ /* public */
GtkTreeEntry* wxTreeEntry*
gtk_tree_entry_new() wx_tree_entry_new()
{ {
return GTK_TREE_ENTRY(g_object_new(GTK_TYPE_TREE_ENTRY, NULL)); return WX_TREE_ENTRY(g_object_new(WX_TYPE_TREE_ENTRY, NULL));
} }
GType GType
gtk_tree_entry_get_type () wx_tree_entry_get_type()
{ {
static GType tree_entry_type = 0; static GType tree_entry_type = 0;
@@ -58,25 +58,25 @@ gtk_tree_entry_get_type ()
sizeof(GObjectClass), sizeof(GObjectClass),
NULL, /* base_init */ NULL, /* base_init */
NULL, /* base_finalize */ NULL, /* base_finalize */
gtk_tree_entry_class_init, wx_tree_entry_class_init,
NULL, /* class_finalize */ NULL, /* class_finalize */
NULL, /* class_data */ NULL, /* class_data */
sizeof (GtkTreeEntry), sizeof(wxTreeEntry),
16, /* n_preallocs */ 16, /* n_preallocs */
NULL, /* instance_init */ NULL, /* instance_init */
NULL /* value_table */ NULL /* value_table */
}; };
tree_entry_type = g_type_register_static (G_TYPE_OBJECT, "GtkTreeEntry", tree_entry_type = g_type_register_static (G_TYPE_OBJECT, "wxTreeEntry",
&tree_entry_info, &tree_entry_info,
(GTypeFlags)0); (GTypeFlags)0);
g_value_register_transform_func(tree_entry_type, G_TYPE_STRING, g_value_register_transform_func(tree_entry_type, G_TYPE_STRING,
gtk_tree_entry_string_transform_func); wx_tree_entry_string_transform_func);
} }
return tree_entry_type; return tree_entry_type;
} }
gchar* gtk_tree_entry_get_collate_key (GtkTreeEntry* entry) char* wx_tree_entry_get_collate_key(wxTreeEntry* entry)
{ {
if (entry->collate_key == NULL) if (entry->collate_key == NULL)
{ {
@@ -87,21 +87,21 @@ gchar* gtk_tree_entry_get_collate_key (GtkTreeEntry* entry)
return entry->collate_key; return entry->collate_key;
} }
gchar* gtk_tree_entry_get_label (GtkTreeEntry* entry) char* wx_tree_entry_get_label(wxTreeEntry* entry)
{ {
g_assert(GTK_IS_TREE_ENTRY(entry)); g_assert(WX_IS_TREE_ENTRY(entry));
return entry->label; return entry->label;
} }
gpointer gtk_tree_entry_get_userdata (GtkTreeEntry* entry) void* wx_tree_entry_get_userdata(wxTreeEntry* entry)
{ {
g_assert(GTK_IS_TREE_ENTRY(entry)); g_assert(WX_IS_TREE_ENTRY(entry));
return entry->userdata; return entry->userdata;
} }
void gtk_tree_entry_set_label (GtkTreeEntry* entry, const gchar* label) void wx_tree_entry_set_label(wxTreeEntry* entry, const char* label)
{ {
g_assert(GTK_IS_TREE_ENTRY(entry)); g_assert(WX_IS_TREE_ENTRY(entry));
/* free previous if it exists */ /* free previous if it exists */
if(entry->label) if(entry->label)
@@ -114,50 +114,50 @@ void gtk_tree_entry_set_label (GtkTreeEntry* entry, const gchar* label
entry->collate_key = NULL; entry->collate_key = NULL;
} }
void gtk_tree_entry_set_userdata (GtkTreeEntry* entry, gpointer userdata) void wx_tree_entry_set_userdata(wxTreeEntry* entry, void* userdata)
{ {
g_assert(GTK_IS_TREE_ENTRY(entry)); g_assert(WX_IS_TREE_ENTRY(entry));
entry->userdata = userdata; entry->userdata = userdata;
} }
void gtk_tree_entry_set_destroy_func (GtkTreeEntry* entry, void wx_tree_entry_set_destroy_func(wxTreeEntry* entry,
GtkTreeEntryDestroy destroy_func, wxTreeEntryDestroy destroy_func,
gpointer destroy_func_data) gpointer destroy_func_data)
{ {
g_assert(GTK_IS_TREE_ENTRY(entry)); g_assert(WX_IS_TREE_ENTRY(entry));
entry->destroy_func = destroy_func; entry->destroy_func = destroy_func;
entry->destroy_func_data = destroy_func_data; entry->destroy_func_data = destroy_func_data;
} }
/* private */ /* private */
static void gtk_tree_entry_class_init(void* g_class, void* class_data) static void wx_tree_entry_class_init(void* g_class, void* class_data)
{ {
GObjectClass* gobject_class = G_OBJECT_CLASS(g_class); GObjectClass* gobject_class = G_OBJECT_CLASS(g_class);
gobject_class->dispose = gtk_tree_entry_dispose; gobject_class->dispose = wx_tree_entry_dispose;
parent_class = G_OBJECT_CLASS(g_type_class_peek_parent(g_class)); parent_class = G_OBJECT_CLASS(g_type_class_peek_parent(g_class));
} }
static void gtk_tree_entry_string_transform_func(const GValue *src_value, static void wx_tree_entry_string_transform_func(const GValue *src_value,
GValue *dest_value) GValue *dest_value)
{ {
GtkTreeEntry *entry; wxTreeEntry* entry;
void* src_ptr = g_value_peek_pointer(src_value); void* src_ptr = g_value_peek_pointer(src_value);
/* Make sure src is a treeentry and dest can hold a string */ /* Make sure src is a treeentry and dest can hold a string */
g_assert(GTK_IS_TREE_ENTRY(src_ptr)); g_assert(WX_IS_TREE_ENTRY(src_ptr));
g_assert(G_VALUE_HOLDS(dest_value, G_TYPE_STRING)); g_assert(G_VALUE_HOLDS(dest_value, G_TYPE_STRING));
entry = GTK_TREE_ENTRY(src_ptr); entry = WX_TREE_ENTRY(src_ptr);
g_value_set_string(dest_value, entry->label); g_value_set_string(dest_value, entry->label);
} }
static void gtk_tree_entry_dispose(GObject* obj) static void wx_tree_entry_dispose(GObject* obj)
{ {
GtkTreeEntry *entry; wxTreeEntry* entry;
g_assert(GTK_IS_TREE_ENTRY(obj)); g_assert(WX_IS_TREE_ENTRY(obj));
entry = GTK_TREE_ENTRY(obj); entry = WX_TREE_ENTRY(obj);
/* free label if it exists */ /* free label if it exists */
if(entry->label) if(entry->label)