1
0
Fork 0
Commit Graph

608 Commits

Author SHA1 Message Date
Rémi Verschelde 9d10e42a41
Merge pull request #98766 from Calinou/tree-drag-and-drop-use-process
Fix Tree drag-and-drop scrolling having low FPS at low Physics Ticks per Second
2024-12-12 14:09:55 +01:00
Rémi Verschelde e6125ef51b
Merge pull request #98763 from AThousandShips/more_sname_uses
Use `SceneStringName` in more places
2024-12-02 15:50:44 +01:00
Rémi Verschelde d2c82a8ffc
Merge pull request #97378 from rune-scape/less-const-cast
Get rid of easily removable uses of `const_cast`
2024-12-02 15:50:06 +01:00
A Thousand Ships af56d6e8e8
Use `SceneStringName` in more places 2024-12-02 14:39:16 +01:00
rune-scape d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
A Thousand Ships 77549dd1f3
[Tree] Allow disabling auto generated tooltip for `TreeItem` 2024-12-01 14:39:51 +01:00
Thaddeus Crews 1cad5525d6
Merge pull request #96841 from maidopi-usagi/tree_item_height_cache
[Tree] Improve Tree Performance by replacing computed height with TreeItem's cached minimum size
2024-11-10 12:12:45 -06:00
MaidOpi 07b7af0c81 replace computed height with cached item minimum size 2024-11-07 03:28:08 +08:00
Adam Scott 49f918e596
Fix issue where scrolling to item center would overflow on top 2024-11-05 12:50:34 -05:00
Hugo Locurcio bb813ba7bc
Fix Tree drag-and-drop scrolling having low FPS at low Physics Ticks per Second
Scrolling is now performed in process instead of physics process.
This makes scrolling much smoother if Physics Ticks per Second is lower
than the rendered FPS.
2024-11-02 18:45:28 +01:00
Thaddeus Crews b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Thaddeus Crews 4aad050067
Merge pull request #97157 from pafuent/fixing_tree_item_get_prev_wrap
Fix `TreeItem` `get_prev*` methods when `p_wrap` is `true`
2024-10-25 13:03:42 -05:00
Adam Scott 0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Thaddeus Crews b3bcb2dc14
Merge pull request #98299 from timothyqiu/tree-coordinate
Fix button click detection when `Tree` is rotated
2024-10-21 16:39:31 -05:00
Haoyu Qiu 17642692c5 Fix button click detection when `Tree` is rotated 2024-10-18 22:43:48 +08:00
David Giardi ebe1a2d7ec Add hover state to Tree items display 2024-10-17 00:21:52 +02:00
Rémi Verschelde 19081a850d
Merge pull request #95889 from KoBeWi/tree_growing_sideways
Allow horizontal scrolling in Tree using Shift
2024-10-04 22:43:17 +02:00
Haoyu Qiu 3c365a7fa5 Add auto translate mode for cells in Tree 2024-10-01 21:24:10 +08:00
Pablo Andres Fuente 9c0afbb15c Fixing TreeItem get_prev_xxx methods when p_wrap is true
Fixes #85032

The code that fix the issue is courtesy of @Jesusemora, I just added
unit tests for it and did a rebase with the latest changes on master.

