]> Pileus Git - grits/blobdiff - src/gis-viewer.c
GisViewer: Improve add/remove functions
[grits] / src / gis-viewer.c
index 30464e3deb2a4973f3f5a947f61b4106915bd515..afe2655d6638ed6d34602a39633038b0eaee2d56 100644 (file)
@@ -120,6 +120,13 @@ static void on_view_changed(GisViewer *self,
 /***********
  * Methods *
  ***********/
+void gis_viewer_setup(GisViewer *self, GisPlugins *plugins, GisPrefs *prefs)
+{
+       self->plugins = plugins;
+       self->prefs   = prefs;
+       self->offline = gis_prefs_get_boolean(prefs, "gis/offline", NULL);
+}
+
 void gis_viewer_set_time(GisViewer *self, const char *time)
 {
        g_assert(GIS_IS_VIEWER(self));
@@ -214,6 +221,7 @@ void gis_viewer_set_offline(GisViewer *self, gboolean offline)
 {
        g_assert(GIS_IS_VIEWER(self));
        g_debug("GisViewer: set_offline - %d", offline);
+       gis_prefs_set_boolean(self->prefs, "gis/offline", offline);
        self->offline = offline;
        _gis_viewer_emit_offline(self);
 }
@@ -263,38 +271,6 @@ void gis_viewer_set_height_func(GisViewer *self, GisTile *tile,
        klass->set_height_func(self, tile, height_func, user_data, update);
 }
 
-void gis_viewer_render_tile(GisViewer *self, GisTile *tile)
-{
-       GisViewerClass *klass = GIS_VIEWER_GET_CLASS(self);
-       if (!klass->render_tile)
-               g_warning("GisViewer: render_tile - Unimplemented");
-       klass->render_tile(self, tile);
-}
-
-void gis_viewer_render_tiles(GisViewer *self, GisTile *root)
-{
-       GisViewerClass *klass = GIS_VIEWER_GET_CLASS(self);
-       if (!klass->render_tiles)
-               g_warning("GisViewer: render_tiles - Unimplemented");
-       klass->render_tiles(self, root);
-}
-
-void gis_viewer_begin(GisViewer *self)
-{
-       GisViewerClass *klass = GIS_VIEWER_GET_CLASS(self);
-       if (!klass->begin)
-               g_warning("GisViewer: begin - Unimplemented");
-       klass->begin(self);
-}
-
-void gis_viewer_end(GisViewer *self)
-{
-       GisViewerClass *klass = GIS_VIEWER_GET_CLASS(self);
-       if (!klass->end)
-               g_warning("GisViewer: end - Unimplemented");
-       klass->end(self);
-}
-
 gpointer gis_viewer_add(GisViewer *self, GisObject *object,
                gint level, gboolean sort)
 {
@@ -304,12 +280,12 @@ gpointer gis_viewer_add(GisViewer *self, GisObject *object,
        return klass->add(self, object, level, sort);
 }
 
-void gis_viewer_remove(GisViewer *self, gpointer ref)
+GisObject *gis_viewer_remove(GisViewer *self, gpointer ref)
 {
        GisViewerClass *klass = GIS_VIEWER_GET_CLASS(self);
        if (!klass->remove)
                g_warning("GisViewer: remove - Unimplemented");
-       klass->remove(self, ref);
+       return klass->remove(self, ref);
 }
 
 /****************