1
0
Fork 0
Commit graph

171 commits

Author SHA1 Message Date
Thomas Geymayer
7e2c93825f canvas.gui: restructuring, fixing and new Label widget. 2014-06-09 01:00:21 +02:00
Philosopher
501f8ba881 MapStructure: a few WPT/RTE bugfixes 2014-06-06 21:19:12 -05:00
Thomas Geymayer
f91d439ac0 canvas.gui: Update ScrollArea for layouting system. 2014-06-05 17:33:44 +02:00
Thomas Geymayer
c226e171ca canvas.gui: tweaking and testing widget/layout stretch. 2014-06-04 17:53:52 +02:00
Thomas Geymayer
c3a65442b1 canvas.gui: Update for core changes and use new layouting system 2014-06-03 19:30:30 +02:00
Philosopher
f0d44ae8fe Lots lots more MapStructure changes
Fix the main bugs, add features and convert most of the layers.
Move/refactor some things as well. Add a canvas map dialog next to the
built-in one -- it's not 100% functional but it's quite close actually.

As before, the excitement has been taking place at our team clone.
https://gitorious.org/fg/canvas-hackers-fgdata/commits/0b4cc84
(topics/canvas-map-dialog branch this time, current HEAD in above URL.)
2014-05-25 14:27:11 -05:00
Hyde Yamakawa
c572c0e6d3 Add IFR symbols set based on Jeppessen IFR Glossary. 2014-05-17 06:50:29 -04:00
Philosopher
37c005c222 Many MapStructure/NavDisplay updates
See the clone at https://gitorious.org/fg/canvas-hackers-fgdata/source/topics/canvas-radar:
2014-04-28 21:39:00 -05:00
Hyde Yamakawa
78ea19de4d Add IFR Basic Symbols Set and VFR Aopa's Set svg for canvas 2014-04-21 07:31:06 -04:00
Philosopher
6e17a1d2cb Initial Nasal REPL work (canvas-based)
Features:
- Various configurable styles.
- Working scroll bars, thanks to Tom
- Adequate REPL-ness.

See the wiki for more information!
http://wiki.flightgear.org/Interactive_Nasal_Console

N.B. This makes some (sane) changes to other Nasal files, including
expanding some of the Canvas API.
2014-04-18 16:49:11 -05:00
Thomas Geymayer
a5401c19c7 canvas: update for new bounding box getters. 2014-03-31 13:34:50 +02:00
Hyde Yamakawa
da76bc635e Canvas ND:GS pointer, LOC pointer and dme source fix from Soitenen 2014-03-25 17:55:06 -04:00
Thomas Geymayer
04c40a4232 canvas.gui.ScrollArea: check for valid content bounding box. 2014-03-24 00:18:29 +01:00
Thomas Geymayer
e593ee2c30 canvas.gui: Update for 'file'->'src' rename. 2014-03-20 11:46:48 +01:00
Thomas Geymayer
cf05294b84 canvas.gui: Basic demo showing how to use windows and widgets. 2014-03-19 23:51:34 +01:00
Thomas Geymayer
d7ddeb7183 canvas.gui: Basic ScrollArea widget. 2014-03-19 23:51:33 +01:00
Thomas Geymayer
313175b943 canvas: add helper to get translation of canvas.Elements. 2014-03-19 23:51:19 +01:00
Hyde Yamakawa
db3948728c CanvasND: Add 777 track bug implementation 2014-02-23 23:56:25 -05:00
Hyde Yamakawa
3b9b9988ad Fix of previos canvas mod, PLAN mode change 2014-02-23 13:43:54 -05:00
Hyde Yamakawa
8b691f6e60 CanvasND fixes #1317,1325 and wind ind, active WP, route discrepancy 2014-02-23 00:02:28 -05:00
Gijs de Rooy
79726c6ec6 NavDisplay: 4 -> 6 on compass 2014-02-16 18:57:47 +01:00
Gijs de Rooy
9d64f98090 NavDisplay: waypoint drawing fix 2014-02-16 17:23:13 +01:00
Gijs de Rooy
69280a75c9 NavDisplay: fix route drawing 2014-02-13 19:36:27 +01:00
Gijs de Rooy
c7007cd545 NavDisplay fixes:
- correct VOR/ADF pointer and ILS rotation center
- display proper ETA hours
- fix DME range property
2014-02-11 19:45:39 +01:00
Philosopher
6de533b71b Canvas ND: disable MapStructure TFC layer 2014-02-10 16:00:34 -06:00
Thomas Geymayer
bab393aa0c Canvas/SVG parser: fix bounding box and rotation center.
- Calculate bounding box after adding all children.
 - Apply rotation after all SVG defined rotations to use correct
   center of rotation (as defined in Inkscape)

