]> git.street.me.uk Git - andy/viking.git/blame - src/vikwebtool.c
Add keyboard accelerators for the Waypoints sublayer menu.
[andy/viking.git] / src / vikwebtool.c
CommitLineData
92806042
GB
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 "util.h"
33
34static void webtool_class_init ( VikWebtoolClass *klass );
35static void webtool_init ( VikWebtool *vwd );
36
37static GObjectClass *parent_class;
38
39static void webtool_finalize ( GObject *gob );
40
41static void webtool_open ( VikExtTool *self, VikWindow *vwindow );
42
43GType vik_webtool_get_type()
44{
45 static GType w_type = 0;
46
47 if (!w_type)
48 {
49 static const GTypeInfo w_info =
50 {
51 sizeof (VikWebtoolClass),
52 NULL, /* base_init */
53 NULL, /* base_finalize */
54 (GClassInitFunc) webtool_class_init,
55 NULL, /* class_finalize */
56 NULL, /* class_data */
57 sizeof (VikWebtool),
58 0,
59 (GInstanceInitFunc) webtool_init,
60 };
61 w_type = g_type_register_static ( VIK_EXT_TOOL_TYPE, "VikWebtool", &w_info, G_TYPE_FLAG_ABSTRACT );
62 }
63
64 return w_type;
65}
66
67static void webtool_class_init ( VikWebtoolClass *klass )
68{
69 GObjectClass *object_class;
70 VikExtToolClass *ext_tool_class;
71
72 object_class = G_OBJECT_CLASS (klass);
73
74 object_class->finalize = webtool_finalize;
75
76 parent_class = g_type_class_peek_parent (klass);
77
78 ext_tool_class = VIK_EXT_TOOL_CLASS ( klass );
79 ext_tool_class->open = webtool_open;
80}
81
82VikWebtool *vik_webtool_new ()
83{
84 return VIK_WEBTOOL ( g_object_new ( VIK_WEBTOOL_TYPE, NULL ) );
85}
86
87static void webtool_init ( VikWebtool *vlp )
88{
89}
90
91static void webtool_finalize ( GObject *gob )
92{
93 // VikWebtool *w = VIK_WEBTOOL ( gob );
94 G_OBJECT_CLASS(parent_class)->finalize(gob);
95}
96
97static void webtool_open ( VikExtTool *self, VikWindow *vwindow )
98{
99 VikWebtool *vwd = VIK_WEBTOOL ( self );
100 gchar *url = vik_webtool_get_url ( vwd, vwindow );
101 open_url ( NULL, url );
102 g_free ( url );
103}
104
105gchar *vik_webtool_get_url ( VikWebtool *self, VikWindow *vwindow )
106{
107 return VIK_WEBTOOL_GET_CLASS( self )->get_url( self, vwindow );
108}