1
0
Fork 0
Commit graph

331 commits

Author SHA1 Message Date
James Turner
02c70ee05f Canvas SVG: fix parsing of elliptical arcs in paths
See discussion in https://sourceforge.net/p/flightgear/codetickets/2569/ 

Colin Geniet found and fixed this, and has audited existing FGaddon
aircraft against this (also the FG1000).
2021-04-01 12:17:41 +01:00
Henning Stahlke
b791ead702 Fix SVG parser crash on unsupported <defs> element. 2021-02-14 13:01:18 +01:00
James Turner
c6b8869fed Tooltips: set a flag when registering the commands
This allows the C++ side to avoid invoking the commands prematurely.
2021-01-08 19:35:09 +00:00
legoboyvdlp R
850b6910b0 Switch live WXR layer to new API after wunderground API was taken down 2020-10-26 09:55:16 +00:00
Stuart Buchanan
45b97601f2 Handle unusual use of - in .svg files
Previously valid SVG strings such as
m 547.56916,962.17731 c 10e-6,25.66886
M831,144.861c-0.236,0.087-0.423,0.255-0.629,

would fail to parse.

Fix by Henning STALHKE
2020-08-19 20:09:06 +01:00
James Turner
398d9cb486 Add ‘del’ method to SVGCanvas
From Henning Stahlke
2020-08-02 11:06:19 +01:00
Stuart Buchanan
78e9eff433 FG1000: Keyboard input for GCU 47X
From Julio Santa Cruz
2020-07-07 13:28:32 +01:00
Henning Stahlke
486797d6c6 extract base class SVGCanvas from EFIS framework to canvas/api/svgcanvas.nas 2020-07-06 10:09:33 +01:00
Henning Stahlke
63fc1cf06d move colors from draw.nas to api/colors.nas 2020-07-06 10:09:26 +01:00
Henning Stahlke
c93cf18842 bugfix canvas/gui.nas: rte on undefined member, remove unnecessary settimer call 2020-07-06 10:09:17 +01:00
Henning Stahlke
01811ec69a canvas/gui.nas add missing return values 2020-07-06 10:09:08 +01:00
James Turner
1cee9485c6 Fix Canvas-Map runway display.
Transformation was being applied twice.

Patch by Gaétan Allaert.
2020-07-01 11:44:22 +01:00
Henning Stahlke
5a5d958dd9 replace typeof() == foo with isFoo 2020-05-17 20:03:43 +01:00
Henning Stahlke
d1d3b6559e compass.nas: add font to style hash; efis-canvas.nas: improve font mapping 2020-05-05 13:52:06 +01:00
Henning Stahlke
67c83d020f make font_mapper more configurable 2020-05-05 13:52:00 +01:00
Henning Stahlke
551f4dab62 canvas/api/element.nas add getType 2020-04-30 08:59:25 +01:00
Henning Stahlke
e16bf79e91 move "hidden" constructor from api.nas to api/canvas.nas; add destructor support 2020-04-30 08:59:25 +01:00
Henning Stahlke
3892d2eddd move fontmapper function from svg.nas to api/text.nas so it is generally avail 2020-04-30 08:59:25 +01:00
Henning Stahlke
e996f4c8c6 add getTranslation and setGeoPosition to transform.nas, adapt element.nas accordingly;
improve readability and comments
2020-04-30 08:59:25 +01:00
Henning Stahlke
2eb4c78794 improve code readability 2020-04-30 08:59:25 +01:00
Henning Stahlke
1094e5214e split classes into separate files 2020-04-30 08:59:25 +01:00
Henning Stahlke
fba17e4d34 Replace printlog by logprint 2020-04-21 09:07:20 +02:00
Stuart Buchanan
3caa899068 FG1000 - NRST PFD Function
Implement the Nearest Airports PFD softkey, displaying a scrollable
list of the closest 25 airports within 200nm.

