Property browser

From FlightGear wiki
Revision as of 21:30, 8 September 2012 by Hooray (talk | contribs)
Jump to navigation Jump to search
The property browser window

The FlightGear property browser is a dialog used to browse, in-simulator, through all properties (internal, runtime state variables in FlightGear). The property browser cannot only be used to inspect all sorts of internal variables at runtime, but it can also be used to change most variables easily.

The property browser can be opened with / (forward slash) or through the menu: Debug > Browse Internal Properties (in older version: File > Browse Internal Properties).

Tips and tricks

Apart from setting a property by clicking it and using the text field and Set button, there is many things that can be done through the property browser:

  • To toggle boolean values (like true/false), ctrl-click a boolean property.
  • To display a property in the top left corner of the screen, shift-click the property in the property bowser. To remove the property ctrl-shift-click another property.
  • To clone the property browser window click the square in the left top of the window. The right square closes the current browser.
  • To go to the root ctrl-click an ".." entry.
  • To toggle verbose/developer mode ctrl-click an "." entry.

Verbose mode

In verbose mode, toggled by ctrl-clicking an "." entry or toggling /sim/gui/dialogs/property-browser/show-flags, some additional information is shown as flags like this

foo = '123.456' (double; AT).  
Flag Meaning Comment
r Read protected Showing that a property can not be read.
w Write protected Showing that a property can not be written to.
R Trace read operations In --log-level=info create log line with TRACE prefix on write/read operation; set with <foo trace-write="y">.
W Trace write operations
A Archive bit set Makes writeProperties() also save this property in restricted mode ("save flight"), while all others are only saved in full mode.
U User archive bit set Saved into ~/.fgfs/autosave.xml, and restored next time.
T Tied property Only the C/C++ code that owns a tied property can write to it. Also, listeners will not be triggered.

Other ways to open the property browser

Forcing open the browser on startup

You can force the browser to open on startup, through the following command:

--prop:browser=/sim/path/that/you/want/to/show

More than one property browser can be opened like this.

--prop:browser=position --prop:browser[1]=orientation

Trough nasal

Using gui.property_browser(<path>) opens a property browser for path. While it can be called more than once, though all the dialogues will be drawn on top of each other in the centre of the screen. Example:

settimer(func {
    gui.property_browser("/position");
    gui.property_browser("/orientation");
}, 0);

Related content