Files
evolution/e-util/e-iterator.c
Kjartan Maraas 6d9167de80 Remove #include <glib.h> Shuffle some headers. Remove #include
2001-03-29  Kjartan Maraas  <kmaraas@gnome.org>

	* e-corba-utils.h: Remove #include <glib.h>
	* e-dialog-widgets.c: Shuffle some headers.
	* e-dialog-widgets.h: Remove #include <libgnomeui/gnome-propertybox.h>
	* e-gtk-utils.c: #include <gtk/gtksignal.h>
	* e-gtk-utils.h: Replace #include <gtk/gtk.h>
	* e-gui-utils.c: Replace #include <gnome.h>
	* e-html-utils.c: Shuffle headers.
	* e-iterator.c: Replace #include <gtk/gtk.h>
	* e-iterator.h: Replace #include <gtk/gtk.h>
	* e-list-iterator.c: Remove #include <gtk/gtk.h>
	* e-list-iterator.h: Replace #include <gtk/gtk.h>
	* e-list.c: Remove #include <gtk/gtk.h>
	* e-list.h: Replace #include <gtk/gtk.h>
	* e-memory.c: #include <string.h> and <stdlib.h>
	* e-msgport.c: Move around some includes. s/%d/%ld/g in a printf()
	call to fix a warning.
	* e-pilot-map.c: #include <string.h>. Replace #include <gnome.h>
	* e-pilot-util.c: Remove #include <gnome.h>
	* e-sexp.c: Remove #include <glib.h>
	* e-sexp.h: Replace #include <gtk/gtk.h>
	* e-time-utils.c: #include <string.h>
	* md5-utils.c: Shuffle headers.
	* test-ename-western-gtk.c: Replace #include <gnome.h>
	* test-ename-western.c: Same here.

svn path=/trunk/; revision=9016
2001-03-29 18:07:13 +00:00

187 lines
3.6 KiB
C

/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
* Authors:
* Christopher James Lahey <clahey@umich.edu>
*
* Copyright (C) 2000 Helix Code, Inc.
* Copyright (C) 1999 The Free Software Foundation
*/
#include <config.h>
#include <gtk/gtksignal.h>
#include "e-iterator.h"
#define ECI_CLASS(object) (E_ITERATOR_CLASS(GTK_OBJECT((object))->klass))
static void e_iterator_init (EIterator *card);
static void e_iterator_class_init (EIteratorClass *klass);
#define PARENT_TYPE (gtk_object_get_type ())
static GtkObjectClass *parent_class;
enum {
INVALIDATE,
LAST_SIGNAL
};
static guint e_iterator_signals [LAST_SIGNAL] = { 0, };
/**
* e_iterator_get_type:
* @void:
*
* Registers the &EIterator class if necessary, and returns the type ID
* associated to it.
*
* Return value: The type ID of the &EIterator class.
**/
GtkType
e_iterator_get_type (void)
{
static GtkType type = 0;
if (!type) {
GtkTypeInfo info = {
"EIterator",
sizeof (EIterator),
sizeof (EIteratorClass),
(GtkClassInitFunc) e_iterator_class_init,
(GtkObjectInitFunc) e_iterator_init,
NULL, /* reserved_1 */
NULL, /* reserved_2 */
(GtkClassInitFunc) NULL
};
type = gtk_type_unique (PARENT_TYPE, &info);
}
return type;
}
static void
e_iterator_class_init (EIteratorClass *klass)
{
GtkObjectClass *object_class;
object_class = GTK_OBJECT_CLASS(klass);
parent_class = gtk_type_class (PARENT_TYPE);
e_iterator_signals [INVALIDATE] =
gtk_signal_new ("invalidate",
GTK_RUN_LAST,
object_class->type,
GTK_SIGNAL_OFFSET (EIteratorClass, invalidate),
gtk_marshal_NONE__NONE,
GTK_TYPE_NONE, 0);
gtk_object_class_add_signals (object_class, e_iterator_signals, LAST_SIGNAL);
klass->invalidate = NULL;
klass->get = NULL;
klass->reset = NULL;
klass->last = NULL;
klass->next = NULL;
klass->prev = NULL;
klass->delete = NULL;
klass->insert = NULL;
klass->set = NULL;
klass->is_valid = NULL;
}
/**
* e_iterator_init:
*/
static void
e_iterator_init (EIterator *card)
{
}
/*
* Virtual functions:
*/
const void *
e_iterator_get (EIterator *iterator)
{
if (ECI_CLASS(iterator)->get)
return ECI_CLASS(iterator)->get(iterator);
else
return NULL;
}
void
e_iterator_reset (EIterator *iterator)
{
if (ECI_CLASS(iterator)->reset)
ECI_CLASS(iterator)->reset(iterator);
}
void
e_iterator_last (EIterator *iterator)
{
if (ECI_CLASS(iterator)->last)
ECI_CLASS(iterator)->last(iterator);
}
gboolean
e_iterator_next (EIterator *iterator)
{
if (ECI_CLASS(iterator)->next)
return ECI_CLASS(iterator)->next(iterator);
else
return FALSE;
}
gboolean
e_iterator_prev (EIterator *iterator)
{
if (ECI_CLASS(iterator)->prev)
return ECI_CLASS(iterator)->prev(iterator);
else
return FALSE;
}
void
e_iterator_delete (EIterator *iterator)
{
if (ECI_CLASS(iterator)->delete)
ECI_CLASS(iterator)->delete(iterator);
}
void e_iterator_insert (EIterator *iterator,
const void *object,
gboolean before)
{
if (ECI_CLASS(iterator)->insert)
ECI_CLASS(iterator)->insert(iterator, object, before);
}
void
e_iterator_set (EIterator *iterator,
const void *object)
{
if (ECI_CLASS(iterator)->set)
ECI_CLASS(iterator)->set(iterator, object);
}
gboolean
e_iterator_is_valid (EIterator *iterator)
{
if (ECI_CLASS(iterator)->is_valid)
return ECI_CLASS(iterator)->is_valid(iterator);
else
return FALSE;
}
void
e_iterator_invalidate (EIterator *iterator)
{
g_return_if_fail (iterator != NULL);
g_return_if_fail (E_IS_ITERATOR (iterator));
gtk_signal_emit (GTK_OBJECT (iterator),
e_iterator_signals [INVALIDATE]);
}