This (together with the SimGear and FlightGear commits) fixes
the core problems of #1333.
2014-02-08 00:43:13 +01:00
Gijs de Rooy
4d7509e198 NavDisplay bug fixes:
- tru/mag and hdg/trk are now correctly handled
- heading 000 is replaced by 360
- NM font size fixed
- several rotation centers fixed
2014-02-04 22:07:35 +01:00
Philosopher
73c21e0df4 Remove canvas.Map.df_controller 2014-02-02 12:25:45 -06:00
Gijs de Rooy
653d86db46 NavDisplay bug fixes:
- NM font correction
- Range displayed in PLAN mode
- ETA seconds format correction
- Calculate wind arrow based on track/heading
2014-01-31 23:36:41 +01:00
Philosopher
83d53e906d Canvas ND: fix altitude as rotation bug
;-)
2014-01-28 19:39:20 -06:00
Philosopher
4a2dab6f21 Canvas ND: small tweaks 2014-01-27 20:53:46 -06:00
Philosopher
0d4a86e3d4 Canvas ND: use MapStructure for TFC, other misc.
Implement traffic in MapStructure and use it. Various other hacks and/or
cleanup. Feedback required on whether this is a lot better than before.

Also partially revert 9c018d94c4d88dad7476ec250fa3b52024526f4b to add
feature to geo.PositionedSearch: it me._equals is overridden then the
old mechanism is used instead of the new C++ function, so that the
custom equality can be used. (In particular for the Fixes with the
TrafficModel class).
2014-01-26 20:26:25 -06:00
Hyde Yamakawa
21fe2f4489 Add altitude profile T/C, T/D, S/C and E/D mark on ND route 2014-01-26 12:07:18 -05:00
Philosopher
381aeb918e Canvas ND: keep canvases through reinit
Make fdm listener single-fire, don't listen to /sim/signals/reinit. This
allows the Canvas to stay with the same placement through reinit, after
both the 777 and 747 were having problems. I don't see any reason for
having to recreate it all, and the cleanup function is still there (e.g.
for independent windows, to have their .del() call the ND's .del()).

renamed handle_reinit() -> del()
2014-01-25 21:13:49 -06:00
Philosopher
99fb72d26a Canvas ND: obey traffic switch 2014-01-25 19:24:30 -06:00
Philosopher
a4f289ecee Canvas ND: Do del() on reinit
This also makes sure the /canvas/by-index/canvas[3/4]/ nodes are removed
and then recrated, as well as making sure the MapStructure del() path is
followed and working. Unfortunately the NDs are still blank after reinit.
2014-01-23 21:21:49 -06:00
Thomas Geymayer
e7900e3791 Canvas: remove API for FlightGear 2.8
The old API is not used with newer versions of FG. If an old
version of FG is used, also the according version of fgdata
should be used, which also includes the correct API wrappers.
2014-01-20 23:25:15 +01:00
Gijs de Rooy
73c2c0c8bb Navigation display: fix map range, hide HDG bug after 10 sec, fix route predicates, fix SVG centers 2014-01-18 15:22:42 +01:00
Philosopher
7ca8482b07 MapStructure work & (partial) integration
In time for 3.0. The API is still not fully complete, and not fully
cleaned up, but this is good enough for this release cycle (and it
should offer benefit longer term, if not now -- hopefully performance as
well).

Many thanks to Hooray as well, who has helped prepare things while I
could not, and often suggested ideas.
2014-01-09 21:24:22 -06:00
Gijs de Rooy
9af485ad93 Navigation display:
- remove debug prints
- proper ADF/ILS display
- add LCD/CRT option
- fix ranges
2014-01-08 21:45:48 +01:00
Gijs de Rooy
2b6964911f Boeing ND:
- add VOR, APP, PLAN and CTR modes.
- add true/mag switch
- display waypoint altitudes
2013-12-28 16:18:35 +01:00
James Turner
163b8ca6d8 Bug 1273, message popups hide timeout ignored.
Stop the tooltip code from prematurely hiding message popups.

https://code.google.com/p/flightgear-bugs/issues/detail?id=1273
2013-12-09 22:02:06 +00:00
Gijs de Rooy
c409864dac Navigation display:
- move SVG to Canvas directory
- add basic wxradar
- differentiate between track and heading
- improve altitude arc
- add range arcs
- display correct ETA for next waypoint
2013-12-04 23:22:51 +01:00
Thomas Geymayer
748f1d4d29 parsesvg: rename canvas.num to canvas.evalCSSNum 2013-12-01 14:05:12 +01:00
Tomash Brechko
2e6ba5f8c0 SVG parser: Add num() wrapper for <rect> attributes. 2013-12-01 14:05:11 +01:00
Gijs de Rooy
a9576e8c8d Canvas Navigational Display:
- get rid of global variables and use instance variables
- identified all important drawing routines and move them into *.draw files
- changed to dynamic loading of *.draw *.model and *.layer files
- implemented poor-man's controller hash to move use-case specific conditionals out of the draw files, and back into the instantiation, i.e. Gijs' EFIS class
- started identifying stuff that is not specific to drawing, but to what is to be drawn, i.e. Model stuff - such as positioned queries, moved those out into *.model files
- some more work on supporting more than a single ND MFD instance per aircraft
- renamed a handful of SVG identifiers to avoid naming conflicts and to simplify usage of SVG IDs as member fields
- moved all of the setlistener setup out of the fdm-initialized stub right into the ctor of the Efis class (actually that's controller stuff...)
- initial MapStructure framework
- aircraft-agnostic NavDisplay class
- preparations for deprecating map.nas
- additions to canvas.map
- preparations for making NDStyles configurable via XML
2013-12-01 13:36:23 +01:00
Thomas Geymayer
9687784128 Canvas API: constants for clip-frame reference frames 2013-11-03 21:01:33 +01:00
James Turner
74e49dd65d Avoid tooltip breakage when property is nil 2013-10-25 17:19:35 +01:00
Thomas Geymayer
5f54a68491 Canvas: add helper to get parent of canvas.Element 2013-10-23 17:33:12 +02:00
Thomas Geymayer
7e0797b1be svg parser: read line-height 2013-10-20 23:41:19 +02:00
Philosopher
24ab67fa32 Use resolvepath() for canvas SVGs 2013-10-06 11:52:30 -05:00
Philosopher
b4675c62b2 Fix popupTip handling
delay argument was being ignored and popdown didn't work anymore.
2013-09-27 12:09:44 +02:00
Thomas Geymayer
078e422faa Canvas GUI: check if canvas is valid on resize. 2013-07-27 22:23:00 +02:00
Thomas Geymayer
b8d6997497 Canvas GUI: mouse based window resizing. 2013-07-27 12:58:02 +02:00
Thomas Geymayer
a13add166b Canvas GUI: Basic widget, focus and theming support. 2013-07-27 12:57:52 +02:00
Thomas Geymayer
187883563a Canvas GUI: update window for core change (size -> content-size). 2013-07-27 00:33:08 +02:00
Thomas Geymayer
589d021e1c Canvas API: access to canvas "desktop". 2013-07-25 01:02:37 +02:00
Thomas Geymayer
7bf96db691 canvas.Window: Do not delete canvas on close if other placements exist. 2013-07-21 11:33:47 +02:00
Thomas Geymayer
c8a5c507bc Canvas: Fix placing existing canvas on window.
- Canvas window placements now use 'id' instead of 'index'...
 - Provide Dialog class for backwards compatibilty (but print a
   warning that it will be removed)
2013-07-20 18:10:31 +02:00
Thomas Geymayer
68efae1cd8 canvas.parsesvg: fix handling text without tspan or empty text. 2013-07-20 00:54:42 +02:00
Thomas Geymayer
ce4d7964f6 canvas.parsesvg: Be more tolerant instead of failing.
- Remove 'px' suffix from numbers to be used as valid numbers.
 - Automatically update the rotation center if it the according
   values are present.
 - Fix text only partially set if containing xml entities.
2013-07-15 22:37:05 +02:00
Thomas Geymayer
4a6cbb8ff1 Canvas GUI: set standard alpha blending as default inside windows 2013-07-14 13:44:34 +02:00
Thomas Geymayer
d580464095 Prevent name clash with future canvas.gui namespace. 2013-07-04 21:58:00 +02:00
Thomas Geymayer
eaf4c60cfb Canvas GUI: don't drag window on close button. 2013-06-29 14:49:43 +02:00
Thomas Geymayer
d7d871cc83 Canvas API: do not skip first index for cmds/coords
Start cmd/coord indices really at 0 and allow removing first/last
segment.
2013-06-27 23:16:45 +02:00
Thomas Geymayer
35a2045123 Update for core changes 2013-06-14 20:32:14 +02:00
Thomas Geymayer
c759a3e57f Canvas window: allow gc to release resources 2013-06-08 13:08:16 +02:00
Thomas Geymayer
ca5c8463ab Use integer coordinates for placing canvas dialog title 2013-06-07 00:20:09 +02:00
Thomas Geymayer
72e3937ec6 Basic window decorator with title bar and close button.
Extend the canvas.Window class to create a simple window decoration
if a type for it (currently every type maps to the same style) is
given. It supports moving the window by dragging inside the title
bar and setting a window title.
2013-06-06 23:27:11 +02:00
James Turner
7e0a45c798 Tooltips and knobs for the C172P.
This is proof of concept, not a complete conversion.
2013-04-06 17:36:25 +01:00
James Turner
e740b916d3 Make tooltip also work for on-screen messages.
Required new (in flightgear) Nasal timer to work, so make sure your fg is up-to-date.
2013-03-16 12:48:15 +00:00
Thomas Geymayer
0980f6302a Rework tooltip size calculations to get rid of delayed update. 2013-03-11 19:25:39 +01:00
James Turner
5b84e09572 Fix phantom tooltips, more mapping modes.
Null the tooltip ID in update-hover, regardless of visibility. Avoids later tooltips when picking other (tooltip-less) pickable objects.

Also add two more mapping models for bools: up-down and down-up.
2013-03-11 17:19:32 +00:00
James Turner
7679078aa7 Tooltip tweaks
add a 'heading' mapping mode, normalises to 0..360
support a 'measure text' property used to compute the tooltip size (and hence avoid visual jitter when value is changed)
2013-03-10 10:13:47 +00:00
Thomas Geymayer
226d11b104 Tooltips: Use (hopefully) nice background image for tooltips. 2013-03-09 14:03:33 +01:00
Thomas Geymayer
bf3cd83c61 Canvas API: allow passing image size as vector 2013-03-09 14:03:32 +01:00
James Turner
72a1a0047e Work on tooltips, mouse-input config. 2013-03-08 16:47:00 +00:00
James Turner
ce2d316e6d Tooltip class.
This is work in progress, and not visible without additional patches.
2013-03-07 19:51:06 +00:00
Christian Schmitt
312862271d Position tower on canvas map at the correct place, not at the airport center 2013-03-01 17:16:01 +01:00
Christian Schmitt
0484849b67 Add helipads to the canvas map (grey rectangle for now). 2013-03-01 14:54:33 +01:00
Christian Schmitt
9dff0b4221 Canvas map: cleanup the runway routines. Simplify by using new functions and two runway ends 2013-03-01 14:54:13 +01:00
Christian Schmitt
51936dcff1 Adapt Canvas map to changed runway/taxiway internals 2013-02-28 13:39:07 +01:00
Thomas Geymayer
7027c604de Tweak SVG parser id handling of text elements 2013-02-23 20:05:13 +01:00
Thomas Geymayer
71f3f878c6 SVG rect rounded corner and refactor rect helper 2013-02-23 19:19:53 +01:00
Thomas Geymayer
5d54d3c504 Improve SVG/Inkscape text parsing/interpretation 2013-02-23 18:27:35 +01:00
Thomas Geymayer
95109b7b0c Fix parsing multiple SVG transforms and implement scale and rotation 2013-02-23 14:46:26 +01:00
Thomas Geymayer
0bb3a1fe95 Remove CanvasText space hack.
With corrected alginment calculations within latest SimGear this
hack is not needed anymore.
2013-02-09 12:25:28 +01:00
Thomas Geymayer
4374ab0ce8 Use new built-in string functions 2013-01-31 22:56:43 +01:00
Thomas Geymayer
91ae186330 Canvas API: draw (rounded) rect and rename Dialog to Window.
- std.string:
   * Add method compare
   * Add method starts_with
 - canvas.Group:
   * Add method rect for drawing (rounded) rectangles
 - Rename canvas.Dialog to canvas.Window to free the name Dialog
   for real dialogs.
2013-01-22 18:02:20 +01:00
Thomas Geymayer
23c72fd53b Fix #956, cleanup canvas map listeners 2013-01-16 23:57:08 +01:00
Thomas Geymayer
ef95c4cf10 parsesvg: fix checking for relative/absolute path 2013-01-11 19:56:42 +01:00
Thomas Geymayer
73fcf429d0 Canvas/SVG fix calculating transformation center (Group) 2013-01-09 12:14:31 +01:00
Thomas Geymayer
530db2e97a Ensure canvas dialogs clean up all references to canvas ghosts on destruction 2013-01-01 13:16:19 +01:00
Thomas Geymayer
e9a40e7a79 remove old code (Canvas GUI constants) 2012-12-16 22:36:57 +01:00
Thomas Geymayer
9af21f41c0 Absolute placement for canvas gui dialogs (CSS like right/bottom margin) 2012-12-14 17:25:34 +01:00
Thomas Geymayer
cf27a29da4 Airport dialog: Basic support for drag/zoom with the mouse 2012-12-03 00:39:13 +01:00
Thomas Geymayer
ccee791529 Canvas API: Use more exposed core functions 2012-11-30 17:40:03 +01:00
Thomas Geymayer
10c635752a Use latest core API and fix FG 2.8 support 2012-11-18 23:29:24 +01:00
Thomas Geymayer
bc63ff3ea8 Use Canvas and CanvasGroup ghosts provided by fgfs core 2012-11-16 12:35:49 +01:00
Thomas Geymayer
fa97e5ea7a Use core Canvas Nasal helpers 2012-11-15 14:19:09 +01:00