X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Fgis-viewer.c;h=afe2655d6638ed6d34602a39633038b0eaee2d56;hb=d2fbd2408edd0a39253b2c30f98dcafefcef508f;hp=947643d70dc96b200fa566f38fc9d593204c0649;hpb=e92b38ed37eb5bcdce8f6daa339ab18138b49565;p=grits diff --git a/src/gis-viewer.c b/src/gis-viewer.c index 947643d..afe2655 100644 --- a/src/gis-viewer.c +++ b/src/gis-viewer.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Andy Spencer + * Copyright (C) 2009-2010 Andy Spencer * * 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 @@ -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); } /****************