Commit graph

528 commits

Author SHA1 Message Date
aaronp64
040f241f39 Improve Tree performance
Added TreeItem::last_child to avoid needing to iterate through all children to get to the end.  This mainly helps in cases where one TreeItem has many children (1000s), and new children are added to the end, as each add had to iterate through all previously added children.
2024-07-26 11:32:45 -04:00
Fredia Huya-Kouadio
70d450d086 Fix issue causing input lock when drag scrolling a Tree element on touchscreen devices
Prior to this fix, scrolling via mouse drag on touchscreen devices, and
drag&drop operation on a `TreeItem` element would conflict with each other
preventing the drag scroll from being released when the mouse button is
released.

The issue is addressed by disabling drag&drop when drag scrolling is ongoing.
2024-07-18 04:09:54 -07:00
Rémi Verschelde
bf20231140
Merge pull request #93179 from TheSofox/tree-nav-crash
Fix engine crashing when using Down Arrow selection on Tree with no selection
2024-06-24 11:14:06 +02:00
Sofox
d86e02580c Fix engine crashing when using Down Arrow selection on Tree with no selection 2024-06-22 18:40:21 +01:00
A Thousand Ships
fbb879debd
[Scene] Add SceneStringNames::text/value_changed 2024-06-19 09:44:38 +02:00
A Thousand Ships
d9e2fc74c7
[Scene] Add SceneStringNames::item_selected 2024-06-19 09:39:05 +02:00
A Thousand Ships
755a0efbb6
[Scene] Add SceneStringNames::id_pressed 2024-05-30 22:54:04 +02:00
bruvzg
7d4d63b807
Fix Tree and FileSystemList edit popup double events and ESC behavior. 2024-05-17 10:03:52 +03:00
kobewi
413c11357d Use Core/Scene stringnames consistently 2024-05-13 23:41:07 +02:00
kobewi
9bc5a85b2b Fold TreeItems when clicking to the left of fold icon 2024-05-08 11:30:26 +02:00
Pedro J. Estébanez
eb2bd41fb8 Make handling of rename line-edit popups more robust 2024-05-07 14:29:35 +02:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of Vector* min/max/clamp/snap(ped)
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
Haoyu Qiu
4f4e8589df Fix Tree minimum size calculation
- Take scroll bar space and column title buttons into account
- Fix first column min size sometimes missing one level of indent
- Fix cell min size ignoring text overrun behavior and item inner margin
- Update min size when `hide_root` or `column_title_visible` changes

Wrong description of `item_inner_margin_*` constants is also fixed
2024-04-25 16:00:45 +08:00
Haoyu Qiu
98d7d62350 Fix wrong Tree column title position 2024-04-23 15:46:19 +08:00
Haoyu Qiu
c78e9c3fbd Fix TreeItem button handling
- Fix incorrect tooltip and `get_button_id_at_position()` when column
  title is visible and when RTL layout is used
- Take `button_margin`, `h_separation`, and `item_margin` into account
2024-04-18 18:51:36 +08:00
Rémi Verschelde
2543d192c3
Merge pull request #90842 from timothyqiu/revert-79792
Revert "Correctly display tooltips for buttons in Tree when they overlap cell content
2024-04-18 12:25:08 +02:00
Haoyu Qiu
00f0043227 Revert "Correctly display tooltips for buttons in Tree when they overlap cell content"
This reverts commit 8278a5f274.
2024-04-18 17:35:26 +08:00
Koyper
0881c81c13 Fix non-embedded Windows resizing to match Viewport content scale factor 2024-04-17 09:30:16 -05:00
Rémi Verschelde
b345614adb
Merge pull request #89977 from aqfranco/master
Fix TreeItem shows cell edit in the wrong column when `select_mode=Row` and TreeItem has multiple columns
2024-04-04 14:35:44 +02:00
Andre Franco
5c19fcbd57 Fix #88892: TreeItem shows cell edit in the wrong column when SelectMode=Row and TreeItem has multiple columns
Editor would not be brought up when clicking on all but the last column on a TreeItem with SelectMode=Row with
multiple columns and when the editor was being brought up when clicking on the last column, it was editing the first column

