typedef struct _VikToolInterface VikToolInterface;
struct _VikToolInterface {
+ const GdkPixdata *icon;
GtkRadioActionEntry radioActionEntry;
VikToolConstructorFunc create;
VikToolDestructorFunc destroy;
/* Parameters (for I/O and Properties) */
/* --> moved to uibuilder.h */
-
/* layer interface functions */
/* Create a new layer of a certain type. Should be filled with defaults */
typedef VikLayer * (*VikLayerFuncUnmarshall) (guint8 *, gint, VikViewport *);
/* returns TRUE if needs to redraw due to changed param */
-/* in parameter gboolean denotes if for file I/O, as opposed to display/cut/copy etc... operations */
-typedef gboolean (*VikLayerFuncSetParam) (VikLayer *, guint16, VikLayerParamData, VikViewport *, gboolean);
+typedef gboolean (*VikLayerFuncSetParam) (VikLayer *, VikLayerSetParam* );
/* in parameter gboolean denotes if for file I/O, as opposed to display/cut/copy etc... operations */
typedef VikLayerParamData
typedef void (*VikLayerFuncChangeParam) (GtkWidget *, ui_change_values );
typedef gboolean (*VikLayerFuncReadFileData) (VikLayer *, FILE *, const gchar *); // gchar* is the directory path. Function should report success or failure
-typedef void (*VikLayerFuncWriteFileData) (VikLayer *, FILE *);
+typedef void (*VikLayerFuncWriteFileData) (VikLayer *, FILE *, const gchar *); // gchar* is the directory path.
/* item manipulation */
typedef void (*VikLayerFuncDeleteItem) (VikLayer *, gint, gpointer);
typedef gboolean (*VikLayerFuncSelectRelease) (VikLayer *, GdkEventButton *, VikViewport *, tool_ed_t*);
typedef gboolean (*VikLayerFuncSelectedViewportMenu) (VikLayer *, GdkEventButton *, VikViewport *);
+typedef time_t (*VikLayerFuncGetTimestamp) (VikLayer *);
+
typedef enum {
VIK_MENU_ITEM_PROPERTY=1,
VIK_MENU_ITEM_CUT=2,
VikLayerFuncDraw draw;
VikLayerFuncChangeCoordMode change_coord_mode;
+ VikLayerFuncGetTimestamp get_timestamp;
+
VikLayerFuncSetMenuItemsSelection set_menu_selection;
VikLayerFuncGetMenuItemsSelection get_menu_selection;
void vik_layer_rename_no_copy ( VikLayer *l, gchar *new_name );
const gchar *vik_layer_get_name ( VikLayer *l );
-gboolean vik_layer_set_param (VikLayer *layer, guint16 id, VikLayerParamData data, gpointer vp, gboolean is_file_operation);
+time_t vik_layer_get_timestamp ( VikLayer *vl );
+
+gboolean vik_layer_set_param ( VikLayer *vl, VikLayerSetParam *vlsp );
void vik_layer_set_defaults ( VikLayer *vl, VikViewport *vvp );
void vik_layer_emit_update_secondary ( VikLayer *vl ); /* to be called by aggregate layer only. doesn't set the trigger */
void vik_layer_emit_update_although_invisible ( VikLayer *vl );
+void vik_layer_expand_tree ( VikLayer *vl );
+
VikLayerTypeEnum vik_layer_type_from_string ( const gchar *str );
typedef struct {