 b977d5af8f
			
		
	
	b977d5af8f
	
	
	
		
			
			Mon Nov 18 20:42:27 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtktreeview.c (gtk_tree_view_expand_to_path): modify and free tmp instead of path ... (patch from #97927). Mon Nov 18 20:31:20 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing): only _set_text if celltext->text is not NULL. (#97815, reported and testcase provided by Vitaly Tishkov). Mon Nov 18 20:28:28 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range): also update the anchor_path, makes behaviour consistent with the other selection modification functions. (#96801, reported and testcase provided by Vitaly Tishkov). Mon Nov 18 20:17:56 2002 Kristian Rietveld <kris@gtk.org> Hrm, this fixes up lots of mistakes in my swap/move code ... Some of these mistakes where pointed out by Vitaly Tishkov in bugs #97403, #97404, #97412, #97618. * gtktreestore.[ch]: gtk_tree_store_move is now private, use gtk_tree_store_move_{before,after} instead now. Lots of fixes (more like a rewrite :) in the _move and _swap functions. * gtkliststore.[ch]: likewise.
		
			
				
	
	
		
			140 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			140 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* gtktreestore.h
 | |
|  * Copyright (C) 2000  Red Hat, Inc.,  Jonathan Blandford <jrb@redhat.com>
 | |
|  *
 | |
|  * This library is free software; you can redistribute it and/or
 | |
|  * modify it under the terms of the GNU Library General Public
 | |
|  * License as published by the Free Software Foundation; either
 | |
|  * version 2 of the License, or (at your option) any later version.
 | |
|  *
 | |
|  * This library is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | |
|  * Library General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU Library General Public
 | |
|  * License along with this library; if not, write to the
 | |
|  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | |
|  * Boston, MA 02111-1307, USA.
 | |
|  */
 | |
| 
 | |
| #ifndef __GTK_TREE_STORE_H__
 | |
| #define __GTK_TREE_STORE_H__
 | |
| 
 | |
| #include <gtk/gtktreemodel.h>
 | |
| #include <gtk/gtktreesortable.h>
 | |
| #include <stdarg.h>
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif /* __cplusplus */
 | |
| 
 | |
| #define GTK_TYPE_TREE_STORE			(gtk_tree_store_get_type ())
 | |
| #define GTK_TREE_STORE(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_STORE, GtkTreeStore))
 | |
| #define GTK_TREE_STORE_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_STORE, GtkTreeStoreClass))
 | |
| #define GTK_IS_TREE_STORE(obj)			(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_STORE))
 | |
| #define GTK_IS_TREE_STORE_CLASS(klass)		(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_STORE))
 | |
| #define GTK_TREE_STORE_GET_CLASS(obj)		(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_STORE, GtkTreeStoreClass))
 | |
| 
 | |
| typedef struct _GtkTreeStore       GtkTreeStore;
 | |
| typedef struct _GtkTreeStoreClass  GtkTreeStoreClass;
 | |
| 
 | |
| struct _GtkTreeStore
 | |
| {
 | |
|   GObject parent;
 | |
| 
 | |
|   gint stamp;
 | |
|   gpointer root;
 | |
|   gpointer last;
 | |
|   gint n_columns;
 | |
|   gint sort_column_id;
 | |
|   GList *sort_list;
 | |
|   GtkSortType order;
 | |
|   GType *column_headers;
 | |
|   GtkTreeIterCompareFunc default_sort_func;
 | |
|   gpointer default_sort_data;
 | |
|   GtkDestroyNotify default_sort_destroy;
 | |
|   guint columns_dirty : 1;
 | |
| };
 | |
| 
 | |
| struct _GtkTreeStoreClass
 | |
| {
 | |
|   GObjectClass parent_class;
 | |
| 
 | |
|   /* Padding for future expansion */
 | |
|   void (*_gtk_reserved1) (void);
 | |
|   void (*_gtk_reserved2) (void);
 | |
|   void (*_gtk_reserved3) (void);
 | |
|   void (*_gtk_reserved4) (void);
 | |
| };
 | |
| 
 | |
| 
 | |
| GType         gtk_tree_store_get_type         (void);
 | |
| GtkTreeStore *gtk_tree_store_new              (gint          n_columns,
 | |
| 					       ...);
 | |
| GtkTreeStore *gtk_tree_store_newv             (gint          n_columns,
 | |
| 					       GType        *types);
 | |
| void          gtk_tree_store_set_column_types (GtkTreeStore *tree_store,
 | |
| 					       gint          n_columns,
 | |
| 					       GType        *types);
 | |
| 
 | |
| /* NOTE: use gtk_tree_model_get to get values from a GtkTreeStore */
 | |
| 
 | |
| void          gtk_tree_store_set_value        (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter,
 | |
| 					       gint          column,
 | |
| 					       GValue       *value);
 | |
| void          gtk_tree_store_set              (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter,
 | |
| 					       ...);
 | |
| void          gtk_tree_store_set_valist       (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter,
 | |
| 					       va_list       var_args);
 | |
| gboolean      gtk_tree_store_remove           (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter);
 | |
| void          gtk_tree_store_insert           (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter,
 | |
| 					       GtkTreeIter  *parent,
 | |
| 					       gint          position);
 | |
| void          gtk_tree_store_insert_before    (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter,
 | |
| 					       GtkTreeIter  *parent,
 | |
| 					       GtkTreeIter  *sibling);
 | |
| void          gtk_tree_store_insert_after     (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter,
 | |
| 					       GtkTreeIter  *parent,
 | |
| 					       GtkTreeIter  *sibling);
 | |
| void          gtk_tree_store_prepend          (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter,
 | |
| 					       GtkTreeIter  *parent);
 | |
| void          gtk_tree_store_append           (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter,
 | |
| 					       GtkTreeIter  *parent);
 | |
| gboolean      gtk_tree_store_is_ancestor      (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter,
 | |
| 					       GtkTreeIter  *descendant);
 | |
| gint          gtk_tree_store_iter_depth       (GtkTreeStore *tree_store,
 | |
| 					       GtkTreeIter  *iter);
 | |
| void          gtk_tree_store_clear            (GtkTreeStore *tree_store);
 | |
| gboolean      gtk_tree_store_iter_is_valid    (GtkTreeStore *tree_store,
 | |
|                                                GtkTreeIter  *iter);
 | |
| void          gtk_tree_store_reorder          (GtkTreeStore *tree_store,
 | |
|                                                GtkTreeIter  *parent,
 | |
|                                                gint         *new_order);
 | |
| void          gtk_tree_store_swap             (GtkTreeStore *tree_store,
 | |
|                                                GtkTreeIter  *a,
 | |
|                                                GtkTreeIter  *b);
 | |
| void          gtk_tree_store_move_before      (GtkTreeStore *tree_store,
 | |
|                                                GtkTreeIter  *iter,
 | |
|                                                GtkTreeIter  *position);
 | |
| void          gtk_tree_store_move_after       (GtkTreeStore *tree_store,
 | |
|                                                GtkTreeIter  *iter,
 | |
|                                                GtkTreeIter  *position);
 | |
| 
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif /* __cplusplus */
 | |
| 
 | |
| 
 | |
| #endif /* __GTK_TREE_STORE_H__ */
 |