diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2002-11-02 07:22:57 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2002-11-02 07:22:57 +0800 |
commit | e033f54a9044a4288c923e9b2c6d9477da076d26 (patch) | |
tree | e49c07744c18ba0663e15418843a5cc8e6485842 /filter/filter-file.c | |
parent | 9bfc63718a9752a4e55cf03f5440dd82df63a758 (diff) | |
download | gsoc2013-evolution-e033f54a9044a4288c923e9b2c6d9477da076d26.tar.gz gsoc2013-evolution-e033f54a9044a4288c923e9b2c6d9477da076d26.tar.zst gsoc2013-evolution-e033f54a9044a4288c923e9b2c6d9477da076d26.zip |
Ported to GObject.
2002-11-01 Jeffrey Stedfast <fejj@ximian.com>
* filter-element.c: Ported to GObject.
* filter-input.c: Same.
* filter-code.c: This too.
* filter-colour.c: And this.
* filter-datespec.c: You guessed it.
* filter-file.c: And again...
svn path=/trunk/; revision=18493
Diffstat (limited to 'filter/filter-file.c')
-rw-r--r-- | filter/filter-file.c | 106 |
1 files changed, 46 insertions, 60 deletions
diff --git a/filter/filter-file.c b/filter/filter-file.c index 4b4eb69904..6cec675f14 100644 --- a/filter/filter-file.c +++ b/filter/filter-file.c @@ -28,7 +28,6 @@ #include <string.h> #include <sys/types.h> #include <sys/stat.h> -#include <gtk/gtkobject.h> #include <gtk/gtkwidget.h> #include <libgnome/gnome-defs.h> @@ -44,48 +43,41 @@ #define d(x) static gboolean validate (FilterElement *fe); -static int file_eq(FilterElement *fe, FilterElement *cm); -static void xml_create(FilterElement *fe, xmlNodePtr node); -static xmlNodePtr xml_encode(FilterElement *fe); -static int xml_decode(FilterElement *fe, xmlNodePtr node); -static GtkWidget *get_widget(FilterElement *fe); -static void build_code(FilterElement *fe, GString *out, struct _FilterPart *ff); -static void format_sexp(FilterElement *, GString *); +static int file_eq (FilterElement *fe, FilterElement *cm); +static void xml_create (FilterElement *fe, xmlNodePtr node); +static xmlNodePtr xml_encode (FilterElement *fe); +static int xml_decode (FilterElement *fe, xmlNodePtr node); +static GtkWidget *get_widget (FilterElement *fe); +static void build_code (FilterElement *fe, GString *out, struct _FilterPart *ff); +static void format_sexp (FilterElement *, GString *); -static void filter_file_class_init (FilterFileClass *class); -static void filter_file_init (FilterFile *gspaper); -static void filter_file_finalise (GtkObject *obj); +static void filter_file_class_init (FilterFileClass *klass); +static void filter_file_init (FilterFile *ff); +static void filter_file_finalise (GObject *obj); -#define _PRIVATE(x) (((FilterFile *)(x))->priv) - -struct _FilterFilePrivate { -}; static FilterElementClass *parent_class; -enum { - LAST_SIGNAL -}; - -static guint signals[LAST_SIGNAL] = { 0 }; -GtkType +GType filter_file_get_type (void) { - static GtkType type = 0; + static GType type = 0; if (!type) { - GtkTypeInfo type_info = { - "FilterFile", - sizeof (FilterFile), + static const GTypeInfo info = { sizeof (FilterFileClass), - (GtkClassInitFunc) filter_file_class_init, - (GtkObjectInitFunc) filter_file_init, - (GtkArgSetFunc) NULL, - (GtkArgGetFunc) NULL + NULL, /* base_class_init */ + NULL, /* base_class_finalize */ + (GClassInitFunc) filter_file_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (FilterFile), + 0, /* n_preallocs */ + (GInstanceInitFunc) filter_file_init, }; - type = gtk_type_unique (filter_element_get_type (), &type_info); + type = g_type_register_static (FILTER_TYPE_ELEMENT, "FilterFile", &info, 0); } return type; @@ -94,45 +86,39 @@ filter_file_get_type (void) static void filter_file_class_init (FilterFileClass *klass) { - GtkObjectClass *object_class = (GtkObjectClass *) klass; - FilterElementClass *filter_element = (FilterElementClass *) klass; + GObjectClass *object_class = G_OBJECT_CLASS (klass); + FilterElementClass *fe_class = FILTER_ELEMENT_CLASS (klass); - parent_class = gtk_type_class (filter_element_get_type ()); + parent_class = g_type_class_ref (FILTER_TYPE_ELEMENT); object_class->finalize = filter_file_finalise; /* override methods */ - filter_element->validate = validate; - filter_element->eq = file_eq; - filter_element->xml_create = xml_create; - filter_element->xml_encode = xml_encode; - filter_element->xml_decode = xml_decode; - filter_element->get_widget = get_widget; - filter_element->build_code = build_code; - filter_element->format_sexp = format_sexp; - - /* signals */ - - gtk_object_class_add_signals (object_class, signals, LAST_SIGNAL); + fe_class->validate = validate; + fe_class->eq = file_eq; + fe_class->xml_create = xml_create; + fe_class->xml_encode = xml_encode; + fe_class->xml_decode = xml_decode; + fe_class->get_widget = get_widget; + fe_class->build_code = build_code; + fe_class->format_sexp = format_sexp; } static void -filter_file_init (FilterFile *o) +filter_file_init (FilterFile *ff) { - o->priv = g_malloc0 (sizeof (*o->priv)); + ; } static void -filter_file_finalise (GtkObject *obj) +filter_file_finalise (GObject *obj) { - FilterFile *o = (FilterFile *) obj; - - xmlFree (o->type); - g_free (o->path); + FilterFile *ff = (FilterFile *) obj; - g_free (o->priv); + xmlFree (ff->type); + g_free (ff->path); - ((GtkObjectClass *)(parent_class))->finalize (obj); + G_OBJECT_CLASS (parent_class)->finalize (obj); } /** @@ -145,7 +131,7 @@ filter_file_finalise (GtkObject *obj) FilterFile * filter_file_new (void) { - return (FilterFile *) gtk_type_new (filter_file_get_type ()); + return (FilterFile *) g_object_new (FILTER_TYPE_FILE, NULL, NULL); } @@ -209,10 +195,10 @@ file_eq (FilterElement *fe, FilterElement *cm) { FilterFile *ff = (FilterFile *)fe, *cf = (FilterFile *)cm; - return ((FilterElementClass *)(parent_class))->eq(fe, cm) - && ((ff->path && cf->path && strcmp(ff->path, cf->path) == 0) + return FILTER_ELEMENT_CLASS (parent_class)->eq (fe, cm) + && ((ff->path && cf->path && strcmp (ff->path, cf->path) == 0) || (ff->path == NULL && cf->path == NULL)) - && ((ff->type && cf->type && strcmp(ff->type, cf->type) == 0) + && ((ff->type && cf->type && strcmp (ff->type, cf->type) == 0) || (ff->type == NULL && cf->type == NULL)); } @@ -220,7 +206,7 @@ static void xml_create (FilterElement *fe, xmlNodePtr node) { /* parent implementation */ - ((FilterElementClass *)(parent_class))->xml_create (fe, node); + FILTER_ELEMENT_CLASS (parent_class)->xml_create (fe, node); } static xmlNodePtr @@ -311,7 +297,7 @@ get_widget (FilterElement *fe) entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (fileentry)); e_utf8_gtk_entry_set_text (GTK_ENTRY (entry), file->path); - gtk_signal_connect (GTK_OBJECT (entry), "changed", entry_changed, fe); + g_signal_connect (entry, "changed", entry_changed, fe); return fileentry; } |