10 #INCLUDE ONCE "Gir/OsmGpsMap-1.0.bi"
11 #INCLUDE ONCE "Gir/_GLibMacros-2.0.bi"
19 BYVAL Sel
AS GtkTreeSelection
PTR _
20 ,
BYVAL Model
AS GtkTreeModel
PTR _
21 ,
BYVAL Path
AS GtkTreePath
PTR _
22 ,
BYVAL Mode
AS gboolean _
23 ,
BYVAL Ud
AS gpointer)
AS gboolean
26 IF .TSnoPref
THEN .TSnoPref = FALSE :
RETURN FALSE
28 DIM AS GtkTreeIter iter
29 DIM AS TrackLoader
PTR loa
30 gtk_tree_model_get_iter(Model, @iter, Path)
31 gtk_tree_model_get(Model, @iter _
40 CONSTRUCTOR GUIdata(
BYREF Fnam
AS STRING,
BYVAL Appli
AS GApplication
PTR)
41 VAR er = gtk_check_version(3, 22, 0)
42 IF er
THEN g_error(
"failed: " & *er) : g_application_quit(Appli)
44 DIM AS GError
PTR errr
45 VAR xml = gtk_builder_new()
46 IF 0 = gtk_builder_add_from_file(xml, FNam, @errr)
THEN
47 g_error(
"GTK-Builder: " & *errr->message)
50 g_application_quit(Appli)
54 WIN = gtk_builder_get_object(xml,
"WinMain")
55 ScrollMaps = gtk_builder_get_object(xml,
"ScrollMaps")
56 ScrollTracks = gtk_builder_get_object(xml,
"ScrollTracks")
57 STO = gtk_builder_get_object(xml,
"TSTracks")
58 TVT = gtk_builder_get_object(xml,
"TVTracks")
59 DTL = gtk_builder_get_object(xml,
"DialogTrackLoad")
60 DTP = gtk_builder_get_object(xml,
"DialogTrackPref")
61 LTD = gtk_builder_get_object(xml,
"LabelDesc")
62 LTE = gtk_builder_get_object(xml,
"LabelExtrema")
63 APW = gtk_builder_get_object(xml,
"AdjTrackPoint")
64 BPC = gtk_builder_get_object(xml,
"ColorTrackPoint")
65 CPD = gtk_builder_get_object(xml,
"ComboDiameter")
66 CPC = gtk_builder_get_object(xml,
"ComboColor")
67 ALW = gtk_builder_get_object(xml,
"AdjTrackLine")
68 BLC = gtk_builder_get_object(xml,
"ColorTrackLine")
69 TBL = gtk_builder_get_object(xml,
"TBLayer")
70 MAP = g_object_new(OSM_TYPE_GPS_MAP _
71 ,
"tile-cache", OSM_GPS_MAP_CACHE_AUTO _
74 OSD = g_object_new(OSM_TYPE_GPS_MAP_OSD _
75 ,
"show-scale", TRUE _
76 ,
"show-crosshair", TRUE _
80 ,
"show-gps-in-dpad", TRUE _
81 ,
"show-gps-in-zoom", FALSE _
82 ,
"show-coordinates", FALSE _
85 VAR mawi = GTK_WIDGET(MAP)
86 gtk_widget_set_size_request(mawi, PAR->MapW, PAR->MapH)
87 gtk_widget_set_can_focus(mawi, TRUE)
88 gtk_widget_set_focus_on_click(mawi, TRUE)
89 gtk_widget_grab_focus(mawi)
90 gtk_widget_add_events(mawi _
91 , GDK_BUTTON_PRESS_MASK + GDK_BUTTON_RELEASE_MASK _
92 + GDK_POINTER_MOTION_MASK + GDK_SCROLL_MASK _
93 + GDK_KEY_PRESS_MASK + GDK_KEY_RELEASE_MASK)
94 gtk_container_add(GTK_CONTAINER(gtk_builder_get_object(xml,
"BoxMain")), mawi)
95 gtk_widget_show_all(mawi)
99 ,
"font-type", PAR->InfoFontType _
100 ,
"font-size", PAR->InfoFontSize _
102 osm_gps_map_layer_render(OSM_GPS_MAP_LAYER(OSD), OSM_GPS_MAP(MAP))
104 VAR src1 = OSM_GPS_MAP_SOURCE_NULL
105 VAR listo = GTK_LIST_STORE(gtk_builder_get_object(xml,
"LSMaps"))
106 FOR i
AS INTEGER = 1
TO OSM_GPS_MAP_SOURCE_LAST - 1
107 IF 0 = osm_gps_map_source_is_valid(i)
THEN CONTINUE FOR
108 gtk_list_store_insert_with_values(listo, NULL, -1 _
109 , 0, osm_gps_map_source_get_friendly_name(i) _
112 IF 0 = src1
THEN src1 = i
115 ,
"map-source", src1 _
117 gtk_window_set_title(GTK_WINDOW(WIN), osm_gps_map_source_get_friendly_name(src1))
119 VAR sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(TVT))
120 gtk_tree_selection_set_select_function(sel, @
TVT_select(), NULL, NULL)
121 gtk_builder_connect_signals(xml, NULL)
125 gtk_application_add_window(GTK_APPLICATION(App), GTK_WINDOW(WIN))
152 IF Ind >
UBOUND(MapSlots)
THEN EXIT SUB
154 DIM AS OsmGpsMapPoint p0, p1
155 osm_gps_map_get_bbox(OSM_GPS_MAP(GUI->MAP), @p0, @p1)
174 IF Ind >
UBOUND(MapSlots)
THEN EXIT SUB
176 IF .La0 > PId2
THEN EXIT SUB