Also fix a couple of minor bugs and add self-checking to the
GroupElement
2020-03-12 21:39:23 +00:00
Stuart Buchanan
76cfa2c077 FG1000 and MFD handle non-MFD Emesary notifications
Previously the FG1000 and MFD assumed that all notifications received
via Emesary had a Device_Id field.  This is true for
notifications.PFDEventNotification.DefaultType but not for other
messages - e.g. those generated by the AN SPN 46  system on the
carrier.

The effect of this was that when Nimitz was loaded, the FG1000 stopped
working with various errors.

This fix checks the notification type before the Device_Id.
2020-03-12 17:25:34 +00:00
Henning Stahlke
f547786fe4 add canvas/draw.nas library 2020-03-08 21:02:44 +01:00
Henning Stahlke
43efd64dd2 add aspect ratio lock feature to canvas window; user window.lockAspectRatio() to activate 2019-11-06 22:59:08 +01:00
Julian Smith
e41c0f099b Nasal/canvas/tooltip.nas: handle multiple properties.
Allows sprintf string to contain multiple %'s, which are mapped to multiple
<property>...</property> tags.
2019-08-31 14:14:18 +01:00
James Turner
52373760e2 Canvas Map: tolerate empty paths in waypoints
This fixes bogus indexing warnings and thus Nasal failures when
processing certain kinds of FlightPlan leg, such as discontinuities
and skipped legs.
2019-06-24 16:39:51 +01:00
Henning Stahlke
6f4e7d91af canvas/api.nas add getSize() method 2019-05-05 23:19:37 +02:00
Stuart Buchanan
6b1db73423 FG1000 - Improved timers
Implement single timer for all highlighting of elements.
2019-03-12 20:33:35 +00:00
Henning Stahlke
bdbd3848af comments, bugfixes and use API 2019-02-27 08:09:25 +00:00
Henning Stahlke
fb73705281 svg.nas fix transformation problems and use setClipByBoundingBox() from API 2019-02-27 08:09:16 +00:00
Stuart Buchanan
9d353a3266 FG1000: GFC700 Autopilot Integration
Support for GFC700 autopilot.  Current modes that work: AP, FD, ROL, PIT, HDG, VS
2019-02-10 22:06:31 +00:00
Henning Stahlke
72c4bde6e9 gui.nas use API functions 2019-01-13 21:03:32 +01:00
Henning Stahlke
9a4b898a27 svg.nas use setText method 2019-01-13 21:03:31 +01:00
Henning Stahlke
f8eb701d62 api.nas fix typos 2019-01-08 09:18:24 +00:00
Henning Stahlke
28183b7575 canvas/api.nas add setClipByBoundinbox and setClipByElement function 2019-01-07 18:00:08 +00:00
Henning Stahlke
a91ebe4676 canvas/svg.nas add optional basic support for linked images
canvas/api.nas add alternative signature for ellipse and circle
2018-12-16 02:15:35 +01:00
Henning Stahlke
f3548c561e canvas/api.nas: add square, ellipse and circle to path; update svg.nas accordingly 2018-12-08 19:55:08 +01:00
Henning Stahlke
f6e3628b50 add Window.getSize() to canvas/gui.nas 2018-12-08 16:55:38 +01:00
Henning Stahlke
cce5b4ca1f canvas/gui.nas prevent runtime error 2018-12-04 14:47:20 +01:00
Henning Stahlke
37adcd8051 canvas/svg.nas add support for circle und ellipse 2018-11-30 19:35:22 +01:00
Scott Giese
43ac415a8a Bug Fix: #1732 Nasal runtime error with hovered tooltip 2018-10-03 01:49:50 -05:00
Richard Harrison
66c15d5b89 Canvas NavDisplay (map) fix nil waypoint when only one waypoint in flightplan.
Without this it will cause a nil dereference resulting in

Nasal runtime error: non-objects have no members
  at D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/map/WPT.lcontroller, line 57
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/map/WPT.lcontroller, line 79
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/MapStructure.nas, line 1088
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/geo.nas, line 384
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/MapStructure.nas, line 1051
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/MapStructure.nas, line 1059
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/canvas/map/WPT.lcontroller, line 26
  called from: D:/Program Files/FlightGear 2018.2.2/data/Nasal/globals.nas, line 119