Co-authored-by: Jesusemora <32273722+Jesusemora@users.noreply.github.com>
2024-09-23 17:11:02 -03:00
Rémi Verschelde cc52112144
Merge pull request #96643 from bruvzg/fs_links
[FileSystem Dock] Add symlink indicator and tooltip.
2024-09-12 10:28:44 +02:00
Rémi Verschelde 325c1cffc4
Merge pull request #96232 from AThousandShips/tree_navigate_row
[Tree] Improve navigation with row select mode
2024-09-08 23:21:44 +02:00
bruvzg da4f5fb953
[FileSystem Dock] Add symlink indicator and tooltip. 2024-09-06 14:55:07 +03:00
Rémi Verschelde 13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
Rémi Verschelde 168676a7c5
Merge pull request #96000 from kerstop/deadzone_slider_fix
Fix deadzone slider not working correctly
2024-09-03 11:43:20 +02:00
Rémi Verschelde 68a04bbf9a
Merge pull request #96142 from timothyqiu/one-signal-to-invalidate-them-all
Fix collapsing `TreeItem` not updating horizontal scrollbar
2024-09-02 18:08:07 +02:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
A Thousand Ships 5c21c0d8d3
[Tree] Improve navigation with row select mode
Allows navigating with the `ui_left/right` actions when selecting rows,
fixing a navigation inconsistency
2024-08-28 18:32:45 +02:00
Haoyu Qiu d16dcbb3ac Fix collapsing TreeItem not updating horizontal scrollbar 2024-08-27 11:49:27 +08:00
kerstop 2fd39eca30 fix deadzone slider not working correctly 2024-08-23 12:29:24 -05:00
kobewi 42e5c5b41c Allow horizontal scrolling in Tree using Shift 2024-08-21 10:44:45 +02:00
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
Koyper e84588987a Enabled missing Tree title button font and font size theme settings. 2023-08-16 08:10:31 -05:00
Danil Alexeev 5fb975e4a5
GUI: Fix `Tree` performance regression by using cache 2023-08-04 16:11:26 +03:00
Yogendra Manawat f0362cd37b Fixed Tree Selection Bug 2023-07-29 00:30:39 +05:30
Yuri Sizov b54d6cf466 Merge pull request #78393 from AThousandShips/tree_tooltip
Add ability to set the tooltip text of a `TreeItem` button
2023-07-12 15:09:09 +02:00
Yuri Sizov b4a11294e6 Merge pull request #75460 from joao-pedro-braz/add_new_item_stylebox_to_the_tree_control
Add a new "inner_item_margin" Theme constant to the Tree control
2023-07-12 15:08:36 +02:00
Dawid Marzec 9abbdea95e Fix cursor behaviour in Tree while holding CTRL 2023-06-21 20:44:29 +02:00
Ninni Pipping 75b355ee99 Add ability to set the tooltip text of a `TreeItem` button 2023-06-18 11:14:32 +02:00
Ninni Pipping dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
Danil Alexeev 010829f962
Tree: Add ability to configure text autowrap mode for individual cells 2023-06-03 15:17:35 +03:00
João Pedro Braz 670b7bec9a Add the "inner_item_margin" Theme constant to the Tree control
This PR adds the "inner_item_margin" Theme constant to the Tree Control.
It behaves like a horizontal padding (in CSS), but only in the active
writing direction (So on LTR it'll apply a left padding and on RTL right
padding).

The Editor Theme has been updated to make use of this and a result items
in Trees and ItemLists no longer "hugs" their border, expressing a proper
spacing instead.
2023-06-02 11:32:40 +02:00
Yuri Sizov 3ed7bdc26f Implement `TreeItem.add_child` 2023-05-31 11:36:23 +02:00
Dawid Marzec 9fe1d6aa27 Remove up/down input for text search in Tree 2023-05-23 21:41:10 +02:00
Rémi Verschelde 4020cc8acb
Merge pull request #76794 from Wiwip/inline-edit
Inline editor for the file system dock
2023-05-11 11:46:45 +02:00
Hendrik Brucker dc46163b12 Improve editor state persistence 2023-05-11 04:17:03 +02:00
Wiwip b08a6084af Modifies the file system dock to use the inline editor instead of a dialog.
*Bugsquad edit:* Closes https://github.com/godotengine/godot-proposals/issues/4933
2023-05-10 18:49:35 -04:00
Danil Alexeev 865d6f5ed0
Fix multiline items drawing in `Tree` 2023-04-28 12:02:26 +03:00
Danil Alexeev 005937b576
Add support for multiline strings to `Tree` 2023-04-25 18:43:26 +03:00
needleful 9a968088db Add allow_search property to ItemList and Tree 2023-04-18 09:21:18 -07:00
Haoyu Qiu a083c85521 Tree: Fix offset calculation when there are hidden items 2023-04-12 17:49:52 +08:00
Yuri Sizov 5e6c382a84
Merge pull request #71433 from marzecdawid/fix-TreeItem-button-rendered-under-selected
Fix TreeItem's button being rendered under "Selected" highlights
2023-04-11 13:15:09 +02:00