/* /////////////////////////////////////////////////////////////////////////// // Name: treeentry_gtk.h // Purpose: GtkTreeEntry - a string/userdata combo for use with treeview // Author: Ryan Norton // Id: $Id$ // Copyright: (c) 2006 Ryan Norton // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////// */ #ifndef __GTK_TREE_ENTRY_H__ #define __GTK_TREE_ENTRY_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #include /* for gpointer and gchar* etc. */ #include "wx/dlimpexp.h" #define GTK_TYPE_TREE_ENTRY (gtk_tree_entry_get_type()) #define GTK_TREE_ENTRY(obj) (GTK_CHECK_CAST (obj, gtk_tree_entry_get_type (), GtkTreeEntry)) #define GTK_TREE_ENTRY_CLASS(klass) (GTK_CHECK_CLASS_CAST (klass, gtk_tree_entry_get_type (), GtkTreeEntryClass)) #define GTK_IS_TREE_ENTRY(obj) (GTK_CHECK_TYPE (obj, gtk_tree_entry_get_type ())) typedef struct _GtkTreeEntry GtkTreeEntry; typedef struct _GtkTreeEntryClass GtkTreeEntryClass; typedef void (*GtkTreeEntryDestroy) (GtkTreeEntry* entry, gpointer context); struct _GtkTreeEntry { GObject parent; /* object instance */ gchar* label; /* label - always copied by this object except on get */ gchar* collate_key; /* collate key used for string comparisons/sorting */ gpointer userdata; /* untouched userdata */ GtkTreeEntryDestroy destroy_func; /* called upon destruction - use for freeing userdata etc. */ gpointer destroy_func_data; /* context passed to destroy_func */ }; struct _GtkTreeEntryClass { GObjectClass parent; }; WXDLLIMPEXP_CORE GtkTreeEntry* gtk_tree_entry_new (void); WXDLLIMPEXP_CORE GtkType gtk_tree_entry_get_type (void); WXDLLIMPEXP_CORE gchar* gtk_tree_entry_get_collate_key (GtkTreeEntry* entry); WXDLLIMPEXP_CORE gchar* gtk_tree_entry_get_label (GtkTreeEntry* entry); WXDLLIMPEXP_CORE gpointer gtk_tree_entry_get_userdata (GtkTreeEntry* entry); WXDLLIMPEXP_CORE void gtk_tree_entry_set_label (GtkTreeEntry* entry, const gchar* label); WXDLLIMPEXP_CORE void gtk_tree_entry_set_userdata (GtkTreeEntry* entry, gpointer userdata); WXDLLIMPEXP_CORE void gtk_tree_entry_set_destroy_func (GtkTreeEntry* entry, GtkTreeEntryDestroy destroy_func, gpointer destroy_func_data); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __GTK_TREE_ENTRY_H__ */