X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/5a4a28bf66698966eb48235d0f737d04011f1c06..119f63a0bab39b86f73676969b07fc86978a1329:/src/viklayer.h?ds=sidebyside diff --git a/src/viklayer.h b/src/viklayer.h index 5c5433ae..f81c5c5e 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" @@ -36,7 +36,6 @@ #define IS_VIK_LAYER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIK_LAYER_TYPE)) #define IS_VIK_LAYER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIK_LAYER_TYPE)) -typedef struct _VikLayer VikLayer; typedef struct _VikLayerClass VikLayerClass; struct _VikLayerClass @@ -115,8 +114,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 +174,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 +246,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 +288,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 );