diff --git a/conf/airframes/microjet6.xml b/conf/airframes/microjet6.xml
index afa2c805d0..ae5eb44ba1 100755
--- a/conf/airframes/microjet6.xml
+++ b/conf/airframes/microjet6.xml
@@ -161,7 +161,7 @@
-
+
@@ -261,7 +261,7 @@ ap.srcs += gyro.c
ap.CFLAGS += -DUSE_SPI -DSPI_MASTER -DUSE_SPI_SLAVE0 -DUSE_BARO_MS5534A
ap.srcs += spi.c $(SRC_ARCH)/spi_hw.c $(SRC_ARCH)/baro_MS5534A.c
-ap.srcs += bomb.c
+ap.srcs += nav_line.c
# Harware In The Loop
@@ -272,7 +272,7 @@ ap.srcs += bomb.c
# Config for SITL simulation
include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile
sim.CFLAGS += -DCONFIG=\"tiny.h\" -DAGR_CLIMB -DH_CTL_RATE_LOOP -DLOITER_TRIM -DALT_KALMAN -DIR_360 -DUSE_BARO_MS5534A
-sim.srcs += nav_survey_rectangle.c $(SRC_ARCH)/sim_baro.c bomb.c
+sim.srcs += nav_survey_rectangle.c $(SRC_ARCH)/sim_baro.c bomb.c nav_line.c
diff --git a/conf/flight_plans/basic.xml b/conf/flight_plans/basic.xml
index b01ec49cb7..10aaa78b60 100644
--- a/conf/flight_plans/basic.xml
+++ b/conf/flight_plans/basic.xml
@@ -1,6 +1,6 @@
-
+
@@ -31,13 +31,13 @@
-
+
-
+
@@ -46,12 +46,12 @@
-
+
-
+
diff --git a/conf/flight_plans/flight_plan.dtd b/conf/flight_plans/flight_plan.dtd
index 1fb70f897a..2c135c8ad2 100644
--- a/conf/flight_plans/flight_plan.dtd
+++ b/conf/flight_plans/flight_plan.dtd
@@ -82,6 +82,7 @@ file CDATA #REQUIRED>
-
@@ -50,7 +49,7 @@
-
+
@@ -116,10 +115,10 @@
-
+
-
+
diff --git a/conf/gcs/horizontal.xml b/conf/gcs/horizontal.xml
index 5e619645ee..40ae5e3c95 100644
--- a/conf/gcs/horizontal.xml
+++ b/conf/gcs/horizontal.xml
@@ -6,10 +6,9 @@
-
-
+
diff --git a/conf/settings/basic.xml b/conf/settings/basic.xml
index 4a00be85a4..65b598c301 100644
--- a/conf/settings/basic.xml
+++ b/conf/settings/basic.xml
@@ -12,9 +12,12 @@
-
+
+
+
+
+
-
diff --git a/conf/settings/settings.dtd b/conf/settings/settings.dtd
index 4741283b3f..b8c11b8bab 100644
--- a/conf/settings/settings.dtd
+++ b/conf/settings/settings.dtd
@@ -34,6 +34,7 @@ auto CDATA #IMPLIED
diff --git a/sw/ground_segment/cockpit/live.ml b/sw/ground_segment/cockpit/live.ml
index 6037cb38c0..feccc020c6 100644
--- a/sw/ground_segment/cockpit/live.ml
+++ b/sw/ground_segment/cockpit/live.ml
@@ -272,10 +272,10 @@ let mark = fun (geomap:G.widget) ac_id track plugin_frame ->
(** Light display of attributes in the flight plan. *)
let attributes_pretty_printer = fun attribs ->
- (* Remove the "no" an "strip_button" attributes *)
+ (* Remove the "no", "strip_icon" and "strip_button" attributes *)
let valid = fun a ->
let a = String.lowercase a in
- a <> "no" && a <> "strip_button" in
+ a <> "no" && a <> "strip_icon" && a <> "strip_button" in
let attribs = List.filter (fun (a, _) -> valid a) attribs in
@@ -386,11 +386,23 @@ let create_ac = fun alert (geomap:G.widget) (acs_notebook:GPack.notebook) (ac_id
fp#waypoints;
(** Add the short cut buttons in the strip *)
- List.iter (fun b ->
- try
- let label = ExtXml.attrib b "strip_button"
- and id = ExtXml.int_attrib b "no" in
- let b = GButton.button ~label () in
+ let tooltips = GData.tooltips () in
+ List.iter (fun block ->
+ try (* Is it a strip button ? *)
+ let label = ExtXml.attrib block "strip_button"
+ and id = ExtXml.int_attrib block "no" in
+ let b =
+ try (* Is it an icon ? *)
+ let icon = Xml.attrib block "strip_icon" in
+ let b = GButton.button () in
+ ignore (GMisc.image ~stock:(`STOCK icon) ~packing:b#add ());
+
+ (* Associates the label as a tooltip *)
+ tooltips#set_tip b#coerce ~text:label;
+ b
+ with
+ Xml.No_attribute _ -> (* It's not an icon *)
+ GButton.button ~label () in
strip#add_widget b#coerce;
ignore (b#connect#clicked (fun _ -> jump_to_block ac_id id))
with
@@ -402,7 +414,7 @@ let create_ac = fun alert (geomap:G.widget) (acs_notebook:GPack.notebook) (ac_id
(ac_notebook:GPack.notebook)#append_page ~tab_label:fp_label#coerce fp#window#coerce;
let infrared_label = GMisc.label ~text: "Infrared" () in
- let infrared_frame = GBin.frame ~shadow_type: `NONE
+ let infrared_frame = GBin.frame ~show:false ~shadow_type: `NONE
~packing: (ac_notebook#append_page ~tab_label: infrared_label#coerce) () in
let ir_page = new Pages.infrared infrared_frame in
diff --git a/sw/ground_segment/cockpit/pages.ml b/sw/ground_segment/cockpit/pages.ml
index 098deadcf7..7e1f933e94 100644
--- a/sw/ground_segment/cockpit/pages.ml
+++ b/sw/ground_segment/cockpit/pages.ml
@@ -297,7 +297,18 @@ let one_setting = fun i do_change packing s (tooltips:GData.tooltips) strip ->
assert(ExtXml.tag_is x "strip_button");
let label = ExtXml.attrib x "name"
and sp_value = ExtXml.float_attrib x "value" in
- let b = GButton.button ~label () in
+ let b =
+ try (* Is it an icon ? *)
+ let icon = Xml.attrib x "icon" in
+ let b = GButton.button () in
+ ignore (GMisc.image ~stock:(`STOCK icon) ~packing:b#add ());
+
+ (* Associates the label as a tooltip *)
+ tooltips#set_tip b#coerce ~text:label;
+ b
+ with
+ Xml.No_attribute _ ->
+ GButton.button ~label () in
(strip b#coerce : unit);
ignore (b#connect#clicked (fun _ -> do_change i sp_value)))
(Xml.children s);