Commit c6b2411b authored by Stephan Arts's avatar Stephan Arts

Rename Navigator to ImageList, makes more sense

parent 61955d3c
bin_PROGRAMS = ristretto
ristretto_SOURCES = \
navigator.c navigator.h \
image_list.c image_list.h \
image.c image.h \
image_cache.c image_cache.h \
picture_viewer.c picture_viewer.h \
......@@ -10,9 +10,9 @@ ristretto_SOURCES = \
main_window_ui.h \
main_window.c main_window.h \
thumbnail_bar.c thumbnail_bar.h \
thumbnail.c thumbnail.h \
main.c
# save_dialog.h save_dialog.c
# thumbnail.c thumbnail.h
ristretto_CFLAGS = \
$(GTK_CFLAGS) \
......
......@@ -26,101 +26,102 @@
#include <libexif/exif-data.h>
#include "image.h"
#include "navigator.h"
#include "image_list.h"
static void
rstto_navigator_init(RsttoNavigator *);
rstto_image_list_init(RsttoImageList *);
static void
rstto_navigator_class_init(RsttoNavigatorClass *);
rstto_image_list_class_init(RsttoImageListClass *);
static void
rstto_navigator_dispose(GObject *object);
rstto_image_list_dispose(GObject *object);
static void
rstto_navigator_iter_init(RsttoNavigatorIter *);
rstto_image_list_iter_init(RsttoImageListIter *);
static void
rstto_navigator_iter_class_init(RsttoNavigatorIterClass *);
rstto_image_list_iter_class_init(RsttoImageListIterClass *);
static void
rstto_navigator_iter_dispose(GObject *object);
rstto_image_list_iter_dispose(GObject *object);
static RsttoNavigatorIter * rstto_navigator_iter_new ();
static RsttoImageListIter * rstto_image_list_iter_new ();
static gint
cb_rstto_navigator_image_name_compare_func (RsttoImage *a, RsttoImage *b);
cb_rstto_image_list_image_name_compare_func (RsttoImage *a, RsttoImage *b);
static GObjectClass *parent_class = NULL;
static GObjectClass *iter_parent_class = NULL;
enum
{
RSTTO_NAVIGATOR_SIGNAL_NEW_IMAGE = 0,
RSTTO_NAVIGATOR_SIGNAL_REMOVE_IMAGE,
RSTTO_NAVIGATOR_SIGNAL_COUNT
RSTTO_IMAGE_LIST_SIGNAL_NEW_IMAGE = 0,
RSTTO_IMAGE_LIST_SIGNAL_REMOVE_IMAGE,
RSTTO_IMAGE_LIST_SIGNAL_REMOVE_ALL,
RSTTO_IMAGE_LIST_SIGNAL_COUNT
};
enum
{
RSTTO_NAVIGATOR_ITER_SIGNAL_CHANGED = 0,
RSTTO_NAVIGATOR_ITER_SIGNAL_COUNT
RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED = 0,
RSTTO_IMAGE_LIST_ITER_SIGNAL_COUNT
};
struct _RsttoNavigatorIterPriv
struct _RsttoImageListIterPriv
{
RsttoNavigator *navigator;
RsttoImageList *image_list;
RsttoImage *image;
gint position;
};
struct _RsttoNavigatorPriv
struct _RsttoImageListPriv
{
GList *images;
gint n_images;
};
static gint rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_COUNT];
static gint rstto_navigator_iter_signals[RSTTO_NAVIGATOR_ITER_SIGNAL_COUNT];
static gint rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_COUNT];
static gint rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_COUNT];
GType
rstto_navigator_get_type ()
rstto_image_list_get_type ()
{
static GType rstto_navigator_type = 0;
static GType rstto_image_list_type = 0;
if (!rstto_navigator_type)
if (!rstto_image_list_type)
{
static const GTypeInfo rstto_navigator_info =
static const GTypeInfo rstto_image_list_info =
{
sizeof (RsttoNavigatorClass),
sizeof (RsttoImageListClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
(GClassInitFunc) rstto_navigator_class_init,
(GClassInitFunc) rstto_image_list_class_init,
(GClassFinalizeFunc) NULL,
NULL,
sizeof (RsttoNavigator),
sizeof (RsttoImageList),
0,
(GInstanceInitFunc) rstto_navigator_init,
(GInstanceInitFunc) rstto_image_list_init,
NULL
};
rstto_navigator_type = g_type_register_static (G_TYPE_OBJECT, "RsttoNavigator", &rstto_navigator_info, 0);
rstto_image_list_type = g_type_register_static (G_TYPE_OBJECT, "RsttoImageList", &rstto_image_list_info, 0);
}
return rstto_navigator_type;
return rstto_image_list_type;
}
static void
rstto_navigator_init(RsttoNavigator *navigator)
rstto_image_list_init(RsttoImageList *image_list)
{
navigator->priv = g_new0 (RsttoNavigatorPriv, 1);
image_list->priv = g_new0 (RsttoImageListPriv, 1);
}
static void
rstto_navigator_class_init(RsttoNavigatorClass *nav_class)
rstto_image_list_class_init(RsttoImageListClass *nav_class)
{
GObjectClass *object_class = G_OBJECT_CLASS(nav_class);
parent_class = g_type_class_peek_parent(nav_class);
object_class->dispose = rstto_navigator_dispose;
object_class->dispose = rstto_image_list_dispose;
rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_NEW_IMAGE] = g_signal_new("new-image",
rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_NEW_IMAGE] = g_signal_new("new-image",
G_TYPE_FROM_CLASS(nav_class),
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
0,
......@@ -132,7 +133,7 @@ rstto_navigator_class_init(RsttoNavigatorClass *nav_class)
G_TYPE_OBJECT,
NULL);
rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_REMOVE_IMAGE] = g_signal_new("remove-image",
rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_REMOVE_IMAGE] = g_signal_new("remove-image",
G_TYPE_FROM_CLASS(nav_class),
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
0,
......@@ -143,81 +144,92 @@ rstto_navigator_class_init(RsttoNavigatorClass *nav_class)
1,
G_TYPE_OBJECT,
NULL);
rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_REMOVE_ALL] = g_signal_new("remove-all",
G_TYPE_FROM_CLASS(nav_class),
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
0,
NULL,
NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
0,
NULL);
}
static void
rstto_navigator_dispose(GObject *object)
rstto_image_list_dispose(GObject *object)
{
/*RsttoNavigator *navigator = RSTTO_NAVIGATOR(object);*/
/*RsttoImageList *image_list = RSTTO_IMAGE_LIST(object);*/
}
RsttoNavigator *
rstto_navigator_new ()
RsttoImageList *
rstto_image_list_new ()
{
RsttoNavigator *navigator;
RsttoImageList *image_list;
navigator = g_object_new(RSTTO_TYPE_NAVIGATOR, NULL);
image_list = g_object_new(RSTTO_TYPE_IMAGE_LIST, NULL);
return navigator;
return image_list;
}
gboolean
rstto_navigator_add_file (RsttoNavigator *navigator, GFile *file, GError **error)
rstto_image_list_add_file (RsttoImageList *image_list, GFile *file, GError **error)
{
RsttoImage *image = rstto_image_new (file);
if (image)
{
navigator->priv->images = g_list_insert_sorted (navigator->priv->images, image, (GCompareFunc)cb_rstto_navigator_image_name_compare_func);
navigator->priv->n_images++;
image_list->priv->images = g_list_insert_sorted (image_list->priv->images, image, (GCompareFunc)cb_rstto_image_list_image_name_compare_func);
image_list->priv->n_images++;
g_signal_emit (G_OBJECT (navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_NEW_IMAGE], 0, image, NULL);
g_signal_emit (G_OBJECT (image_list), rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_NEW_IMAGE], 0, image, NULL);
return TRUE;
}
return FALSE;
}
gint
rstto_navigator_get_n_images (RsttoNavigator *navigator)
rstto_image_list_get_n_images (RsttoImageList *image_list)
{
return g_list_length (navigator->priv->images);
return g_list_length (image_list->priv->images);
}
RsttoNavigatorIter *
rstto_navigator_get_iter (RsttoNavigator *navigator)
RsttoImageListIter *
rstto_image_list_get_iter (RsttoImageList *image_list)
{
RsttoImage *image = NULL;
if (navigator->priv->images)
image = navigator->priv->images->data;
if (image_list->priv->images)
image = image_list->priv->images->data;
RsttoNavigatorIter *iter = rstto_navigator_iter_new (navigator, image);
RsttoImageListIter *iter = rstto_image_list_iter_new (image_list, image);
return iter;
}
void
rstto_navigator_remove_image (RsttoNavigator *navigator, RsttoImage *image)
rstto_image_list_remove_image (RsttoImageList *image_list, RsttoImage *image)
{
if (g_list_find (navigator->priv->images, image))
if (g_list_find (image_list->priv->images, image))
{
navigator->priv->images = g_list_remove (navigator->priv->images, image);
g_signal_emit (G_OBJECT (navigator), rstto_navigator_signals[RSTTO_NAVIGATOR_SIGNAL_REMOVE_IMAGE], 0, image, NULL);
image_list->priv->images = g_list_remove (image_list->priv->images, image);
g_signal_emit (G_OBJECT (image_list), rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_REMOVE_IMAGE], 0, image, NULL);
g_object_unref (image);
}
}
void
rstto_navigator_remove_all (RsttoNavigator *navigator)
rstto_image_list_remove_all (RsttoImageList *image_list)
{
g_list_foreach (navigator->priv->images, (GFunc)g_object_unref, NULL);
g_list_free (navigator->priv->images);
navigator->priv->images = NULL;
g_list_foreach (image_list->priv->images, (GFunc)g_object_unref, NULL);
g_list_free (image_list->priv->images);
g_signal_emit (G_OBJECT (image_list), rstto_image_list_signals[RSTTO_IMAGE_LIST_SIGNAL_REMOVE_ALL], 0, NULL);
image_list->priv->images = NULL;
}
/**
* cb_rstto_navigator_image_name_compare_func:
* cb_rstto_image_list_image_name_compare_func:
* @a:
* @b:
*
......@@ -225,7 +237,7 @@ rstto_navigator_remove_all (RsttoNavigator *navigator)
* Return value: (see strcmp)
*/
static gint
cb_rstto_navigator_image_name_compare_func (RsttoImage *a, RsttoImage *b)
cb_rstto_image_list_image_name_compare_func (RsttoImage *a, RsttoImage *b)
{
gchar *a_base = g_file_get_basename (rstto_image_get_file (a));
gchar *b_base = g_file_get_basename (rstto_image_get_file (b));
......@@ -239,47 +251,47 @@ cb_rstto_navigator_image_name_compare_func (RsttoImage *a, RsttoImage *b)
}
GType
rstto_navigator_iter_get_type ()
rstto_image_list_iter_get_type ()
{
static GType rstto_navigator_iter_type = 0;
static GType rstto_image_list_iter_type = 0;
if (!rstto_navigator_iter_type)
if (!rstto_image_list_iter_type)
{
static const GTypeInfo rstto_navigator_iter_info =
static const GTypeInfo rstto_image_list_iter_info =
{
sizeof (RsttoNavigatorIterClass),
sizeof (RsttoImageListIterClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
(GClassInitFunc) rstto_navigator_iter_class_init,
(GClassInitFunc) rstto_image_list_iter_class_init,
(GClassFinalizeFunc) NULL,
NULL,
sizeof (RsttoNavigatorIter),
sizeof (RsttoImageListIter),
0,
(GInstanceInitFunc) rstto_navigator_iter_init,
(GInstanceInitFunc) rstto_image_list_iter_init,
NULL
};
rstto_navigator_iter_type = g_type_register_static (G_TYPE_OBJECT, "RsttoNavigatorIter", &rstto_navigator_iter_info, 0);
rstto_image_list_iter_type = g_type_register_static (G_TYPE_OBJECT, "RsttoImageListIter", &rstto_image_list_iter_info, 0);
}
return rstto_navigator_iter_type;
return rstto_image_list_iter_type;
}
static void
rstto_navigator_iter_init (RsttoNavigatorIter *iter)
rstto_image_list_iter_init (RsttoImageListIter *iter)
{
iter->priv = g_new0 (RsttoNavigatorIterPriv, 1);
iter->priv = g_new0 (RsttoImageListIterPriv, 1);
}
static void
rstto_navigator_iter_class_init(RsttoNavigatorIterClass *iter_class)
rstto_image_list_iter_class_init(RsttoImageListIterClass *iter_class)
{
GObjectClass *object_class = G_OBJECT_CLASS(iter_class);
iter_parent_class = g_type_class_peek_parent(iter_class);
object_class->dispose = rstto_navigator_iter_dispose;
object_class->dispose = rstto_image_list_iter_dispose;
rstto_navigator_iter_signals[RSTTO_NAVIGATOR_ITER_SIGNAL_CHANGED] = g_signal_new("changed",
rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED] = g_signal_new("changed",
G_TYPE_FROM_CLASS(iter_class),
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
0,
......@@ -293,9 +305,9 @@ rstto_navigator_iter_class_init(RsttoNavigatorIterClass *iter_class)
}
static void
rstto_navigator_iter_dispose (GObject *object)
rstto_image_list_iter_dispose (GObject *object)
{
RsttoNavigatorIter *iter = RSTTO_NAVIGATOR_ITER(object);
RsttoImageListIter *iter = RSTTO_IMAGE_LIST_ITER(object);
if (iter->priv->image)
{
g_object_unref (iter->priv->image);
......@@ -303,34 +315,32 @@ rstto_navigator_iter_dispose (GObject *object)
}
}
static RsttoNavigatorIter *
rstto_navigator_iter_new (RsttoNavigator *nav, RsttoImage *image)
static RsttoImageListIter *
rstto_image_list_iter_new (RsttoImageList *nav, RsttoImage *image)
{
RsttoNavigatorIter *iter;
RsttoImageListIter *iter;
iter = g_object_new(RSTTO_TYPE_NAVIGATOR_ITER, NULL);
iter = g_object_new(RSTTO_TYPE_IMAGE_LIST_ITER, NULL);
iter->priv->image = image;
iter->priv->navigator = nav;
iter->priv->image_list = nav;
iter->priv->position = -1;
return iter;
}
gboolean
rstto_navigator_iter_find_image (RsttoNavigatorIter *iter, RsttoImage *image)
rstto_image_list_iter_find_image (RsttoImageListIter *iter, RsttoImage *image)
{
gint pos = g_list_index (iter->priv->navigator->priv->images, image);
gint pos = g_list_index (iter->priv->image_list->priv->images, image);
if (pos > -1)
{
if (iter->priv->image)
{
g_object_unref (iter->priv->image);
iter->priv->image = NULL;
}
iter->priv->image = image;
g_object_ref (iter->priv->image);
g_signal_emit (G_OBJECT (iter), rstto_navigator_iter_signals[RSTTO_NAVIGATOR_ITER_SIGNAL_CHANGED], 0, NULL);
g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
return TRUE;
}
......@@ -338,26 +348,26 @@ rstto_navigator_iter_find_image (RsttoNavigatorIter *iter, RsttoImage *image)
}
gint
rstto_navigator_iter_get_position (RsttoNavigatorIter *iter)
rstto_image_list_iter_get_position (RsttoImageListIter *iter)
{
if (iter->priv->image == NULL)
{
if ((iter->priv->position == -1) && (rstto_navigator_get_n_images (iter->priv->navigator) > 0))
if ((iter->priv->position == -1) && (rstto_image_list_get_n_images (iter->priv->image_list) > 0))
{
rstto_navigator_iter_set_position (iter, 0);
rstto_image_list_iter_set_position (iter, 0);
}
}
return iter->priv->position;
}
RsttoImage *
rstto_navigator_iter_get_image (RsttoNavigatorIter *iter)
rstto_image_list_iter_get_image (RsttoImageListIter *iter)
{
if (iter->priv->image == NULL)
{
if ((iter->priv->position == -1) && (rstto_navigator_get_n_images (iter->priv->navigator) > 0))
if ((iter->priv->position == -1) && (rstto_image_list_get_n_images (iter->priv->image_list) > 0))
{
rstto_navigator_iter_set_position (iter, 0);
rstto_image_list_iter_set_position (iter, 0);
}
}
return RSTTO_IMAGE (iter->priv->image);
......@@ -365,37 +375,35 @@ rstto_navigator_iter_get_image (RsttoNavigatorIter *iter)
gboolean
rstto_navigator_iter_set_position (RsttoNavigatorIter *iter, gint pos)
rstto_image_list_iter_set_position (RsttoImageListIter *iter, gint pos)
{
if (iter->priv->image)
{
g_object_unref (iter->priv->image);
iter->priv->image = NULL;
}
iter->priv->image = g_list_nth_data (iter->priv->navigator->priv->images, pos);
iter->priv->image = g_list_nth_data (iter->priv->image_list->priv->images, pos);
if (iter->priv->image)
{
iter->priv->position = pos;
g_object_ref (iter->priv->image);
}
else
{
iter->priv->position = -1;
}
g_signal_emit (G_OBJECT (iter), rstto_navigator_iter_signals[RSTTO_NAVIGATOR_ITER_SIGNAL_CHANGED], 0, NULL);
g_debug ("w00t: %d", iter->priv->position);
g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
}
gboolean
rstto_navigator_iter_next (RsttoNavigatorIter *iter)
rstto_image_list_iter_next (RsttoImageListIter *iter)
{
if (iter->priv->image)
{
g_object_unref (iter->priv->image);
iter->priv->image = NULL;
}
iter->priv->image = g_list_nth_data (iter->priv->navigator->priv->images, iter->priv->position+1);
iter->priv->image = g_list_nth_data (iter->priv->image_list->priv->images, iter->priv->position+1);
if (iter->priv->image)
{
iter->priv->position++;
......@@ -403,50 +411,45 @@ rstto_navigator_iter_next (RsttoNavigatorIter *iter)
else
{
iter->priv->position = 0;
iter->priv->image = g_list_nth_data (iter->priv->navigator->priv->images, 0);
iter->priv->image = g_list_nth_data (iter->priv->image_list->priv->images, 0);
if (iter->priv->image == NULL)
{
iter->priv->position = -1;
}
}
if (iter->priv->image)
g_object_ref (iter->priv->image);
g_signal_emit (G_OBJECT (iter), rstto_navigator_iter_signals[RSTTO_NAVIGATOR_ITER_SIGNAL_CHANGED], 0, NULL);
g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
}
gboolean
rstto_navigator_iter_previous (RsttoNavigatorIter *iter)
rstto_image_list_iter_previous (RsttoImageListIter *iter)
{
if (iter->priv->image)
{
g_object_unref (iter->priv->image);
iter->priv->image = NULL;
}
iter->priv->image = g_list_nth_data (iter->priv->navigator->priv->images, iter->priv->position-1);
iter->priv->image = g_list_nth_data (iter->priv->image_list->priv->images, iter->priv->position-1);
if (iter->priv->image)
{
iter->priv->position--;
}
else
{
iter->priv->position = g_list_length (iter->priv->navigator->priv->images)-1;
iter->priv->image = g_list_nth_data (iter->priv->navigator->priv->images, iter->priv->position);
iter->priv->position = g_list_length (iter->priv->image_list->priv->images)-1;
iter->priv->image = g_list_nth_data (iter->priv->image_list->priv->images, iter->priv->position);
if (iter->priv->image == NULL)
{
iter->priv->position = -1;
}
}
if (iter->priv->image)
g_object_ref (iter->priv->image);
g_signal_emit (G_OBJECT (iter), rstto_navigator_iter_signals[RSTTO_NAVIGATOR_ITER_SIGNAL_CHANGED], 0, NULL);
g_signal_emit (G_OBJECT (iter), rstto_image_list_iter_signals[RSTTO_IMAGE_LIST_ITER_SIGNAL_CHANGED], 0, NULL);
}
RsttoNavigatorIter *
rstto_navigator_iter_clone (RsttoNavigatorIter *iter)
RsttoImageListIter *
rstto_image_list_iter_clone (RsttoImageListIter *iter)
{
RsttoNavigatorIter *new_iter = rstto_navigator_iter_new (iter->priv->navigator, iter->priv->image);
RsttoImageListIter *new_iter = rstto_image_list_iter_new (iter->priv->image_list, iter->priv->image);
new_iter->priv->position = iter->priv->position;
return new_iter;
......
......@@ -16,104 +16,104 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __RISTRETTO_NAVIGATOR_H__
#define __RISTRETTO_NAVIGATOR_H__
#ifndef __RISTRETTO_IMAGE_LIST_H__
#define __RISTRETTO_IMAGE_LIST_H__
G_BEGIN_DECLS
#define RSTTO_TYPE_NAVIGATOR rstto_navigator_get_type()
#define RSTTO_TYPE_IMAGE_LIST rstto_image_list_get_type()
#define RSTTO_NAVIGATOR(obj)( \
#define RSTTO_IMAGE_LIST(obj)( \
G_TYPE_CHECK_INSTANCE_CAST ((obj), \
RSTTO_TYPE_NAVIGATOR, \
RsttoNavigator))
RSTTO_TYPE_IMAGE_LIST, \
RsttoImageList))
#define RSTTO_IS_NAVIGATOR(obj)( \
#define RSTTO_IS_IMAGE_LIST(obj)( \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
RSTTO_TYPE_NAVIGATOR))
RSTTO_TYPE_IMAGE_LIST))
#define RSTTO_NAVIGATOR_CLASS(klass)( \
#define RSTTO_IMAGE_LIST_CLASS(klass)( \
G_TYPE_CHECK_CLASS_CAST ((klass), \
RSTTO_TYPE_NAVIGATOR, \
RsttoNavigatorClass))
RSTTO_TYPE_IMAGE_LIST, \
RsttoImageListClass))
#define RSTTO_IS_NAVIGATOR_CLASS(klass)( \
#define RSTTO_IS_IMAGE_LIST_CLASS(klass)( \
G_TYPE_CHECK_CLASS_TYPE ((klass), \
RSTTO_TYPE_NAVIGATOR()))
RSTTO_TYPE_IMAGE_LIST()))
typedef struct _RsttoNavigatorPriv RsttoNavigatorPriv;
typedef struct _RsttoNavigator RsttoNavigator;
typedef struct _RsttoImageListPriv RsttoImageListPriv;
typedef struct _RsttoImageList RsttoImageList;
struct _RsttoNavigator
struct _RsttoImageList
{
GObject parent;
RsttoNavigatorPriv *priv;
RsttoImageListPriv *priv;
};
typedef struct _RsttoNavigatorClass RsttoNavigatorClass;
struct _RsttoNavigatorClass
typedef struct _RsttoImageListClass RsttoImageListClass;
struct _RsttoImageListClass
{
GObjectClass parent_class;
};
#define RSTTO_TYPE_NAVIGATOR_ITER rstto_navigator_iter_get_type()
#define RSTTO_TYPE_IMAGE_LIST_ITER rstto_image_list_iter_get_type()
#define RSTTO_NAVIGATOR_ITER(obj)( \
#define RSTTO_IMAGE_LIST_ITER(obj)( \
G_TYPE_CHECK_INSTANCE_CAST ((obj), \
RSTTO_TYPE_NAVIGATOR_ITER, \
RsttoNavigatorIter))
RSTTO_TYPE_IMAGE_LIST_ITER, \
RsttoImageListIter))
#define RSTTO_IS_NAVIGATOR_ITER(obj)( \
#define RSTTO_IS_IMAGE_LIST_ITER(obj)( \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
RSTTO_TYPE_NAVIGATOR_ITER))
RSTTO_TYPE_IMAGE_LIST_ITER))
#define RSTTO_NAVIGATOR_ITER_CLASS(klass)( \
#define RSTTO_IMAGE_LIST_ITER_CLASS(klass)( \
G_TYPE_CHECK_CLASS_CAST ((klass), \
RSTTO_TYPE_NAVIGATOR_ITER, \
RsttoNavigatorIterClass))
RSTTO_TYPE_IMAGE_LIST_ITER, \
RsttoImageListIterClass))
#define RSTTO_IS_NAVIGATOR_ITER_CLASS(klass)( \
#define RSTTO_IS_IMAGE_LIST_ITER_CLASS(klass)( \
G_TYPE_CHECK_CLASS_TYPE ((klass), \
RSTTO_TYPE_NAVIGATOR_ITER()))
RSTTO_TYPE_IMAGE_LIST_ITER()))