From 7c6897ee95e4346e991185c014bcfce003809fd8 Mon Sep 17 00:00:00 2001 From: NotZed Date: Tue, 22 Feb 2000 10:09:07 +0000 Subject: New utility functions for working with the internal rule format. 2000-02-22 NotZed * filter-xml.c (filter_clone_optionrule): (filter_clone_optionrule_free): (filter_optionrule_new_from_rule): New utility functions for working with the internal rule format. * filter-arg.[ch]: Added new callbacks for editing a single value, and a new editor which shows all items in a list, and allows you to edit them via the single-edit method. This needs some cleanup for some unused/unusable virtual methods (edit_values, write_html?). * Makefile: Add the druid for build. * filter-druid.c: A 'druid' widget for editing a single filter rule. svn path=/trunk/; revision=1901 --- filter/filter-druid.h | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 filter/filter-druid.h (limited to 'filter/filter-druid.h') diff --git a/filter/filter-druid.h b/filter/filter-druid.h new file mode 100644 index 0000000000..1b88847041 --- /dev/null +++ b/filter/filter-druid.h @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2000 Helix Code Inc. + * + * Authors: Michael Zucchi + * + * This program 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 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 Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef _FILTER_DRUID_H +#define _FILTER_DRUID_H + +#include + +#include "filter-xml.h" + +#define FILTER_DRUID(obj) GTK_CHECK_CAST (obj, filter_druid_get_type (), FilterDruid) +#define FILTER_DRUID_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, filter_druid_get_type (), FilterDruidClass) +#define IS_FILTER_DRUID(obj) GTK_CHECK_TYPE (obj, filter_druid_get_type ()) + +typedef struct _FilterDruid FilterDruid; +typedef struct _FilterDruidClass FilterDruidClass; + +struct _FilterDruid { + GnomeDialog parent; + + GList *options; /* all options */ + GList *rules; /* all rules */ + GList *user; /* current user options */ + + struct filter_option *option_current; + + struct _FilterDruidPrivate *priv; +}; + +struct _FilterDruidClass { + GnomeDialogClass parent_class; +}; + +guint filter_druid_get_type (void); +FilterDruid *filter_druid_new (void); + +/* Hmm, glists suck, no typesafety */ +void filter_druid_set_rules(FilterDruid *f, GList *options, GList *rules, struct filter_option *userrule); + +#endif /* ! _FILTER_DRUID_H */ -- cgit v1.2.3