[Goodies-commits] r2946 - in ristretto/trunk: po src
Stephan Arts
stephan at xfce.org
Fri Aug 3 10:32:30 CEST 2007
Author: stephan
Date: 2007-08-03 08:32:29 +0000 (Fri, 03 Aug 2007)
New Revision: 2946
Added:
ristretto/trunk/src/thumbnail_viewer.c
ristretto/trunk/src/thumbnail_viewer.h
Modified:
ristretto/trunk/po/nl.po
ristretto/trunk/po/ristretto.pot
ristretto/trunk/src/Makefile.am
ristretto/trunk/src/main.c
ristretto/trunk/src/navigator.c
ristretto/trunk/src/navigator.h
Log:
Added initial code for the thumbnailer widget.
Modified: ristretto/trunk/po/nl.po
===================================================================
--- ristretto/trunk/po/nl.po 2007-08-02 23:53:37 UTC (rev 2945)
+++ ristretto/trunk/po/nl.po 2007-08-03 08:32:29 UTC (rev 2946)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: ristretto 0.0.1-svn-r02537\n"
"Report-Msgid-Bugs-To: stephan at xfce.org\n"
-"POT-Creation-Date: 2007-07-31 01:46+0200\n"
+"POT-Creation-Date: 2007-08-02 19:14+0200\n"
"PO-Revision-Date: 2007-07-13 00:48+0200\n"
"Last-Translator: Stephan Arts <stephan at xfce.org>\n"
"Language-Team: Dutch\n"
@@ -16,48 +16,47 @@
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/main.c:94
+#: ../src/main.c:114
msgid "_File"
msgstr "_Bestand"
-#: ../src/main.c:96
+#: ../src/main.c:116
msgid "O_pen Folder"
msgstr "Map o_penen"
-#: ../src/main.c:107
+#: ../src/main.c:127
msgid "_Edit"
msgstr "B_ewerken"
-#: ../src/main.c:112
+#: ../src/main.c:132
msgid "_View"
msgstr "_Beeld"
-#: ../src/main.c:113
-msgid "View Zoom toolbar"
-msgstr "Zoom werkbalk tonen"
-
-#: ../src/main.c:119
+#: ../src/main.c:139
msgid "_Help"
msgstr "_Help"
-#: ../src/main.c:229
+#: ../src/main.c:251
msgid "Open image"
msgstr "Afbeelding openen"
-#: ../src/main.c:257
+#: ../src/main.c:279
msgid "Open folder"
msgstr "Map openen"
-#: ../src/main.c:284
+#: ../src/main.c:306
msgid "Developer:"
msgstr "Ontwikkelaar:"
-#: ../src/main.c:293
+#: ../src/main.c:315
msgid ""
"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
"environment."
msgstr ""
-#: ../src/main.c:300
+#: ../src/main.c:322
msgid "translator-credits"
msgstr "Stephan Arts <stephan at xfce.org>"
+
+#~ msgid "View Zoom toolbar"
+#~ msgstr "Zoom werkbalk tonen"
Modified: ristretto/trunk/po/ristretto.pot
===================================================================
--- ristretto/trunk/po/ristretto.pot 2007-08-02 23:53:37 UTC (rev 2945)
+++ ristretto/trunk/po/ristretto.pot 2007-08-03 08:32:29 UTC (rev 2946)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: stephan at xfce.org\n"
-"POT-Creation-Date: 2007-07-31 01:46+0200\n"
+"POT-Creation-Date: 2007-08-02 19:14+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,48 +16,44 @@
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../src/main.c:94
+#: ../src/main.c:114
msgid "_File"
msgstr ""
-#: ../src/main.c:96
+#: ../src/main.c:116
msgid "O_pen Folder"
msgstr ""
-#: ../src/main.c:107
+#: ../src/main.c:127
msgid "_Edit"
msgstr ""
-#: ../src/main.c:112
+#: ../src/main.c:132
msgid "_View"
msgstr ""
-#: ../src/main.c:113
-msgid "View Zoom toolbar"
-msgstr ""
-
-#: ../src/main.c:119
+#: ../src/main.c:139
msgid "_Help"
msgstr ""
-#: ../src/main.c:229
+#: ../src/main.c:251
msgid "Open image"
msgstr ""
-#: ../src/main.c:257
+#: ../src/main.c:279
msgid "Open folder"
msgstr ""
-#: ../src/main.c:284
+#: ../src/main.c:306
msgid "Developer:"
msgstr ""
-#: ../src/main.c:293
+#: ../src/main.c:315
msgid ""
"Ristretto is a fast and lightweight picture-viewer for the Xfce desktop "
"environment."
msgstr ""
-#: ../src/main.c:300
+#: ../src/main.c:322
msgid "translator-credits"
msgstr ""
Modified: ristretto/trunk/src/Makefile.am
===================================================================
--- ristretto/trunk/src/Makefile.am 2007-08-02 23:53:37 UTC (rev 2945)
+++ ristretto/trunk/src/Makefile.am 2007-08-03 08:32:29 UTC (rev 2946)
@@ -3,6 +3,7 @@
ristretto_SOURCES = \
main.c \
picture_viewer.c picture_viewer.h \
+ thumbnail_viewer.c thumbnail_viewer.h \
navigator.c navigator.h
ristretto_CFLAGS = \
Modified: ristretto/trunk/src/main.c
===================================================================
--- ristretto/trunk/src/main.c 2007-08-02 23:53:37 UTC (rev 2945)
+++ ristretto/trunk/src/main.c 2007-08-03 08:32:29 UTC (rev 2946)
@@ -22,6 +22,7 @@
#include <thunar-vfs/thunar-vfs.h>
#include "picture_viewer.h"
+#include "thumbnail_viewer.h"
#include "navigator.h"
static ThunarVfsMimeDatabase *mime_dbase = NULL;
@@ -103,9 +104,13 @@
g_signal_connect(G_OBJECT(navigator), "file-changed", G_CALLBACK(cb_rstto_nav_file_changed), window);
GtkWidget *s_window = gtk_scrolled_window_new(NULL,NULL);
+ GtkWidget *s_window1 = gtk_scrolled_window_new(NULL,NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(s_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(s_window1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
GtkWidget *main_vbox = gtk_vbox_new(0, FALSE);
GtkWidget *main_hbox = gtk_hbox_new(0, FALSE);
+ GtkWidget *main_paned = gtk_vpaned_new();
+ GtkWidget *thumbnail_viewer = rstto_thumbnail_viewer_new();
menu_bar = gtk_menu_bar_new();
image_tool_bar = gtk_toolbar_new();
app_tool_bar = gtk_toolbar_new();
@@ -163,16 +168,20 @@
gtk_tool_item_set_expand(spacer, TRUE);
gtk_tool_item_set_homogeneous(spacer, FALSE);
- gtk_widget_set_size_request(window, 300, 200);
+ gtk_widget_set_size_request(window, 400, 300);
- rstto_navigator_set_path(navigator, path);
+ rstto_navigator_set_path(navigator, path, TRUE);
gtk_container_add(GTK_CONTAINER(s_window), viewer);
+ gtk_container_add(GTK_CONTAINER(s_window1), thumbnail_viewer);
gtk_toolbar_set_orientation(GTK_TOOLBAR(image_tool_bar), GTK_ORIENTATION_VERTICAL);
gtk_box_pack_start(GTK_BOX(main_hbox), image_tool_bar, FALSE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(main_hbox), s_window, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(main_hbox), main_paned, TRUE, TRUE, 0);
+ gtk_paned_pack1(GTK_PANED(main_paned), s_window, TRUE, TRUE);
+ gtk_paned_pack2(GTK_PANED(main_paned), s_window1, FALSE, TRUE);
+
gtk_box_pack_start(GTK_BOX(main_vbox), menu_bar, FALSE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(main_vbox), app_tool_bar, FALSE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(main_vbox), main_hbox, TRUE, TRUE, 0);
@@ -262,7 +271,7 @@
ThunarVfsPath *path = thunar_vfs_path_new(filename, NULL);
- rstto_navigator_set_path(navigator, path);
+ rstto_navigator_set_path(navigator, path, FALSE);
thunar_vfs_path_unref(path);
@@ -290,7 +299,7 @@
ThunarVfsPath *path = thunar_vfs_path_new(filename, NULL);
- rstto_navigator_set_path(navigator, path);
+ rstto_navigator_set_path(navigator, path, TRUE);
thunar_vfs_path_unref(path);
Modified: ristretto/trunk/src/navigator.c
===================================================================
--- ristretto/trunk/src/navigator.c 2007-08-02 23:53:37 UTC (rev 2945)
+++ ristretto/trunk/src/navigator.c 2007-08-03 08:32:29 UTC (rev 2946)
@@ -120,7 +120,7 @@
}
void
-rstto_navigator_set_path(RsttoNavigator *navigator, ThunarVfsPath *path)
+rstto_navigator_set_path(RsttoNavigator *navigator, ThunarVfsPath *path, gboolean index_path)
{
if(navigator->path)
{
@@ -168,12 +168,15 @@
gchar *file_media = thunar_vfs_mime_info_get_media(file_info->mime_info);
if(!strcmp(file_media, "image"))
{
- navigator->file_list = g_list_prepend(navigator->file_list, file_info);
if(thunar_vfs_path_equal(path, file_path))
{
+ navigator->file_list = g_list_prepend(navigator->file_list, file_info);
navigator->file_iter = navigator->file_list;
}
+ else
+ if(index_path)
+ navigator->file_list = g_list_prepend(navigator->file_list, file_info);
}
else
{
Modified: ristretto/trunk/src/navigator.h
===================================================================
--- ristretto/trunk/src/navigator.h 2007-08-02 23:53:37 UTC (rev 2945)
+++ ristretto/trunk/src/navigator.h 2007-08-03 08:32:29 UTC (rev 2946)
@@ -63,7 +63,8 @@
rstto_navigator_new (RsttoPictureViewer *viewer);
void rstto_navigator_set_path (RsttoNavigator *navigator,
- ThunarVfsPath *path);
+ ThunarVfsPath *path,
+ gboolean index_path);
void rstto_navigator_forward (RsttoNavigator *navigator);
void rstto_navigator_back (RsttoNavigator *navigator);
Added: ristretto/trunk/src/thumbnail_viewer.c
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.c (rev 0)
+++ ristretto/trunk/src/thumbnail_viewer.c 2007-08-03 08:32:29 UTC (rev 2946)
@@ -0,0 +1,318 @@
+/*
+ * 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 Library 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.
+ */
+
+#include <config.h>
+#include <gtk/gtk.h>
+#include <gtk/gtkmarshal.h>
+#include <string.h>
+
+#include <pango/pango.h>
+#include <pango/pangoxft.h>
+
+#include "thumbnail_viewer.h"
+
+static void
+rstto_thumbnail_viewer_init(RsttoThumbnailViewer *);
+static void
+rstto_thumbnail_viewer_class_init(RsttoThumbnailViewerClass *);
+static void
+rstto_thumbnail_viewer_destroy(GtkObject *object);
+
+static void
+rstto_thumbnail_viewer_size_request(GtkWidget *, GtkRequisition *);
+static void
+rstto_thumbnail_viewer_size_allocate(GtkWidget *, GtkAllocation *);
+static void
+rstto_thumbnail_viewer_realize(GtkWidget *);
+static void
+rstto_thumbnail_viewer_unrealize(GtkWidget *);
+static gboolean
+rstto_thumbnail_viewer_expose(GtkWidget *, GdkEventExpose *);
+
+static void
+rstto_thumbnail_viewer_set_scroll_adjustments(RsttoThumbnailViewer *, GtkAdjustment *, GtkAdjustment *);
+
+static void
+cb_rstto_thumbnail_viewer_value_changed(GtkAdjustment *adjustment, RsttoThumbnailViewer *viewer);
+
+
+static GtkWidgetClass *parent_class = NULL;
+
+GType
+rstto_thumbnail_viewer_get_type ()
+{
+ static GType rstto_thumbnail_viewer_type = 0;
+
+ if (!rstto_thumbnail_viewer_type)
+ {
+ static const GTypeInfo rstto_thumbnail_viewer_info =
+ {
+ sizeof (RsttoThumbnailViewerClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) rstto_thumbnail_viewer_class_init,
+ (GClassFinalizeFunc) NULL,
+ NULL,
+ sizeof (RsttoThumbnailViewer),
+ 0,
+ (GInstanceInitFunc) rstto_thumbnail_viewer_init,
+ NULL
+ };
+
+ rstto_thumbnail_viewer_type = g_type_register_static (GTK_TYPE_WIDGET, "RsttoThumbnailViewer", &rstto_thumbnail_viewer_info, 0);
+ }
+ return rstto_thumbnail_viewer_type;
+}
+
+
+static void
+rstto_thumbnail_viewer_init(RsttoThumbnailViewer *viewer)
+{
+ viewer->cb_value_changed = cb_rstto_thumbnail_viewer_value_changed;
+
+ gtk_widget_set_redraw_on_allocate(GTK_WIDGET(viewer), TRUE);
+}
+
+static void
+rstto_thumbnail_viewer_class_init(RsttoThumbnailViewerClass *viewer_class)
+{
+ GtkWidgetClass *widget_class;
+ GtkObjectClass *object_class;
+
+ widget_class = (GtkWidgetClass*)viewer_class;
+ object_class = (GtkObjectClass*)viewer_class;
+
+ parent_class = g_type_class_peek_parent(viewer_class);
+
+ viewer_class->set_scroll_adjustments = rstto_thumbnail_viewer_set_scroll_adjustments;
+
+ widget_class->realize = rstto_thumbnail_viewer_realize;
+ widget_class->unrealize = rstto_thumbnail_viewer_unrealize;
+ widget_class->expose_event = rstto_thumbnail_viewer_expose;
+
+ widget_class->size_request = rstto_thumbnail_viewer_size_request;
+ widget_class->size_allocate = rstto_thumbnail_viewer_size_allocate;
+
+ object_class->destroy = rstto_thumbnail_viewer_destroy;
+
+
+ widget_class->set_scroll_adjustments_signal =
+ g_signal_new ("set_scroll_adjustments",
+ G_TYPE_FROM_CLASS (object_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET (RsttoThumbnailViewerClass, set_scroll_adjustments),
+ NULL, NULL,
+ gtk_marshal_VOID__POINTER_POINTER,
+ G_TYPE_NONE, 2,
+ GTK_TYPE_ADJUSTMENT,
+ GTK_TYPE_ADJUSTMENT);
+
+}
+
+static void
+rstto_thumbnail_viewer_size_request(GtkWidget *widget, GtkRequisition *requisition)
+{
+ RsttoThumbnailViewer *viewer = RSTTO_THUMBNAIL_VIEWER(widget);
+ switch(viewer->orientation)
+ {
+ case GTK_ORIENTATION_HORIZONTAL:
+ requisition->height = 96;
+ requisition->width = 10;
+ break;
+ case GTK_ORIENTATION_VERTICAL:
+ requisition->width = 120;
+ break;
+ }
+}
+
+static void
+rstto_thumbnail_viewer_size_allocate(GtkWidget *widget, GtkAllocation *allocation)
+{
+ RsttoThumbnailViewer *viewer = RSTTO_THUMBNAIL_VIEWER(widget);
+ gint border_width = 0;
+ widget->allocation = *allocation;
+
+ if (GTK_WIDGET_REALIZED (widget))
+ {
+ gdk_window_move_resize (widget->window,
+ allocation->x + border_width,
+ allocation->y + border_width,
+ allocation->width - border_width * 2,
+ allocation->height - border_width * 2);
+
+ if(viewer->hadjustment)
+ {
+ viewer->hadjustment->page_size = widget->allocation.width;
+ viewer->hadjustment->upper = 128*10;
+ viewer->hadjustment->lower = 0;
+ viewer->hadjustment->step_increment = 1;
+ viewer->hadjustment->page_increment = 100;
+
+ if((viewer->hadjustment->value + viewer->hadjustment->page_size) > viewer->hadjustment->upper)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->upper - viewer->hadjustment->page_size;
+ gtk_adjustment_value_changed(viewer->hadjustment);
+ }
+
+ gtk_adjustment_changed(viewer->hadjustment);
+ }
+ }
+}
+
+static void
+rstto_thumbnail_viewer_realize(GtkWidget *widget)
+{
+ g_return_if_fail (widget != NULL);
+ g_return_if_fail (RSTTO_IS_THUMBNAIL_VIEWER(widget));
+
+ GdkWindowAttr attributes;
+ gint attributes_mask;
+
+ GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);
+
+ attributes.x = widget->allocation.x;
+ attributes.y = widget->allocation.y;
+ attributes.width = widget->allocation.width;
+ attributes.height = widget->allocation.height;
+ attributes.wclass = GDK_INPUT_OUTPUT;
+ attributes.window_type = GDK_WINDOW_CHILD;
+ attributes.event_mask = gtk_widget_get_events (widget) |
+ GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK;
+ attributes.visual = gtk_widget_get_visual (widget);
+ attributes.colormap = gtk_widget_get_colormap (widget);
+
+ attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+ widget->window = gdk_window_new (gtk_widget_get_parent_window(widget), &attributes, attributes_mask);
+
+ widget->style = gtk_style_attach (widget->style, widget->window);
+ gdk_window_set_user_data (widget->window, widget);
+
+ gtk_style_set_background (widget->style, widget->window, GTK_STATE_ACTIVE);
+}
+
+static void
+rstto_thumbnail_viewer_unrealize(GtkWidget *widget)
+{
+}
+
+static gboolean
+rstto_thumbnail_viewer_expose(GtkWidget *widget, GdkEventExpose *event)
+{
+ GdkColor color;
+ GdkColor color_1;
+
+ PangoContext *pc = gtk_widget_get_pango_context(widget);
+ PangoLayout *pl = pango_layout_new(pc);
+
+ pango_layout_set_text(pl, "Ristretto Image Viewer", 22);
+ pango_layout_set_width(pl, 96 * PANGO_SCALE);
+ pango_layout_set_ellipsize(pl, PANGO_ELLIPSIZE_MIDDLE);
+
+ color.pixel = 0xffffffff;
+ color_1.pixel = 0;
+ RsttoThumbnailViewer *viewer = RSTTO_THUMBNAIL_VIEWER(widget);
+ GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(widget->window));
+ GdkGC *gc_1 = gdk_gc_new(GDK_DRAWABLE(widget->window));
+
+ gdk_gc_set_foreground(gc, &color);
+ gdk_gc_set_foreground(gc_1, &color_1);
+ if(viewer->hadjustment)
+ {
+ viewer->hadjustment->page_size = widget->allocation.width;
+ viewer->hadjustment->upper = 72*5;
+ viewer->hadjustment->lower = 0;
+ viewer->hadjustment->step_increment = 1;
+ viewer->hadjustment->page_increment = 100;
+
+ if((viewer->hadjustment->value + viewer->hadjustment->page_size) > viewer->hadjustment->upper)
+ {
+ viewer->hadjustment->value = viewer->hadjustment->upper - viewer->hadjustment->page_size;
+ gtk_adjustment_value_changed(viewer->hadjustment);
+ }
+
+// gtk_adjustment_changed(viewer->hadjustment);
+ }
+ gint i;
+ for(i = 0; i < 10; ++i)
+ {
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc,
+ TRUE,
+ (i*128), 0, 128, 128);
+ gdk_draw_rectangle(GDK_DRAWABLE(widget->window),
+ gc_1,
+ TRUE,
+ (i*128)+12, 12, 96, 72);
+ gdk_draw_layout(GDK_DRAWABLE(widget->window),
+ gc_1,
+ (i*128)+12, 96,
+ pl);
+ }
+
+ return FALSE;
+}
+
+static void
+rstto_thumbnail_viewer_destroy(GtkObject *object)
+{
+
+}
+
+static void
+rstto_thumbnail_viewer_set_scroll_adjustments(RsttoThumbnailViewer *viewer, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment)
+{
+ if(viewer->hadjustment)
+ {
+ g_signal_handlers_disconnect_by_func(viewer->hadjustment, viewer->cb_value_changed, viewer);
+ g_object_unref(viewer->hadjustment);
+ }
+ if(viewer->vadjustment)
+ {
+ g_signal_handlers_disconnect_by_func(viewer->vadjustment, viewer->cb_value_changed, viewer);
+ g_object_unref(viewer->vadjustment);
+ }
+
+ viewer->hadjustment = hadjustment;
+ viewer->vadjustment = vadjustment;
+
+ if(viewer->hadjustment)
+ {
+ g_signal_connect(G_OBJECT(viewer->hadjustment), "value-changed", (GCallback)viewer->cb_value_changed, viewer);
+ g_object_ref(viewer->hadjustment);
+ }
+ if(viewer->vadjustment)
+ {
+ g_signal_connect(G_OBJECT(viewer->vadjustment), "value-changed", (GCallback)viewer->cb_value_changed, viewer);
+ g_object_ref(viewer->vadjustment);
+ }
+
+}
+
+static void
+cb_rstto_thumbnail_viewer_value_changed(GtkAdjustment *adjustment, RsttoThumbnailViewer *viewer)
+{
+
+}
+
+GtkWidget *
+rstto_thumbnail_viewer_new()
+{
+ GtkWidget *widget;
+
+ widget = g_object_new(RSTTO_TYPE_THUMBNAIL_VIEWER, NULL);
+
+ return widget;
+}
Added: ristretto/trunk/src/thumbnail_viewer.h
===================================================================
--- ristretto/trunk/src/thumbnail_viewer.h (rev 0)
+++ ristretto/trunk/src/thumbnail_viewer.h 2007-08-03 08:32:29 UTC (rev 2946)
@@ -0,0 +1,71 @@
+/*
+ * 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 Library 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 __RISTRETTO_THUMBNAIL_VIEWER_H__
+#define __RISTRETTO_THUMBNAIL_VIEWER_H__
+
+G_BEGIN_DECLS
+
+#define RSTTO_TYPE_THUMBNAIL_VIEWER rstto_thumbnail_viewer_get_type()
+
+#define RSTTO_THUMBNAIL_VIEWER(obj)( \
+ G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ RSTTO_TYPE_THUMBNAIL_VIEWER, \
+ RsttoThumbnailViewer))
+
+#define RSTTO_IS_THUMBNAIL_VIEWER(obj)( \
+ G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ RSTTO_TYPE_THUMBNAIL_VIEWER))
+
+#define RSTTO_THUMBNAIL_VIEWER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_CAST ((klass), \
+ RSTTO_TYPE_THUMBNAIL_VIEWER, \
+ RsttoThumbnailViewerClass))
+
+#define RSTTO_IS_THUMBNAIL_VIEWER_CLASS(klass)( \
+ G_TYPE_CHECK_CLASS_TYPE ((klass), \
+ RSTTO_TYPE_THUMBNAIL_VIEWER()))
+
+typedef struct _RsttoThumbnailViewer RsttoThumbnailViewer;
+
+struct _RsttoThumbnailViewer
+{
+ GtkWidget parent;
+
+ GtkOrientation orientation;
+ GtkAdjustment *vadjustment;
+ GtkAdjustment *hadjustment;
+ void (*cb_value_changed)(GtkAdjustment *, RsttoThumbnailViewer *);
+};
+
+typedef struct _RsttoThumbnailViewerClass RsttoThumbnailViewerClass;
+
+struct _RsttoThumbnailViewerClass
+{
+ GtkWidgetClass parent_class;
+
+ void (* set_scroll_adjustments) (RsttoThumbnailViewer *viewer,
+ GtkAdjustment *hadjustment,
+ GtkAdjustment *vadjustment);
+};
+
+GType rstto_thumbnail_viewer_get_type();
+
+GtkWidget *rstto_thumbnail_viewer_new();
+
+G_END_DECLS
+
+#endif /* __RISTRETTO_THUMBNAIL_VIEWER_H__ */
More information about the Goodies-commits
mailing list