]>
Commit | Line | Data |
---|---|---|
50a14534 EB |
1 | /* |
2 | * viking -- GPS Data and Topo Analyzer, Explorer, and Manager | |
3 | * | |
4 | * Copyright (C) 2003-2005, Evan Battaglia <gtoevan@gmx.net> | |
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 | #ifndef _VIKING_AGGREGATELAYER_H | |
23 | #define _VIKING_AGGREGATELAYER_H | |
24 | ||
a25c4c50 GB |
25 | #include "viklayer.h" |
26 | ||
722b5481 RN |
27 | G_BEGIN_DECLS |
28 | ||
50a14534 EB |
29 | #define VIK_AGGREGATE_LAYER_TYPE (vik_aggregate_layer_get_type ()) |
30 | #define VIK_AGGREGATE_LAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIK_AGGREGATE_LAYER_TYPE, VikAggregateLayer)) | |
31 | #define VIK_AGGREGATE_LAYER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIK_AGGREGATE_LAYER_TYPE, VikAggregateLayerClass)) | |
32 | #define IS_VIK_AGGREGATE_LAYER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIK_AGGREGATE_LAYER_TYPE)) | |
33 | #define IS_VIK_AGGREGATE_LAYER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIK_AGGREGATE_LAYER_TYPE)) | |
34 | ||
35 | typedef struct _VikAggregateLayerClass VikAggregateLayerClass; | |
36 | struct _VikAggregateLayerClass | |
37 | { | |
38 | VikLayerClass vik_layer_class; | |
39 | }; | |
40 | ||
41 | GType vik_aggregate_layer_get_type (); | |
42 | ||
43 | typedef struct _VikAggregateLayer VikAggregateLayer; | |
44 | ||
45 | VikAggregateLayer *vik_aggregate_layer_new (); | |
46 | void vik_aggregate_layer_add_layer ( VikAggregateLayer *val, VikLayer *l ); | |
47 | void vik_aggregate_layer_insert_layer ( VikAggregateLayer *val, VikLayer *l, GtkTreeIter *replace_layer ); | |
48 | void vik_aggregate_layer_move_layer ( VikAggregateLayer *val, GtkTreeIter *child_iter, gboolean up ); | |
45c5ac8e | 49 | void vik_aggregate_layer_draw ( VikAggregateLayer *val, VikViewport *vp ); |
50a14534 EB |
50 | void vik_aggregate_layer_free ( VikAggregateLayer *val ); |
51 | void vik_aggregate_layer_clear ( VikAggregateLayer *val ); | |
52 | gboolean vik_aggregate_layer_delete ( VikAggregateLayer *val, GtkTreeIter *iter ); | |
53 | VikAggregateLayer *vik_aggregate_layer_create (VikViewport *vp); | |
54 | ||
55 | /* returns: 0 = success, 1 = none appl. found, 2 = found but rejected */ | |
941aa6e9 | 56 | // guint vik_aggregate_layer_tool ( VikAggregateLayer *val, guint16 layer_type, VikToolInterfaceFunc tool_func, GdkEventButton *event, VikViewport *vvp); |
50a14534 | 57 | |
b5926b35 | 58 | VikLayer *vik_aggregate_layer_get_top_visible_layer_of_type ( VikAggregateLayer *val, VikLayerTypeEnum type ); |
50a14534 EB |
59 | void vik_aggregate_layer_realize ( VikAggregateLayer *val, VikTreeview *vt, GtkTreeIter *layer_iter ); |
60 | gboolean vik_aggregate_layer_load_layers ( VikAggregateLayer *val, FILE *f, gpointer vp ); | |
61 | gboolean vik_aggregate_layer_is_empty ( VikAggregateLayer *val ); | |
62 | ||
63 | const GList *vik_aggregate_layer_get_children ( VikAggregateLayer *val ); | |
b5926b35 | 64 | GList *vik_aggregate_layer_get_all_layers_of_type(VikAggregateLayer *val, GList *layers, VikLayerTypeEnum type, gboolean include_invisible); |
50a14534 | 65 | |
722b5481 | 66 | G_END_DECLS |
50a14534 EB |
67 | |
68 | #endif |