X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/d0a5f320e31e129ba9d22abd90da95b08cda0936..2eb89de4f0ea84ddecf6649d93305c45e3e016ab:/src/dialog.h diff --git a/src/dialog.h b/src/dialog.h index 7160b7fc..f6e02c46 100644 --- a/src/dialog.h +++ b/src/dialog.h @@ -22,9 +22,17 @@ #ifndef _VIKING_DIALOG_H #define _VIKING_DIALOG_H +#include +#include + +#include "coords.h" +#include "vikwaypoint.h" +#include "vikcoord.h" + /* most of this file is an architechtural flaw. */ #define a_dialog_info_msg(win,info) a_dialog_msg(win,GTK_MESSAGE_INFO,info,NULL) +#define a_dialog_warning_msg(win,info) a_dialog_msg(win,GTK_MESSAGE_WARNING,info,NULL) #define a_dialog_error_msg(win,info) a_dialog_msg(win,GTK_MESSAGE_ERROR,info,NULL) #define a_dialog_info_msg_extra(win,info,extra) a_dialog_msg(win,GTK_MESSAGE_INFO,info,extra) @@ -42,14 +50,30 @@ void a_dialog_about ( GtkWindow *parent ); gboolean a_dialog_goto_latlon ( GtkWindow *parent, struct LatLon *ll, const struct LatLon *old ); gboolean a_dialog_goto_utm ( GtkWindow *parent, struct UTM *utm, const struct UTM *old ); -gboolean a_dialog_new_waypoint ( GtkWindow *parent, gchar **dest, VikWaypoint *wp, GHashTable *waypoints, VikCoordMode coord_mode ); +/* Specify if a new waypoint or not */ +/* If a new waypoint then it uses the default_name for the suggested name allowing the user to change it. + The name to use is returned + When an existing waypoint the name is shown but is not allowed to be changed and NULL is returned + */ +gchar *a_dialog_waypoint ( GtkWindow *parent, gchar *default_name, VikWaypoint *wp, VikCoordMode coord_mode, gboolean is_new, gboolean *updated ); -gchar *a_dialog_new_track ( GtkWindow *parent, GHashTable *tracks ); +gchar *a_dialog_new_track ( GtkWindow *parent, GHashTable *tracks, gchar *default_name ); -gboolean a_dialog_overwrite ( GtkWindow *parent, const gchar *message, const gchar *extra ); +gboolean a_dialog_yes_or_no ( GtkWindow *parent, const gchar *message, const gchar *extra ); gboolean a_dialog_custom_zoom ( GtkWindow *parent, gdouble *xmpp, gdouble *ympp ); gboolean a_dialog_time_threshold ( GtkWindow *parent, gchar *title_text, gchar *label_text, guint *thr ); +/** + * Dialog to return a positive number via a spinbox within the supplied limits + * A return value of zero indicates the dialog was cancelled + */ +guint a_dialog_get_positive_number ( GtkWindow *parent, gchar *title_text, gchar *label_text, guint default_num, guint min, guint max, guint step ); + void a_dialog_choose_dir ( GtkWidget *entry ); +gboolean a_dialog_map_n_zoom(GtkWindow *parent, gchar *mapnames[], gint default_map, gchar *zoom_list[], gint default_zoom, gint *selected_map, gint *selected_zoom); + +GList *a_dialog_select_from_list ( GtkWindow *parent, GList *names, gboolean multiple_selection_allowed, const gchar *title, const gchar *msg ); + +void a_dialog_license ( GtkWindow *parent, const gchar *map, const gchar *license, const gchar *url); #endif