2018-09-29 13:41:01 +02:00
Thorsten Renk
a91bb4caa0 Update canvas dialog widget lib 2018-09-01 09:49:16 +03:00
Richard Harrison
6431d36166 Generic MFD: Nav display optimisation
Change the NavDisplay so that the updates are paused when not being displayed.
2018-04-30 11:42:19 +02:00
Stuart Buchanan
8fdffa16e6 FG1000 - Fix 3D model GDUs, find nearest ID on DTO 2018-04-29 21:15:18 +01:00
Stuart Buchanan
aa14289a79 FG1000: NDB and VOR Info pages, improved VOR icons 2018-04-16 13:38:41 +01:00
Stuart Buchanan
63ee35becd FG1000 - Improvements to Checklists page, softkeys 2018-04-12 22:26:58 +01:00
Stuart Buchanan
7f09b1f3c6 FG1000: Active Flight Plan MFD Page
- View and edit the active flightplan
2018-04-06 19:52:18 +01:00
Stuart Buchanan
60352375d0 FG1000 - PFD Flightplan and improved GroupElement 2018-03-25 17:55:03 +01:00
Thomas Geymayer
8eb3707042 canvas.gui: Fix warning when deleting widget after canvas 2018-02-27 08:42:34 +01:00
Stuart Buchanan
91dd762736 Support for Runway numbers on RWY MapStructure layer
- Change getInstance to getOrCreateInstance for FG1000.
- Implement runway numbering on AirportInformation page.
2018-02-18 21:41:17 +00:00
Thorsten Renk
b09fcb593d Start adding widget collection for aircraft-side canvas dialogs 2018-02-11 10:04:08 +02:00
Stuart Buchanan
c8072e5e2c Fix badly flashing UI elements due to timers 2018-02-04 22:40:48 +00:00
Stuart Buchanan
e7a0fba8ac FG1000-specific VOR symbols. 2018-02-03 20:26:26 +00:00
Stuart Buchanan
339064ce31 VOR symbology and Nearest VOR page. 2018-02-03 20:25:48 +00:00
Stuart Buchanan
6f6cc8f925 NDB Symbol for MapStructure Layers 2018-02-02 16:06:15 +00:00
Stuart Buchanan
67b95bb1fe Fix highlighting of arrow elements 2018-02-01 22:28:39 +00:00
Stuart Buchanan
655c8719dc Additional style options for FIX MapStructure layer 2018-01-31 22:46:32 +00:00
Stuart Buchanan
d244358320 Fix COM toggle and increase map coverage to MFD. 2018-01-30 21:00:01 +00:00
Stuart Buchanan
183f5e2112 Add simple GPS leg Map Structure layer. 2018-01-29 20:44:36 +00:00
Thomas Geymayer
f8b0c5548c parsesvg: use new stroke-opacity and fill-opacity properties 2018-01-29 09:12:09 +01:00
Stuart Buchanan
ee69231220 Direct To part 2 - Waypoint Submenu 2018-01-27 21:55:22 +00:00
Stuart Buchanan
da252c8a18 Initial Direct To page - non-functional. 2018-01-26 19:06:06 +00:00
Stuart Buchanan
cbb281759c NAV/COM Radio support
Add NAV/COM 8.33MHz radio support and integration
with the property trees for radios.

