GtkWindowClass window_class;
void (* newwindow) (VikWindow *vw);
void (* openwindow) (VikWindow *vw, GSList *filenames);
- void (* statusbarupdate) (VikWindow *vw, const gchar *message, vik_statusbar_type_t vs_type);
};
GType vik_window_get_type ();
// To call from main to start things off:
VikWindow *vik_window_new_window ();
+void vik_window_new_window_finish ( VikWindow *vw );
+
GtkWidget *vik_window_get_drawmode_button ( VikWindow *vw, VikViewportDrawMode mode );
gboolean vik_window_get_pan_move ( VikWindow *vw );
void vik_window_open_file ( VikWindow *vw, const gchar *filename, gboolean changefilename );
struct _VikViewport * vik_window_viewport(VikWindow *vw);
struct _VikLayersPanel * vik_window_layers_panel(VikWindow *vw);
struct _VikStatusbar * vik_window_get_statusbar(VikWindow *vw);
-// Only for use from background threads:
-void vik_window_signal_statusbar_update (VikWindow *vw, const gchar* message, vik_statusbar_type_t vs_type);
+const gchar *vik_window_get_filename(VikWindow *vw);
+
+void vik_window_statusbar_update (VikWindow *vw, const gchar* message, vik_statusbar_type_t vs_type);
void vik_window_set_redraw_trigger(struct _VikLayer *vl);
gpointer vik_window_get_selected_trw_layer ( VikWindow *vw ); /* return type VikTrwLayer */
void vik_window_set_selected_trw_layer ( VikWindow *vw, gpointer vtl ); /* input VikTrwLayer */
-gpointer vik_window_get_selected_tracks ( VikWindow *vw ); /* return type GList */
-void vik_window_set_selected_tracks ( VikWindow *vw, gpointer gl, gpointer vtl ); /* input GList, VikTrwLayer */
+GHashTable *vik_window_get_selected_tracks ( VikWindow *vw );
+void vik_window_set_selected_tracks ( VikWindow *vw, GHashTable *ght, gpointer vtl ); /* gpointer is a VikTrwLayer */
gpointer vik_window_get_selected_track ( VikWindow *vw ); /* return type VikTrack */
-void vik_window_set_selected_track ( VikWindow *vw, gpointer *vt, gpointer vtl ); /* input VikTrack, VikTrwLayer */
-gpointer vik_window_get_selected_waypoints ( VikWindow *vw ); /* return type GList */
-void vik_window_set_selected_waypoints ( VikWindow *vw, gpointer gl, gpointer vtl ); /* input GList, VikTrwLayer */
+void vik_window_set_selected_track ( VikWindow *vw, gpointer *vt, gpointer vtl ); /* gpointer is a VikTrwLayer */
+GHashTable *vik_window_get_selected_waypoints ( VikWindow *vw );
+void vik_window_set_selected_waypoints ( VikWindow *vw, GHashTable *ght, gpointer vtl ); /* gpointer is a VikTrwLayer */
gpointer vik_window_get_selected_waypoint ( VikWindow *vw ); /* return type VikWaypoint */
void vik_window_set_selected_waypoint ( VikWindow *vw, gpointer *vwp, gpointer vtl ); /* input VikWaypoint, VikTrwLayer */
/* Return the VikTrwLayer of the selected track(s) or waypoint(s) are in (maybe NULL) */
/* return indicates if a redraw is necessary */
gboolean vik_window_clear_highlight ( VikWindow *vw );
+GThread *vik_window_get_thread ( VikWindow *vw );
+
+void vik_window_set_busy_cursor ( VikWindow *vw );
+void vik_window_clear_busy_cursor ( VikWindow *vw );
+
typedef struct {
VikWindow *vw;
VikViewport *vvp;
gpointer *vtl; // VikTrwlayer
gboolean holding;
+ gboolean moving;
gboolean is_waypoint; // otherwise a track
GdkGC *gc;
int oldx, oldy;