]> git.street.me.uk Git - andy/viking.git/blob - src/vikwebtool.c
Add Refresh to consider reloading a Mapnik Rendering configuration.
[andy/viking.git] / src / vikwebtool.c
1 /*
2  * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
3  *
4  * Copyright (C) 2008, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  *
20  */
21
22 #ifdef HAVE_CONFIG_H
23 #include "config.h"
24 #endif
25
26 #include "vikwebtool.h"
27
28 #include <string.h>
29
30 #include <glib/gi18n.h>
31
32 #include "ui_util.h"
33
34 static GObjectClass *parent_class;
35
36 static void webtool_finalize ( GObject *gob );
37
38 static void webtool_open ( VikExtTool *self, VikWindow *vwindow );
39
40 G_DEFINE_ABSTRACT_TYPE (VikWebtool, vik_webtool, VIK_EXT_TOOL_TYPE)
41
42 static void vik_webtool_class_init ( VikWebtoolClass *klass )
43 {
44   GObjectClass *object_class;
45   VikExtToolClass *ext_tool_class;
46
47   object_class = G_OBJECT_CLASS (klass);
48
49   object_class->finalize = webtool_finalize;
50
51   parent_class = g_type_class_peek_parent (klass);
52
53   ext_tool_class = VIK_EXT_TOOL_CLASS ( klass );
54   ext_tool_class->open = webtool_open;
55 }
56
57 VikWebtool *vik_webtool_new ()
58 {
59   return VIK_WEBTOOL ( g_object_new ( VIK_WEBTOOL_TYPE, NULL ) );
60 }
61
62 static void vik_webtool_init ( VikWebtool *vlp )
63 {
64   // NOTHING
65 }
66
67 static void webtool_finalize ( GObject *gob )
68 {
69   // VikWebtool *w = VIK_WEBTOOL ( gob );
70   G_OBJECT_CLASS(parent_class)->finalize(gob);
71 }
72
73 static void webtool_open ( VikExtTool *self, VikWindow *vwindow )
74 {
75   VikWebtool *vwd = VIK_WEBTOOL ( self );
76   gchar *url = vik_webtool_get_url ( vwd, vwindow );
77   open_url ( NULL, url );
78   g_free ( url );
79 }
80
81 gchar *vik_webtool_get_url ( VikWebtool *self, VikWindow *vwindow )
82 {
83   return VIK_WEBTOOL_GET_CLASS( self )->get_url( self, vwindow );
84 }