Also general cleanup.
2018-01-13 18:53:06 +00:00
Stuart Buchanan
ad77dc2f9c Modify FG1000 EIS to use Emesary,
- New Emesary notificaion type for engine data
- New Canvas PFD UI Elements - Pointer, Rotating
- Upate EIS to use above.
2018-01-03 20:24:41 +00:00
Stuart Buchanan
9eb91171b4 FG1000 Nearest Airports page
- DTO MapStructure layer to provide a DTO line to a lat/lon
- Support for scrolling lists in the PFD/GroupElement
- Support MAP (NavigationMap) and ENGINE (EIS) soft-keys from other pages.
2017-12-31 16:10:52 +00:00
Stuart Buchanan
475fd50585 PFD UI Elements and NearestAirports page 2017-12-27 19:51:54 +00:00
Stuart Buchanan
3d31775ff3 Initial commit of FG1000 MFD 2017-11-24 23:04:46 +00:00
Stuart Buchanan
1e69f3eb75 Fix handling of multiple MFDs
Found by chance during code read.  Untested, but surely correct.
2017-11-17 15:53:26 +00:00
Richard Harrison
8dafff9933 MFD framework - add support for Emesary
Allow a MFD to be controlled via Emesary notifications (notifications.PFDEventNotification);

Notification needs to be constructed with the following parameters;

1 - MFD designation (text; name of MFD)
2 - MFD identity (int, id of the MFD within the model). Default 1; same as used when creating the MFD
3 - Event type (PFDEventNotification.SoftKeyPushed, notifications.PFDEventNotification.ChangeMenuText
4 - Event parameter.
  a) for PFDEventNotification.SoftKeyPushed an int identifying the button
  b) for notifications.PFDEventNotification.ChangeMenuText a hash array containing the menu ID and the new text (e.g. [{ Id: 1, Text: "NNN"}])

Method obj.PFD.RegisterWithEmesary(emesary.GlobalTransmitter) need to be called to connect the MFD to a transmitter
2017-11-16 02:57:13 +01:00
Stuart Buchanan
4bd57492f4 Add Lat/Lon grid MapStructure layer. 2017-10-15 21:54:05 +01:00
Stuart Buchanan
d84c527ca7 Canvas MapLayers for Airport
Add RWY, TAXI, TWR, PARKING map layers
Add new static position controller
Update Select Airport dialog to use new MapLayers.
2017-10-13 17:38:27 +01:00
Stuart Buchanan
e38ec03c60 Add STAMEN layer. Patch by Slawek MIKULA. 2017-10-02 20:34:31 +01:00
Stuart Buchanan
a622f6f37e Add zoom limits for SlippyMap layers 2017-10-02 20:25:11 +01:00
Stuart Buchanan
5ec53b4c36 Fix FIX label location. Patch from Slawek MIKULA 2017-10-02 20:22:06 +01:00
Stuart Buchanan
2fbc1dc491 Add VFR charts to Canvas Maps
Also add limits to zoom function.
2017-09-28 18:11:41 +01:00
Stuart Buchanan
85b7665c19 Add Canvas Map Support for Slippy Map
- Include OSM and OpenAIP in the canvas-map dialog.
2017-09-28 15:38:03 +01:00
James Turner
3201c14768 Fix for sticking message tooltip.
Distinguish the popup types, and don’t allow mouse movement to change
the hide timer when the active tip is a message.
2017-05-30 00:20:14 +01:00
James Turner
cc14717930 Fix to Canvas-GUI window transparency
Separate the window titlebar from the main background area, so the
transparency of each can be set independently.

From Henning Stalkhe.
2017-05-29 08:24:22 +01:00
Thorsten Renk
1fad428a27 Special purpose faster canvas text setting methods 2017-03-19 16:23:35 +02:00
Torsten Dreyer
ff77af8abe assign a name to the tooltip canvas 2017-02-20 19:22:53 +01:00
James Turner
51e2ddc8ba Revert "Use new canvas Path rect/SVG support."
Don't use the built-in SVG/rect parser, since this bypasses creating
coordinate / command properties which some Canvas users rely upon.

