2 * Copyright (C) 2007 Matthew Allum
3 * Copyright (C) 2007 Neil J. Patel
4 * Copyright (C) 2007 OpenedHand Ltd
6 * Author: Matthew Allum <mallum@openedhand.com>
8 #ifndef _FLUTTR_LIBRARY
9 #define _FLUTTR_LIBRARY
11 #include <clutter/clutter.h>
12 //#include <libgnomevfs/gnome-vfs.h>
13 #include <glib-object.h>
14 #include "fluttr-library-row.h"
15 #include "eggsequence.h"
19 #define FLUTTR_TYPE_LIBRARY fluttr_library_get_type()
21 #define FLUTTR_LIBRARY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
22 FLUTTR_TYPE_LIBRARY, \
25 #define FLUTTR_LIBRARY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
26 FLUTTR_TYPE_LIBRARY, \
29 #define FLUTTR_IS_LIBRARY(obj) \
30 (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
33 #define FLUTTR_IS_LIBRARY_CLASS(klass) \
34 (G_TYPE_CHECK_CLASS_TYPE ((klass), \
37 #define FLUTTR_LIBRARY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
38 FLUTTR_TYPE_LIBRARY, \
47 GObjectClass parent_class;
49 void (*reordered) (FluttrLibrary *library);
50 void (*filter_change) (FluttrLibrary *library);
51 void (*library_row_change) (FluttrLibrary *library, FluttrLibraryRow *library_row);
52 void (*library_row_added) (FluttrLibrary *library, FluttrLibraryRow *library_row);
56 typedef gint (*FluttrCompareRowFunc) (FluttrLibraryRow *a,
60 typedef gboolean (*FluttrFilterRowFunc) (FluttrLibrary *library,
61 FluttrLibraryRow *library_row,
64 typedef gboolean (*FluttrForeachRowFunc) (FluttrLibrary *library,
65 FluttrLibraryRow *library_row,
68 GType fluttr_library_get_type (void);
71 fluttr_library_new ();
74 fluttr_library_row_count (FluttrLibrary *library);
77 fluttr_library_get_library_row (FluttrLibrary *library, gint index);
80 fluttr_library_append_library_row (FluttrLibrary *library, FluttrLibraryRow *library_row);
83 fluttr_library_set_filter (FluttrLibrary *library,
84 FluttrFilterRowFunc filter,
88 fluttr_library_set_sort_func (FluttrLibrary *library,
89 FluttrCompareRowFunc func,
93 fluttr_library_foreach (FluttrLibrary *library,
94 FluttrForeachRowFunc func,