diff options
author | Kristian Rietveld <kris@gtk.org> | 2003-07-11 12:51:24 +0000 |
---|---|---|
committer | Kristian Rietveld <kristian@src.gnome.org> | 2003-07-11 12:51:24 +0000 |
commit | edef7d00d99561796ae2a5fba9576ac1eaaba0a1 (patch) | |
tree | bccb75e8a7a9e88b89cc9feeb0a4ef2cbc70fae0 /gtk/gtktreemodelfilter.h | |
parent | 8aafd6bb1682ab4c85b78c692c2d8e779d158d7d (diff) | |
download | gtk+-edef7d00d99561796ae2a5fba9576ac1eaaba0a1.tar.gz |
Landing GtkTreeModelFilter and the completion code. (Test program and
Fri Jul 11 14:32:43 2003 Kristian Rietveld <kris@gtk.org>
Landing GtkTreeModelFilter and the completion code. (Test program
and documentation will follow next week).
* gtk/gtkcellayout.[ch], gtk/gtkentrycompletion.[ch],
gtk/gtktreemodelfilter.[ch], gtk/gtkentryprivate.h: new files.
* gtkentry.[ch]: added gtk_entry_{get,set}_completion, wrote
necessary code to hook up completion.
* gtktreeviewcolumn.c: made GtkTreeViewColumn implement the new
GtkCellLayout interface.
* gtkmarshalers.list: added BOOLEAN:OBJECT,BOXED.
* gtk/gtk.h, gtk/Makefile.am, po/POTFILES.in: all updated for the new
source files.
Diffstat (limited to 'gtk/gtktreemodelfilter.h')
-rw-r--r-- | gtk/gtktreemodelfilter.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/gtk/gtktreemodelfilter.h b/gtk/gtktreemodelfilter.h new file mode 100644 index 0000000000..6445f0b72d --- /dev/null +++ b/gtk/gtktreemodelfilter.h @@ -0,0 +1,99 @@ +/* gtktreemodelfilter.h + * Copyright (C) 2000,2001 Red Hat, Inc., Jonathan Blandford <jrb@redhat.com> + * Copyright (C) 2001-2003 Kristian Rietveld <kris@gtk.org> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_TREE_MODEL_FILTER_H__ +#define __GTK_TREE_MODEL_FILTER_H__ + +#include <gtk/gtktreemodel.h> + +G_BEGIN_DECLS + +#define GTK_TYPE_TREE_MODEL_FILTER (gtk_tree_model_filter_get_type ()) +#define GTK_TREE_MODEL_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilter)) +#define GTK_TREE_MODEL_FILTER_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilterClass)) +#define GTK_IS_TREE_MODEL_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_MODEL_FILTER)) +#define GTK_IS_TREE_MODEL_FILTER_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_TYPE_TREE_MODEL_FILTER)) +#define GTK_TREE_MODEL_FILTER_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilterClass)) +#define GTK_TREE_MODEL_FILTER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_TREE_MODEL_FILTER, GtkTreeModelFilterPrivate)) + +typedef gboolean (* GtkTreeModelFilterVisibleFunc) (GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data); +typedef void (* GtkTreeModelFilterModifyFunc) (GtkTreeModel *model, + GtkTreeIter *iter, + GValue *value, + gint column, + gpointer data); + +typedef struct _GtkTreeModelFilter GtkTreeModelFilter; +typedef struct _GtkTreeModelFilterClass GtkTreeModelFilterClass; +typedef struct _GtkTreeModelFilterPrivate GtkTreeModelFilterPrivate; + +struct _GtkTreeModelFilter +{ + GObject parent; + + /*< private >*/ + GtkTreeModelFilterPrivate *priv; +}; + +struct _GtkTreeModelFilterClass +{ + GObjectClass parent_class; +}; + +/* base */ +GType gtk_tree_model_filter_get_type (void); +GtkTreeModel *gtk_tree_model_filter_new (GtkTreeModel *child_model, + GtkTreePath *root); +void gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter *filter, + GtkTreeModelFilterVisibleFunc func, + gpointer data, + GtkDestroyNotify destroy); +void gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter *filter, + gint n_columns, + GType *types, + GtkTreeModelFilterModifyFunc func, + gpointer data, + GtkDestroyNotify destroy); +void gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter, + gint column); + +GtkTreeModel *gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter); + +/* conversion */ +void gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter, + GtkTreeIter *filter_iter, + GtkTreeIter *child_iter); +void gtk_tree_model_filter_convert_iter_to_child_iter (GtkTreeModelFilter *filter, + GtkTreeIter *child_iter, + GtkTreeIter *filter_iter); +GtkTreePath *gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter, + GtkTreePath *child_path); +GtkTreePath *gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter *path, + GtkTreePath *filter_path); + +/* extras */ +void gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter); +void gtk_tree_model_filter_clear_cache (GtkTreeModelFilter *filter); + +G_END_DECLS + +#endif /* __GTK_TREE_MODEL_FILTER_H__ */ |