This reverts commit 57a2d21ddf.
2017-01-23 17:51:39 +00:00
Richard Harrison
ea32a92fe7 Generic MFD : Added optional parameter to update method
When using a data provider, or Emesary it is useful to be able to pass an optional element into the update method for the pages.
2017-01-04 02:19:32 +01:00
James Turner
57a2d21ddf Use new canvas Path rect/SVG support. 2016-12-16 19:34:16 +00:00
Gijs de Rooy
109e452424 Navdisplay:
- properly referencing the canvas namespace, so that the ND module can be separately included via io.include()
- moving the initialization of aircraft specific SVG elements into the navdisplay.styles file, and the corresponding Boeing/Airbus entries there (see initialize_elements())
2016-10-16 16:57:16 +02:00
Gijs de Rooy
d14b0e73ad Navdisplay: fix navaid ranges for Airbus 2016-10-09 14:12:41 +02:00
Gijs de Rooy
7d7294da89 Navdisplay: fix navaid ranges 2016-10-08 20:47:07 +02:00
John Williams
fc616b19a9 Restored missing markings in GS and centered VOR/LOC displays in APP and VOR modes for Boeing canvas ND 2016-07-07 12:42:55 -07:00
Richard Harrison
94334ec5fc Generic MFD: Add Canvas NavDisplay
This links together the generic MFD and the NavDisplay; it allows a fairly easy method to add a Map page to an MFD device.

----------------------
See: http://wiki.flightgear.org/Canvas_MFD_Framework
----------------------
Instantiate parameters:
  1. pfd_device (instance of PFD_Device)
  2. instrument display ident (e.g. mfd-map, or mfd-map-left mfd-map-right for multiple displays) - used to map to the property tree
  3. layer_id: main layer  in the SVG
  4. nd_group_ident : group (usually within the main layer) to place the NavDisplay
  5. [optional] switches - used to connect the property tree to the nav display. see the canvas nav display.

To add a canvas nav display page simply do

me.some_page =  PFD_NavDisplay.new(me.PFD,"Situation", "mpcd-sit", "ID", "jtids_main");
2016-05-17 11:15:53 +02:00
James Turner
91da4a1378 Lower default canvas Map debug level
Info-level should not log messages continuously, which some map
operations do, so lower the default to ‘debug’.
2016-04-17 18:16:08 +01:00
Michael Soitanen
0a4d099dc7 ND: Position trend vector. Correct drawing in case of small radius. 2016-03-28 15:26:27 +02:00
Gijs de Rooy
da50e51aa3 Fix #1823: prevent 16-bit overflow by navdisplay trend vector 2016-01-24 17:36:31 +01:00
James Turner
bd1fa5b201 (from Denk Padje)
a small patch here that uses math.round() instead of int() for "percent"
mapping in Canvas tooltip.
2016-01-15 19:35:48 -06:00
Erik Hofman
41562e4b87 Gilberto Agostinho:
I created a substantial quantity of new work in the New Regional
Textures project and I would like to ask if anyone could review and
perhaps commit them into FGDATA. The modifications are:

- New textures and material definitions for California
- New textures and material definitions for Mexico
- New material definitions for Central America
- New textures and material definitions for Southern Europe
(Mediterranean region: Portugal, Spain, south of Italy, Greece, coast of
Balkans)
- New airport grass texture (global)
- New airport grass texture for Latin America
- New American town texture (global)
- Small improvement to grass blade textures (to better fit the airport
grass texture)

If this will be committed, we must add a note thanking the United States
Geological Survey (USGS) for the satellite images of California (
http://www.usgs.gov/ ) to the Thanks file.
2015-12-30 17:13:18 +01:00
Gijs de Rooy
48fe7a838e Navdisplay: issue #1822, display altitude range arc on centered mode 2015-12-14 15:03:15 +01:00
Michael Soitanen
77abdbe7e8 NavDisplay: Wind direction in Boeing mode now have degree symbol. Position trend vector is not computed with groundspeed less than 100kts to remove possible error with lateral slope runways. Corrected postion trend vector lenght on range smaller than 10 nm 2015-12-10 17:19:20 +01:00
Michael Soitanen
676a40f912 NavDisplay: Added mode, when heading bug is always displayed regardless of track-heading switch. Switched off by default. 2015-11-30 13:34:54 +01:00
Gijs de Rooy
34b957e63b Navdisplay: add position trend vector to MAP 2015-11-30 13:29:44 +01:00