NULL,
0,
+ VIK_MENU_ITEM_ALL,
+
(VikLayerFuncCreate) vik_aggregate_layer_create,
(VikLayerFuncRealize) vik_aggregate_layer_realize,
(VikLayerFuncPostRead) NULL,
(VikLayerFuncProperties) NULL,
(VikLayerFuncDraw) vik_aggregate_layer_draw,
(VikLayerFuncChangeCoordMode) aggregate_layer_change_coord_mode,
+
+ (VikLayerFuncSetMenuItemsSelection) NULL,
+ (VikLayerFuncGetMenuItemsSelection) NULL,
(VikLayerFuncAddMenuItems) NULL,
(VikLayerFuncSublayerAddMenuItems) NULL,
(VikLayerFuncReadFileData) NULL,
(VikLayerFuncWriteFileData) NULL,
+ (VikLayerFuncDeleteItem) NULL,
(VikLayerFuncCopyItem) NULL,
(VikLayerFuncPasteItem) NULL,
(VikLayerFuncFreeCopiedItem) NULL,
return NULL;
}
+GList *vik_aggregate_layer_get_all_layers_of_type(VikAggregateLayer *val, GList *layers, gint type)
+{
+ GList *l = layers;
+ GList *children = val->children;
+ if (!children)
+ return layers;
+ while (children) {
+ if (VIK_LAYER(children->data)->type == VIK_LAYER_AGGREGATE)
+ l = vik_aggregate_layer_get_all_layers_of_type(VIK_AGGREGATE_LAYER(children->data), l, type);
+ else if (VIK_LAYER(children->data)->type == type)
+ l = g_list_prepend(l, children->data); /* now in top down order */
+ children = children->next;
+ }
+ return l;
+}
+
void vik_aggregate_layer_realize ( VikAggregateLayer *val, VikTreeview *vt, GtkTreeIter *layer_iter )
{
GList *i = val->children;