2 * viking -- GPS Data and Topo Analyzer, Explorer, and Manager
4 * Copyright (C) 2008, Guilhem Bonnefille <guilhem.bonnefille@gmail.com>
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.
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.
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
26 #include "vikwebtool.h"
30 #include <glib/gi18n.h>
34 static GObjectClass *parent_class;
36 static void webtool_finalize ( GObject *gob );
38 static void webtool_open ( VikExtTool *self, VikWindow *vwindow );
39 static void webtool_open_at_position ( VikExtTool *self, VikWindow *vwindow, VikCoord *vc );
41 G_DEFINE_ABSTRACT_TYPE (VikWebtool, vik_webtool, VIK_EXT_TOOL_TYPE)
43 static void vik_webtool_class_init ( VikWebtoolClass *klass )
45 GObjectClass *object_class;
46 VikExtToolClass *ext_tool_class;
48 object_class = G_OBJECT_CLASS (klass);
50 object_class->finalize = webtool_finalize;
52 parent_class = g_type_class_peek_parent (klass);
54 ext_tool_class = VIK_EXT_TOOL_CLASS ( klass );
55 ext_tool_class->open = webtool_open;
56 ext_tool_class->open_at_position = webtool_open_at_position;
59 VikWebtool *vik_webtool_new ()
61 return VIK_WEBTOOL ( g_object_new ( VIK_WEBTOOL_TYPE, NULL ) );
64 static void vik_webtool_init ( VikWebtool *vlp )
69 static void webtool_finalize ( GObject *gob )
71 // VikWebtool *w = VIK_WEBTOOL ( gob );
72 G_OBJECT_CLASS(parent_class)->finalize(gob);
75 static void webtool_open ( VikExtTool *self, VikWindow *vwindow )
77 VikWebtool *vwd = VIK_WEBTOOL ( self );
78 gchar *url = vik_webtool_get_url ( vwd, vwindow );
79 open_url ( GTK_WINDOW(vwindow), url );
83 static void webtool_open_at_position ( VikExtTool *self, VikWindow *vwindow, VikCoord *vc )
85 VikWebtool *vwd = VIK_WEBTOOL ( self );
86 gchar *url = vik_webtool_get_url_at_position ( vwd, vwindow, vc );
88 open_url ( GTK_WINDOW(vwindow), url );
93 gchar *vik_webtool_get_url ( VikWebtool *self, VikWindow *vwindow )
95 return VIK_WEBTOOL_GET_CLASS( self )->get_url( self, vwindow );
98 gchar *vik_webtool_get_url_at_position ( VikWebtool *self, VikWindow *vwindow, VikCoord *vc )
100 if ( VIK_WEBTOOL_GET_CLASS( self )->get_url_at_position )
101 return VIK_WEBTOOL_GET_CLASS( self )->get_url_at_position( self, vwindow, vc );