GUI Messages: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
{{Screenshot needed}} | {{Screenshot needed}} | ||
== Intro == | |||
FlightGear is using a simple property-based messaging system which can render GUI messages using propoerty listenenrs and the [[PUI]] GUI system. | FlightGear is using a simple property-based messaging system which can render GUI messages using propoerty listenenrs and the [[PUI]] GUI system. | ||
== Background == | |||
Whatever is written to <code>/sim/messages/*</code> at runtime is shown on-screen for a few seconds, then moved away. When the next message is written to that node, that is moved on-screen. | Whatever is written to <code>/sim/messages/*</code> at runtime is shown on-screen for a few seconds, then moved away. When the next message is written to that node, that is moved on-screen. | ||
Behind the scenes, this works by using a property listener/callback that is triggered whenever the property tree branch is modified. | Behind the scenes, this works by using a property listener/callback that is triggered whenever the property tree branch is modified. | ||
{{FGCquote | |||
|1= The ATC subsystem shouldn't really generate the message *and* display it, no matter which method is used. It should rather only set a property to the generated message, for example /sim/messages/atc. A different subsystem should then take this message and display it -- using the same code for ATC and other screen messages. It should be glue code that decides what to do with the message property (c++ and Nasal listeners). Send it to the screen like now, print it to the console, forward it to the speech synthesis module | |||
|2= {{cite web | |||
| url = http://sourceforge.net/p/flightgear/mailman/message/12101220/ | |||
| title = <nowiki>[Flightgear-devel] Re: screen.nas: log windows</nowiki> | |||
| author = <nowiki>Melchior FRANZ</nowiki> | |||
| date = Feb 4th, 2006 | |||
| added = Feb 4th, 2006 | |||
| script_version = 0.23 | |||
}} | |||
}} | |||
== Feautres == | |||
This system is primarily used by the following features: | This system is primarily used by the following features: |
Revision as of 13:09, 2 February 2016
This article is a stub. You can help the wiki by expanding it. |
Note This article needs a few screenshots |
Intro
FlightGear is using a simple property-based messaging system which can render GUI messages using propoerty listenenrs and the PUI GUI system.
Background
Whatever is written to /sim/messages/*
at runtime is shown on-screen for a few seconds, then moved away. When the next message is written to that node, that is moved on-screen.
Behind the scenes, this works by using a property listener/callback that is triggered whenever the property tree branch is modified.
The ATC subsystem shouldn't really generate the message *and* display it, no matter which method is used. It should rather only set a property to the generated message, for example /sim/messages/atc. A different subsystem should then take this message and display it -- using the same code for ATC and other screen messages. It should be glue code that decides what to do with the message property (c++ and Nasal listeners). Send it to the screen like now, print it to the console, forward it to the speech synthesis module — Melchior FRANZ (Feb 4th, 2006). [Flightgear-devel] Re: screen.nas: log windows.
(powered by Instant-Cquotes) |
Feautres
This system is primarily used by the following features:
- Tutorials
- Multiplayer chat messages
- Howto:Define limits
- Failure management (limits.nas)
- Howto:Implement copilot announcements
- ATC
None of those are hard-coded, those are all going through the property tree and gui.nas, so you can "disable" things there. The higher-level features are limits.nas (or the failure manager) and the tutorial system.
The corresponding code can be found in gui.nas and screen.nas
To change the font size
Set /sim/gui/style[1]/fonts/message-display/name — Csaba Halász (Nov 23rd, 2008). Re: [Flightgear-devel] screen.window size of font.
(powered by Instant-Cquotes) |
with TIMES_24 — gerard robin (Nov 23rd, 2008). Re: [Flightgear-devel] screen.window size of font.
(powered by Instant-Cquotes) |
To disable the system completely, set /sim/screen/nomap=true
to prevent default message mapping - e.g. as a startup option --prop:/sim/screen/nomap=1
and/or by editing $FG_HOME/Preferences.xml
In addition, there's the tooltip system which is meanwhile using the Canvas 2D rendering API