X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/5a4a28bf66698966eb48235d0f737d04011f1c06..020b155be89ee1825309eb6d8d1958f3b46c310d:/src/viklayer.h diff --git a/src/viklayer.h b/src/viklayer.h index 5c5433ae..f08658ae 100644 --- a/src/viklayer.h +++ b/src/viklayer.h @@ -25,8 +25,8 @@ #include #include #include -#include "vikwindow.h" +#include "vikwindow.h" #include "viktreeview.h" #include "vikviewport.h" @@ -115,8 +115,8 @@ typedef struct { gint16 group; const gchar *title; guint8 widget_type; - const gpointer widget_data; - const gpointer extra_widget_data; + gpointer widget_data; + gpointer extra_widget_data; } VikLayerParam; enum { @@ -175,6 +175,8 @@ typedef gboolean (*VikLayerFuncProperties) (VikLayer *,VikViewpo typedef void (*VikLayerFuncDraw) (VikLayer *,VikViewport *); typedef void (*VikLayerFuncChangeCoordMode) (VikLayer *,VikCoordMode); +typedef void (*VikLayerFuncSetMenuItemsSelection) (VikLayer *,guint16); +typedef guint16 (*VikLayerFuncGetMenuItemsSelection) (VikLayer *); typedef void (*VikLayerFuncAddMenuItems) (VikLayer *,GtkMenu *,gpointer); /* gpointer is a VikLayersPanel */ typedef gboolean (*VikLayerFuncSublayerAddMenuItems) (VikLayer *,GtkMenu *,gpointer, /* first gpointer is a VikLayersPanel */ gint,gpointer,GtkTreeIter *); @@ -245,6 +247,9 @@ struct _VikLayerInterface { VikLayerFuncDraw draw; VikLayerFuncChangeCoordMode change_coord_mode; + VikLayerFuncSetMenuItemsSelection set_menu_selection; + VikLayerFuncGetMenuItemsSelection get_menu_selection; + VikLayerFuncAddMenuItems add_menu_items; VikLayerFuncSublayerAddMenuItems sublayer_add_menu_items; VikLayerFuncSublayerRenameRequest sublayer_rename_request; @@ -284,6 +289,8 @@ gboolean vik_layer_set_param (VikLayer *layer, guint16 id, VikLayerParamData dat void vik_layer_emit_update ( VikLayer *vl ); /* GUI */ +void vik_layer_set_menu_items_selection(VikLayer *l, guint16 selection); +guint16 vik_layer_get_menu_items_selection(VikLayer *l); void vik_layer_add_menu_items ( VikLayer *l, GtkMenu *menu, gpointer vlp ); VikLayer *vik_layer_create ( gint type, gpointer vp, GtkWindow *w, gboolean interactive ); gboolean vik_layer_properties ( VikLayer *layer, gpointer vp );