1 /* 2 * gnome-keyring 3 * 4 * Copyright (C) 2010 Stefan Walter 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU Lesser General Public License as 8 * published by the Free Software Foundation; either version 2.1 of 9 * the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, but 12 * WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this program; if not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef __GCR_RENDERER_H__ 21 #define __GCR_RENDERER_H__ 22 23 #include <glib-object.h> 24 25 #include "gcr/gcr-column.h" 26 #include "gcr/gcr-types.h" 27 28 #include "gcr-viewer.h" 29 30 G_BEGIN_DECLS 31 32 #define GCR_TYPE_RENDERER (gcr_renderer_get_type()) 33 #define GCR_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCR_TYPE_RENDERER, GcrRenderer)) 34 #define GCR_IS_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCR_TYPE_RENDERER)) 35 #define GCR_RENDERER_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GCR_TYPE_RENDERER, GcrRendererIface)) 36 37 typedef struct _GcrRendererIface GcrRendererIface; 38 39 struct _GcrRendererIface { 40 GTypeInterface parent; 41 42 /* signals */ 43 void (*data_changed) (GcrRenderer *self); 44 45 /* virtual */ 46 void (*render_view) (GcrRenderer *self, GcrViewer *viewer); 47 48 void (*populate_popup) (GcrRenderer *self, GcrViewer *viewer, GtkMenu *menu); 49 50 /*< private >*/ 51 gpointer dummy1; 52 53 gpointer dummy2; 54 gpointer dummy3; 55 gpointer dummy4; 56 gpointer dummy5; 57 gpointer dummy6; 58 gpointer dummy7; 59 60 }; 61 62 GType gcr_renderer_get_type (void) G_GNUC_CONST; 63 64 void gcr_renderer_render_view (GcrRenderer *self, 65 GcrViewer *viewer); 66 67 void gcr_renderer_popuplate_popup (GcrRenderer *self, 68 GcrViewer *viewer, 69 GtkMenu *menu); 70 71 void gcr_renderer_emit_data_changed (GcrRenderer *self); 72 73 GcrRenderer* gcr_renderer_create (const gchar *label, 74 GckAttributes *attrs); 75 76 void gcr_renderer_register (GType renderer_type, 77 GckAttributes *attrs); 78 79 GckAttributes * gcr_renderer_get_attributes (GcrRenderer *self); 80 81 void gcr_renderer_set_attributes (GcrRenderer *self, 82 GckAttributes *attrs); 83 84 void gcr_renderer_register_well_known (void); 85 86 G_END_DECLS 87 88 #endif /* __GCR_RENDERER_H__ */ 89