1
0
Fork 0
Commit graph

1776 commits

Author SHA1 Message Date
Fernando García Liñán
6cb051369b HDR: Force an envmap update when the view changes 2023-10-05 05:57:05 +02:00
TheFGFSEagle
d65228be6c props.nas: Add function to swap the values of two property nodes 2023-10-03 21:49:32 +02:00
TheFGFSEagle
590770e555 KeyBinding.nas:parseShortcut: Better handling of empty shortcut string 2023-10-02 03:41:26 +02:00
TheFGFSEagle
a82424e03f canvas.gui.widgets.MenuBar: Automatically call setCanvasItem from the constructor 2023-09-30 02:42:15 +02:00
TheFGFSEagle
72d9aef42b Nasal math module: Add math.sign -> math.sgn alias 2023-09-20 00:46:12 +02:00
Roman Ludwicki
ee14849016 Fix calculate temerature for ISA METAR scenario 2023-09-19 12:27:11 +01:00
James Turner
3d47bc2325 Canvas KeyBindings support
- use new built-in KeyBinding in Widget, Menu
2023-08-31 08:59:52 +02:00
Roman Ludwicki
4f7a93d0ba Add /environment/atmosphere/is-isa property for ISA METAR 2023-07-26 12:14:41 +01:00
Benedikt Wolf
28548229d2 hitch.nas: Minor fix to aerotow code 2023-06-17 10:50:44 +02:00
James Turner
549507874b Nasal: extend props.Node alias() API
Add optional argument to specify if lisenters should work
on aliased properties or not. Current default is false for
backwards compatability.
2023-06-13 14:24:22 +01:00
Benedikt Wolf
a301094022 Towing: Fix small bug 2023-05-29 12:36:47 +02:00
Fernando García Liñán
7ca349b82e HDR: More robust envmap updating
- Use the frame signal instead of settimer() with interval 0 to get more
  consistent behaviour.
- Update the envmap more often when time warp is active.
- Use maketimer() instead of settimer().
2023-05-04 06:09:36 +02:00
Fernando García Liñán
1e66c4104a HDR: Improved environment mapping
- Terrain and clouds and now rendered on the envmap, with correct aerial
  perspective.
- Each face is rendered on a separate frame to help with performance.
- All faces are updated every 1.5 minutes. This can be changed through a
  property.
