1
0
Fork 0
Commit graph

1752 commits

Author SHA1 Message Date
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
TheFGFSEagle
3e861b0a44 Better menu item click and hover behaviour 2023-01-24 13:15:53 +00:00
Florent Rougon
b61f0c241e emesary_mp_bridge.nas: convert to UTF-8 encoding
This concerns a single character inside a comment, so won't change the
behavior of the Nasal code in any way. Beside using the favored encoding
in FlightGear, this little change allows scripts/python/nasal_api_doc.py
(from the FlightGear repository) to work again without having to teach
it to ignore encoding errors nor to play at guessing the encoding of the
files it reads.
2023-01-19 17:17:52 +01:00
James Turner
7651d66c38 Disable Canvas menubar for now 2023-01-13 14:42:41 +00:00
Florent Rougon
4846871a5c Fix handling of percent signs by gui.popupTip()
Since commit e41c0f099b, the Tooltip class has performed string
interpolation (i.e., sprintf()-style formatting) regardless of whether a
<property> was specified for the tooltip. This broke the API of
gui.popupTip(): all '%' characters in the message had to be doubled to
work as before. This commit restores the normal behavior of
gui.popupTip() where '%' characters aren't interpreted in any special
way.
2023-01-13 09:56:15 +01:00
James Turner
73fbeaade2 Canvas: keyboards bindings handled in widget 2023-01-11 11:47:27 +00:00
TheFGFSEagle
a5e30023bd Added menu bar widget and global menu bar, menu item improvements 2023-01-11 11:47:27 +00:00
TheFGFSEagle
2cf388e674 Added real keyboard shortcut support for menu items 2023-01-11 11:47:27 +00:00
TheFGFSEagle
f1d7848a6b Added keyboard Nasal module 2023-01-11 11:08:40 +00:00
TheFGFSEagle
ef602c0d3a Improved resize buttons by Hooray 2023-01-11 11:08:40 +00:00
TheFGFSEagle
d21158fdbf Added more key bindings and a context menu 2023-01-11 11:08:40 +00:00
TheFGFSEagle
a25674337d Added shortcut option for menu items 2023-01-11 11:05:01 +00:00
TheFGFSEagle
764e6f0ced Added Popup, Menu and MenuItem classes 2023-01-11 11:05:01 +00:00
James Turner
581f8d163f GUI: add PUI combo-box mapping 2023-01-11 10:57:42 +00:00
James Turner
aa57b7992f Canvas: rule lines working with styling
PUI uses these a lot, so good to have them working
2023-01-11 10:57:42 +00:00
James Turner
d00c983429 Canvas widgets: style for Slider
Only horizontal mode for now, and not quite right visually,
but usable enough to start with.
2023-01-11 10:57:42 +00:00
James Turner
b93ecb962b Canvas: add unload logic
Clean up various global things, especially commands, when
unloading the Canvas. This means reloads of Canvas are
clean.
2023-01-06 10:57:00 +00:00
James Turner
b359fc88cb TabWidget: make setCurrentTab lazy 2023-01-05 14:39:43 +00:00
James Turner
333321556f Add example of coordinate conversion 2023-01-05 14:28:20 +00:00
James Turner
df43cb2554 Canvas: make setVisible chainable
Change Element.setVisible to return self, so it can be chain
called like most other setters. Note this also requires some C++
changes in FlightGear.
2023-01-04 15:32:26 +00:00
TheFGFSEagle
074e2511de Fixed some more typos 2023-01-04 12:35:04 +00:00
TheFGFSEagle
114694cbbe Fix inheritance mistake, add resizing test button 2023-01-04 10:03:27 +00:00
TheFGFSEagle
b2f37b67f8 Added usage example for the TabWidget 2023-01-03 13:49:56 +00:00
TheFGFSEagle
4bc559bcf4 Added canvas widget factory dialog 2023-01-03 13:49:56 +00:00
TheFGFSEagle
09e15ddf16 Added canvas checkbox subclass whose check state is always the bool value of a node and vice versa 2023-01-03 12:39:51 +00:00