Fixed draw_item, gui_input and edit_selected functions by setting set_meta parameter for each column
Fixed select_single_item function by changing selected_col depending on input
2024-03-28 15:31:42 +00:00
kobewi
25f9f923a1 Rename some arguments called "position" 2024-03-27 01:28:24 +01:00
voylin
d339c71edc Fix empty_clicked signal when hide_root
fix
2024-03-22 09:19:56 +09:00
Rémi Verschelde
c84d3385f7
Merge pull request #88300 from FaycalElOuariachi/add-TreeItem-is_visible_in_tree
Add `is_visible_in_tree` in `TreeItem`
2024-03-05 23:44:29 +01:00
Faycal ElOuariachi
50cf7e1778 Add is_visible_in_tree in TreeItem 2024-03-05 03:38:33 +01:00
Michael Alexsander
612eed164c
Add auto translation to Tree 2024-03-01 12:21:45 -03:00
Michael Alexsander
d70c45b5c8
Add option to add built-in strings in the POT generation 2024-02-28 11:34:26 -03:00
Mikael Hermansson
f7c1c83daa Fix crash when selecting re-added Tree item 2024-02-27 16:34:15 +01:00
Hugo Locurcio
6de0eca6c1
Fix recursive Tree expand/collapse shortcuts not working
This also moves them to use Shift instead of Alt, as was already
done for mouse interactions.

Shortcuts in Tree were also made non-exact matches so they still
work if modifiers are held. This is important for up/down
shortcuts, especially once support for selecting with
Shift + up/down is implemented.
2024-02-13 02:30:48 +01:00
ACB
43038bbfcb Only recurse depth wise in Tree::_count_selected_items 2024-02-04 14:21:03 +01:00
Rémi Verschelde
fa48a51183
Merge pull request #87688 from AThousandShips/what_is_this
Remove unnecessary `this->` expressions
2024-01-29 13:18:09 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
radzo73
de5b0d7103 Add get_button_color(column, id)
Docs should point to Color constuctor instead of just the class, but I unfortunately cannot.
2024-01-28 19:09:20 -05:00
A Thousand Ships
257d03681c
Use callable for TreeItem custom draw
Deprecating old functionality
2024-01-23 12:07:43 +01:00
A Thousand Ships
552594ffdc
Redraw TreeItem on more changes
* Custom font changes
* Custom draw changes
* Custom as button
2024-01-22 13:51:20 +01:00
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Yuri Sizov
b8635157eb Merge pull request #86218 from TheSofox/arrow-key-scene-tree-nav
Fix `Node` selection when navigating `Tree` with Arrow keys
2023-12-20 15:07:59 +01:00
Yuri Sizov
7aae85edfd Merge pull request #84845 from DarkMessiah/tree-disabled-checkbox
Implement disabled state for Checkbox in Tree
2023-12-19 13:01:25 +01:00
Sofox
f894eb1768 Fixes Node selection when navigating SceneTree with Arrow keys 2023-12-16 19:53:04 +00:00
jsjtxietian
7a2831db57 Prevent crash when call set_text() on a removed treeItem 2023-12-12 12:58:14 +08:00
Stanislav Labzyuk
ff8797e980 Implement disabled state for Checkbox in Tree 2023-11-15 17:13:34 +01:00
jsjtxietian
b79cac6d2d Make Tree's set_selected check if treeitem belongs to the tree 2023-11-14 11:34:00 +08:00
Adam Chyb
1785978872 Fix TreeItem truncating node names too much when using a custom icon
Fixes #83801.
2023-10-27 00:30:48 +11:00
kobewi
7fb0cf2bd9 Allow clicking buttons of non-selectable TreeItems 2023-10-09 22:41:36 +02:00
Rémi Verschelde
0c7ac25b47
Merge pull request #81174 from BlueCube3310/tree-range-fix
Fix TreeItem range slider not working properly
2023-10-02 13:16:03 +02:00
Danil Alexeev
aff767ef07
Fix expected argument count for Callable call errors 2023-09-29 20:00:10 +03:00
ajreckof
6afadbaa9f Replace Ctrl in editor shortcuts with Cmd or Ctrl depending on platform 2023-09-19 10:29:07 +02:00
Yuri Sizov
2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +02:00
BlueCube3310
c759ac0e4f Fix TreeItem range slider not working 2023-08-30 19:17:13 +02:00
Miguel Pereira
8278a5f274 Correctly display tooltips for buttons in Tree when they overlap cell content 2023-08-27 18:21:12 +02:00
Danil Alexeev
07d23489f4
GUI: Fix text overlapping icon in Tree 2023-08-24 22:09:02 +03:00