2023-05-03 02:03:10 +02:00
Fernando García Liñán
691337a00e HDR: Add separate fog layer to atmosphere
Also use Nasal to feed the shaders' uniforms. Much better than running
the computations on the GPU.
2023-04-21 02:15:42 +02:00
TheFGFSEagle
4c398de46c More robust rotation center handling 2023-04-17 15:13:18 +01:00
TheFGFSEagle
e5f4915e89 canvas.gui.widgets PropertyWidgets: Add functionality to temporarily disable property syncedness for property-synced widgets
This is needed for example to prevent writing to the bound property while adding items to a PropertyComboBox
2023-04-17 15:13:17 +01:00
TheFGFSEagle
ad266eb743 canvas.gui.widgets.ComboBox: Bug fixes, implement findByValue and findByText methods, add placeholders for missing artwork 2023-04-17 15:13:17 +01:00
TheFGFSEagle
51e16819be aircraft.data: Enable method chaining and add method to remove properties from the catalog 2023-04-17 15:13:17 +01:00
TheFGFSEagle
d70d073a22 Added property-synced dial and slider 2023-04-17 15:13:17 +01:00
TheFGFSEagle
638b6182d6 Implemented dial with optional value display, ticks and wrapping 2023-04-17 15:13:17 +01:00
TheFGFSEagle
4fb22e821a Fix menus popping back up when clicking on a menu bar item / combo box with the respective menu open 2023-04-17 15:13:17 +01:00
TheFGFSEagle
921df08a61 Check for each key passed to Shortcut.match whether it is contained in the shortcut's keys, instead of comparing the first argument key to the first member key, the second to the second, etc. 2023-02-28 12:47:00 +00:00
TheFGFSEagle
372d68a775 Canvas slider widget:
Added value display
Add ticks, round mouse dragging result to nearest multiple of step size,
implement scroll handler
Add keybindings for adjusting slider value
2023-02-28 12:47:00 +00:00
TheFGFSEagle
be80d67754 Added option to make tabs closeable 2023-02-28 12:47:00 +00:00
TheFGFSEagle
8277a6d608 LineEdit: selection work
Implemented line edit selection highlighting and Shift+arrow keys,
mouse dragging, and mouse double-clicking text selection
2023-02-13 11:11:42 +00:00
TheFGFSEagle
8b0da63e7c Make list items align to the top properly 2023-02-13 11:05:48 +00:00
TheFGFSEagle
00efa2d01a Make std.algorithm conditions more efficient 2023-02-13 11:05:48 +00:00
TheFGFSEagle
a5f2e19c12 Pass node in the config hash instead of as an argument 2023-02-10 13:01:20 +00:00
TheFGFSEagle
06dc27d631 Added method to find a list item by its data 2023-02-10 13:01:20 +00:00
TheFGFSEagle
305d88f601 Added more property-synced widgets 2023-02-10 13:01:20 +00:00
TheFGFSEagle
da894c87c5 Add popup border, added option to enable popups taking focus (disabled by default) 2023-02-10 13:01:20 +00:00
TheFGFSEagle
0f1ac87cae Added methods to set, get and clear radio button data 2023-02-10 13:01:20 +00:00
TheFGFSEagle
6f5581ac50 Added method to get all tabs of the TabWidget 2023-02-10 13:01:20 +00:00
Benedikt Wolf
13b24e5290 Improve hitch.nas, work in progress 2023-02-10 10:40:35 +01:00
TheFGFSEagle
3e4b6ff9c8 Make combo box menu work 2023-02-03 11:28:29 +00:00
TheFGFSEagle
8a1192c918 Added Switch class, added group-checked-radio-changed signal for radio buttons 2023-02-03 11:28:29 +00:00
Richard Harrison
aeae504d47 emexec: rewrite rate adjust logic
Change to calculate the frame rate ourselves because /sim/frame-rate doesn't take into account freeze and has a transient ridiculous value after a pause. Instead we calculate the average rate over a period and then LP filter this.

This also removes the annoying frame rate update messages

Cofiguration now comes from /sim/emexec

* /sim/emexec/monitor-period is the period to reset the average; the LP filter isn't reset.
* /sim/emexec/max-rate-hz is the upper limit on the emexec update rate. defaults to 50 and a model can override this. It's probably not a user setting

output of

* current emexec rate into /sim/emexec/rate-hz
* smoothed / LP filtered frame rate into /sim/emexec/frame-rate
2023-01-29 14:31:51 +00:00
TheFGFSEagle
7274ec886a Added some utility functions (all, any, map and filter) 2023-01-24 19:03:52 +00:00
James Turner
b3b2871523 GUI style: make sizes parametric 2023-01-24 18:49:32 +00:00
TheFGFSEagle
7dd431cbbd Implemented canvas radio button 2023-01-24 14:09:22 +00:00
TheFGFSEagle
f569a5ac29 Added property tree widget and browser dialog 2023-01-24 13:59:47 +00:00
TheFGFSEagle
f1e099641f Center canvas windows on screen upon creation, add methods to center canvas window on screen and to get their current position 2023-01-24 13:58:52 +00:00
James Turner
151486219d Add ComboBox widget 2023-01-24 13:27:04 +00:00
James Turner
ede0844631 GUI MenuItem/menuBar fixes:
- ensure createItem returns the item
- add an accessor for text()
- don't do lazy view creation for now
- skip aboutToShow until item iteration works for me
2023-01-24 13:27:04 +00:00
James Turner
ba5fb926a2 remove duplicate MenuBar.nas 2023-01-24 13:17:05 +00:00
TheFGFSEagle
2b9d10804b Added list widget 2023-01-24 13:17:02 +00:00
TheFGFSEagle
2a95685eb7 Improve menu item styling 2023-01-24 13:15:53 +00:00
TheFGFSEagle
419de94e68 Fix layouting 2023-01-24 13:15:53 +00:00
TheFGFSEagle
0a6ddb689a Added label benchmarking functionality and a menu bar 2023-01-24 13:15:53 +00:00
TheFGFSEagle
1faedb04a2 Only hide popups when window is raised, not on every state change 2023-01-24 13:15:53 +00:00