Commit graph

4698 commits

Author SHA1 Message Date
Markus Sauermann
b8031bb7d6 Code simplifications
1. Viewport::get_visible_rect().position is always zero.
So Control::get_window_rect is identical to Control::get_global_rect.
Remove Control::get_window_rect since it is not used in the source code.

2. sqrt(a * a) = abs(a) for doubles

3. Simplify affine_inverse combination

4. Simplify calculation in shaders
2022-10-18 12:47:40 +02:00
PucklaMotzer09
e5354cacd0 Add Caret Insert Below and Above shortcuts to TextEdit 2022-10-18 10:38:53 +02:00
Rindbee
42073fc2bb Use more reasonable scrollable conditions in ScrollContainer
The visibility of the `ScrollBar` was used as a condition for judging whether it should scroll.
**Visible** and **scrollable** are currently not the same in some cases (`SCROLL_MODE_SHOW_NEVER`).
This makes `SCROLL_MODE_SHOW_NEVER` not working properly.

This patch will make `SCROLL_MODE_SHOW_NEVER` available, so that the external `SrollBar` can
share the internal `ScrollBar`'s data, we can achieve the purpose of replacing the internal
`ScrollBar` with a custom external one.
2022-10-18 16:32:39 +08:00
arkology
825f5671f1 Support AtlasTexture in radial modes of TextureProgressBar 2022-10-17 20:44:25 +03:00
Markus Sauermann
13b87c13c7 Fix set_as_toplevel event propagation to child
In certain conditions events did not get propagated to Control childs of
Node2D nodes when setting a parent of the Node2D to toplevel.

This patch makes sure that such Control nodes become root control in the
viewport.
2022-10-16 21:42:16 +02:00
Paulb23
4bfb1d953c Fix undo redo not adjusting TextEdit viewport to caret 2022-10-16 19:30:03 +01:00
Paulb23
b5dc8e24be Fix crash in code completion when using an invalid / null font 2022-10-16 16:47:27 +01:00
Paulb23
76005e5ff7 Forcibly end current TextEdit action on undo redo 2022-10-16 16:28:22 +01:00
bruvzg
4b1937c73f Abort LineEdit shaping if no font is set to avoid unnecessary error messages. 2022-10-14 12:57:42 +03:00
Rémi Verschelde
f32f5b70d8 Merge pull request #67348 from Mickeon/salvage-a-dear-comment
Comment not to remove `data` structs in some Nodes
2022-10-13 18:40:58 +02:00
Micky
de9e08da76 Comment not to remove data structs in some Nodes 2022-10-13 15:52:35 +02:00
Rémi Verschelde
2ffb609658 Merge pull request #66337 from EricEzaM/sprite-frames
Ensure control built-in shortcuts are matched exactly & add shortcuts for SpriteFrames editor
2022-10-13 15:24:39 +02:00
Rémi Verschelde
17db8be33c Merge pull request #66357 from EricEzaM/shortcut-context-on-node
Move Shortcut Context to control and fix `shortcut_input` with `shortcut_context`
2022-10-13 15:24:30 +02:00
Eric M
a3ed9e6f2c Move Shortcut Context to Control and ensure that shortcut_input adheres to contexts. Also ensure that controls with no context are only triggered AFTER nodes which do have a context. 2022-10-13 21:07:19 +10:00
MladoniSzabi
3550354fd3 fixed holding alt while zooming zooms in by 2 increments. 2022-10-13 11:38:25 +01:00
Rémi Verschelde
fad0327503 Merge pull request #66953 from Sauermann/fix-top-level-connect-error
Fix Control node not disconnecting from signal
2022-10-13 09:04:25 +02:00
Rémi Verschelde
15b68f7601 Merge pull request #67232 from bruvzg/popup_edit
Improve Popup / Window behavior in the edited scene tree.
2022-10-12 14:45:14 +02:00
Paulb23
f3eb543e67 Fix select word under caret using caret col instead of line 2022-10-11 20:32:06 +01:00
kobewi
a3661ad079 Remove editor dependencies from ColorPicker 2022-10-11 16:09:27 +02:00
Rémi Verschelde
f21053d189 Merge pull request #67201 from progsource/richtextlabel-icon-spritesheet
Add Spritesheet support to RichTextLabel BBCode
2022-10-11 13:58:54 +02:00
Petra Baranski
546e017613 Add Spritesheet support to RichTextLabel BBCode
BBCode: [img region=0,0,16,16]res://icon.svg[/img]
2022-10-11 13:04:15 +02:00
bruvzg
2e1fcbe14b
Prevent Popups it the edited scene tree from closing on focus loss. Hide irrelevant Popup flags from the editor inspector. 2022-10-11 08:55:00 +03:00
Rémi Verschelde
8017827144 SCons: Re-enable treating #warning as error with werror
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.

We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
Rémi Verschelde
ddb97a0b35 Merge pull request #67117 from Jummit/tree-button-color
Expose TreeItem::set_button_color
2022-10-10 13:52:57 +02:00
Rémi Verschelde
4be5660223 Merge pull request #67145 from Paulb23/tab_textedit
Fix inserting tabs in TextEdit
2022-10-10 13:52:42 +02:00
Rémi Verschelde
104af08e9d Merge pull request #65805 from MewPurPur/improve-breakpoint-hovering
Improve bookmark and breakpoint indicators
2022-10-10 10:03:26 +02:00
VolTer
d6e60f45a1 Improved breakpoints hover indicator 2022-10-10 04:36:45 +02:00
Haoyu Qiu
eac9adf7a1 Don't allow removing TextEdit's main caret 2022-10-10 08:30:23 +08:00
Paulb23
7333aa68f4 Handle tab in TextEdit 2022-10-09 17:46:40 +01:00
Jummit
a6c1cfae99 Allow drag-clicking before symbol lookup
This makes it easier for touch and tablet users to do symbol lookups in
the code editor.
2022-10-09 18:42:54 +02:00
Rémi Verschelde
6f6482e82b Merge pull request #67083 from RedMser/label-font-warning
Add warning for missing characters in label font
2022-10-09 18:29:06 +02:00
Rémi Verschelde
49be2d2cf8 Merge pull request #66524 from microaeris/aeris/text-edit-get-scroll-bar
Getters for TextEdit scroll bars
2022-10-09 18:27:30 +02:00
Rindbee
3f20108703 Improve caret drawing conditions for LineEdit
Now, `caret_can_draw` will be validated when a condition that affects
the drawability of the `LineEdit`'s caret changes; `draw_caret` will
be toggled when the caret's visibility is toggled due to blink, and
`draw_caret` will be `false` when `caret_blink_enabled` is disabled.

Fix toggling `caret_blink_enabled` could cause caret to no longer be
displayed.
Fix opening the context menu causing caret to no longer appear.
2022-10-09 22:14:40 +08:00
Jummit
1e28675560 Expose TreeItem::set_button_color 2022-10-09 10:37:55 +02:00
Haoyu Qiu
2a921cc9f8 Fix Label text length mismatch after localization 2022-10-08 23:07:19 +08:00
RedMser
9579d49820 Add warning for missing characters in label font 2022-10-08 17:02:25 +02:00
microaeris
215fe852b8 Getters for TextEdit scrollbars 2022-10-07 23:16:04 -07:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Rémi Verschelde
5b7f62af55 Merge pull request #62910 from Vitika9/gsoc-colorpicker-ux
ColorPicker UX
2022-10-07 09:49:29 +02:00
bruvzg
a750ca7ec1
Add split caret direction markers. Fix block/overtype caret size. 2022-10-07 08:45:52 +03:00
Rémi Verschelde
d414872bfe Merge pull request #66961 from Rindbee/fix-set_custom_color
Fix wrong condition used in `set_custom_color`
2022-10-06 08:56:52 +02:00
Rémi Verschelde
f5903215d0 Merge pull request #61902 from Paulb23/multi-caret
Add Multi-caret support to TextEdit
2022-10-06 08:56:34 +02:00
Rindbee
f359abbe01 Fix wrong condition used in set_custom_color 2022-10-06 12:09:02 +08:00
Markus Sauermann
c0f0f26615 Fix Control not disconnecting signal
If a Control has not parent CanvasItem and is set as top_level, then it does not disconnect from the "size_changed" signal when it leaves the Canvas.
This patch corrects this.
2022-10-05 23:35:44 +02:00
Paulb23
e9180241e8 Add multi caret support to CodeEdit 2022-10-05 17:19:26 +01:00
Paulb23
4a9d4e3dad Add mutliple Caret support to TextEdit 2022-10-05 17:19:26 +01:00
Rémi Verschelde
132a0e3242 Merge pull request #66770 from EricEzaM/search-by-event
Add searching by event in Editor Settings shortcuts and Project Settings input map.
2022-10-05 08:34:45 +02:00
Rémi Verschelde
02e9e2d3c0 Merge pull request #66559 from zaevi/fix_ScrollContainer_touch_scroll
Fix ScrollContainer touch-scrolling not working.
2022-10-04 10:30:31 +02:00
Paulb23
7dd3857f7e Move selecion into caret 2022-10-03 14:09:27 +01:00
EricEzaM
272c297931 Improve MenuButton and OptionButton
* MenuButton + OptionButton: Add method `show_popup()` which performs required popup setup before showing (prefer use of this over `get_popup()->popup()`, otherwise GH #66308 occurs)
* MenuButton: Ensure that the menu can be opened with a shortcut, if one is set for the button. (GH #66403). Ensure that popupmenu item shortcuts are checked first before the MenuButton shortcut.
2022-10-03 20:07:39 +10:00
EricEzaM
cb6d7fd059 Add searching by event for Editor Settings shortcuts and Project Settings input map.
* Focus into the LineEdit, then perform input to search the list of events by the events assigned.
* New specialised editor-only control for this: EventListenerLineEdit. Line edit is a good candidate for such a control because you can focus it, override it's input handling, and show the event all in one control.
Update InputEventConfigurationDialog to use event listener line edit rather than the separate tabs.
* Cleaner look - no need for tabs.
* Simpler code.
2022-10-03 19:56:34 +10:00
Markus Sauermann
56ddf89fac Adjust SubViewportContainer event handling
Change SubViewportContainer, so that it processes events with a position property no longer in 'input', but in 'gui_input'.
This fixes the issue, that Nodes within its SubViewport receive MouseButton events before other Control-Nodes.
2022-10-02 07:23:08 +02:00
Rémi Verschelde
e3464c8fc8 Merge pull request #58995 from Sauermann/fix-mouse-cursor-change-2
Update mouse cursor shape after changes
2022-09-28 20:50:05 +02:00
Rémi Verschelde
a9591f3039 Merge pull request #66543 from akien-mga/msvc-warning-c4702
Fix MSVC warning C4702: unreachable code
2022-09-28 20:47:30 +02:00
Zae
186ca020b3 Fix ScrollContainer touch-scrolling not working. 2022-09-29 01:47:03 +08:00
Rémi Verschelde
7ab01450cf Fix MSVC warning C4702: unreachable code
Part of #66537.
2022-09-28 16:46:48 +02:00
Rémi Verschelde
0e53dd642c Fix MSVC warning C4706: assignment within conditional expression
Part of #66537.
2022-09-28 16:05:07 +02:00
Rémi Verschelde
7562932eb2 Merge pull request #66160 from dpalais/double_time
Use double instead of real_t type for time-related parameters and variables
2022-09-27 10:04:10 +02:00
Rémi Verschelde
92371880bd Merge pull request #66445 from EricEzaM/GH-66442-shortcut-change-popupmenu-update
Ensure popup menu redraws items when shortcuts update.
2022-09-27 09:53:52 +02:00
Dave Palais
0c46068af0 Change time parameters and variables to double type
Addresses #65313
2022-09-26 13:52:54 -05:00
Eric M
af438ae742 Ensure popup menu redraws items when shortcuts update. 2022-09-26 23:21:32 +10:00
bruvzg
970592274d
[RTL] Fix font variations / OpenType features of theme default font not updated when default font is changed. 2022-09-26 13:04:40 +03:00
Rémi Verschelde
1b31241445 Merge pull request #65540 from MewPurPur/easier-bookmarks
Implement Shift+LMB as a Way to Toggle Bookmarks
2022-09-26 08:20:40 +02:00
Rémi Verschelde
56c7305f70 Merge pull request #66288 from bruvzg/te_fix_color
[TextEdit] Use error/selection font color for the current glyph only, instead of updating cached font color.
2022-09-25 11:04:14 +02:00
Micky
544727ac1e Fix ColorPicker always emitting color_changed on html submit
The color change was always emitted when the the modal was closed, even if it was exactly the same as before.
2022-09-24 18:15:06 +02:00
Eric M
2eda77c682 Ensure all checks of is_action in the editor which are for 'shortcut' use, check the action exactly. 2022-09-24 18:01:02 +10:00
bruvzg
3278917c7a
[TextEdit] Use error/selection font color for the current glyph only, instead of updating cached font color. 2022-09-23 11:25:39 +03:00
Rémi Verschelde
1928492b41 Merge pull request #65158 from nongvantinh/fixed-infinite-loop
Fixes engine runs into an infinite loop when searching using FindBar
2022-09-23 09:45:34 +02:00
Aaron Franke
c3970f8fe5
Revert custom_minimum_size type back to Vector2 instead of Vector2i 2022-09-22 19:09:12 -05:00
Rémi Verschelde
9f2748f63c Merge pull request #66213 from KoBeWi/not_right_but_works™
Remove duplicate code in ItemList
2022-09-21 18:55:12 +02:00
kobewi
4a0e03cea5 Remove duplicate code in ItemList 2022-09-21 15:37:01 +02:00
Ninni Pipping
df9eaf5f47 Tree recursive folding 2022-09-21 13:28:29 +02:00
Rémi Verschelde
11602cbcfd Merge pull request #66126 from RedMser/shortcut-context-inspector
Fix editing `shortcut_context` in inspector
2022-09-21 11:04:44 +02:00
Rémi Verschelde
bcf754d735 Merge pull request #66068 from bruvzg/rtl_fx_connected
[RTL] Add option to apply built-in effects to the individual connected glyphs.
2022-09-19 22:05:47 +02:00
Rémi Verschelde
209a837f79 Merge pull request #66112 from Zylann/get_configuration_warnings_psa
Change return type of `get_configuration_warnings` to `PackedStringArray`
2022-09-19 22:03:44 +02:00
RedMser
a12c71fff1 Fix #66062: editing shortcut_context in inspector 2022-09-19 19:13:52 +02:00
Marc Gilleron
aed3822a93 Change return type of get_configuration_warnings to PackedStringArray 2022-09-19 16:43:15 +01:00
bruvzg
46af7cbfdd
[RTL] Add option to apply built-in effects to the individual connected glyphs. 2022-09-19 18:10:32 +03:00
Markus Sauermann
52da6f1a44 Update mouse cursor shape after changes
This fixes some cases where the mouse cursor shape did not change automatically, but instead required a MouseMove to update.
2022-09-18 17:15:38 +02:00
Rindbee
65f97c671c Make the inner TabBar in a TabContainer behave as if it were in a Container 2022-09-18 20:55:13 +08:00
Rémi Verschelde
6e8638683e Merge pull request #66012 from Rindbee/fix-TabContainer-minimum_size
Fix minimum size calculation for `TabContainer`
2022-09-18 10:48:08 +02:00
Rindbee
464c374372 Fix minimum size calculation for TabContainer 2022-09-18 06:59:48 +08:00
bruvzg
2a0b4244b7
Fix RichTextLabel not updating on theme/theme override change until text is updated. 2022-09-16 22:24:11 +03:00
Hendrik Brucker
299585fcde Add configuration warning to GraphEdit regarding future refactoring 2022-09-14 18:09:21 +02:00
bruvzg
2aa226f5e1
RTL Improvements
Do not apply negative line separation to the last line.
Ensure all methods immediately update cache in a single thread mode.
Fix bbcode_enabled change not being applied until text is changed.
Fix crash if line height is zero or less.
2022-09-13 11:40:20 +03:00
Yuri Sizov
29c8504dd9 Improve parameter naming and documentation in GraphEdit and GraphNode
Co-authored-by: Maganty Rushyendra <mrushyendra@yahoo.com.sg>
2022-09-09 17:50:44 +03:00
VolTer
c8cb93d022 Shift+LMB to Toggle Bookmarks 2022-09-08 22:23:14 +02:00
Michael Alexsander
c4c9e41073 Make Vector2i values paired with EDSCALE be just Vector2 2022-09-08 14:46:32 -03:00
Rémi Verschelde
69233093d7 Merge pull request #65241 from bruvzg/no_keymap_ambiguity
Fix key mapping changes when moving from macOS to other platform.
2022-09-08 09:24:24 +02:00
Rémi Verschelde
7936b3cc4c Merge pull request #60108 from KoBeWi/arise_to_top
Rename raise() to move_to_front()
2022-09-08 09:23:31 +02:00
bruvzg
ac1f2b378f
[RTL] Stop threaded RTL auto-redrawing as soon as text processing is finished, instead of waiting for first redraw. 2022-09-07 22:24:30 +02:00
bruvzg
6f4d233062
Fix key mapping changes when moving from macOS to other platform
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
Rémi Verschelde
81de16890e Merge pull request #65375 from ItsNL/fix-accep-dialog-its_inside_tree-false
Condition "!is_inside_tree()" is true" when AcceptDialog was visible from the editor.
2022-09-07 17:53:46 +02:00
Rémi Verschelde
54942038ac Merge pull request #65389 from Rindbee/fix-file-list-in-FileDialog-not-updating
Fix file list in FileDialog not updating on first run
2022-09-07 17:53:09 +02:00
Rémi Verschelde
48705b1f03 Merge pull request #65355 from groud/split_container_min_grab_thickness
Allow SplitContainer to have a grab area larger than its visual grabber
2022-09-07 17:51:52 +02:00
=
2de52c74ae Fix "grab_focus: Condition "!is_inside_tree()" is true" when AcceptDialog was visible from the editor. 2022-09-07 17:04:26 +02:00
Rindbee
88b72c3de4 Fix file list in FileDialog not updating on first run 2022-09-07 21:36:21 +08:00
Gilles Roudière
4cbcb5acda Allow SplitContainer to have a grab area larger than its visual grabber 2022-09-07 12:33:02 +02:00
Micky
08c2aab169 Rename ProgressBar.percent_visible to show_percentage
`percent_visible` -> `show_percentage`
`set_percent_visible` -> `set_show_percentage`
`is_percent_visible` -> `is_percentage_shown`
2022-09-07 11:58:30 +02:00
Rémi Verschelde
2841bc358c Merge pull request #65446 from YuriSizov/dialogs-make-styleboxes-matter
Make `AcceptDialog` and derivatives utilize `StyleBox` fully
2022-09-07 09:09:15 +02:00
Rémi Verschelde
80dacac90c Merge pull request #65437 from YuriSizov/theme-gui-renames
Improve naming of theme properties throughout GUI code
2022-09-07 08:58:00 +02:00
Rémi Verschelde
5c5079b398 Merge pull request #65197 from Mickeon/rename-connect-one-shot
Rename CONNECT_ONESHOT to CONNECT_ONE_SHOT
2022-09-07 08:51:10 +02:00
Rémi Verschelde
3515382390 Merge pull request #64361 from Mickeon/rename-caret-blink
Rename every instance of `caret_blink_speed` to `caret_blink_interval`
2022-09-07 08:51:02 +02:00
Yuri Sizov
5eaf82b4f0 Make AcceptDialog and derivatives utilize StyleBox fully 2022-09-07 01:42:11 +03:00
kobewi
b218727599 Rename raise() to move_to_front() 2022-09-06 22:13:06 +02:00
Yuri Sizov
39ef611a7d Fix theming code in Panel, SplitContainer, RichTextLabel 2022-09-06 22:53:19 +03:00
Yuri Sizov
43f03e2ce6 Improve naming of theme properties throughout GUI code
Rename ItemList's bg -> panel
Rename ItemList's bg_focus -> focus
Rename ProgressBar's bg -> background
Rename ProgressBar's fg -> fill
Rename Tree's bg -> panel
Rename Tree's bg_focus -> focus
Rename ScrollContainer's bg -> panel
Rename FileDialog's *_icon_modulate -> *_icon_color
Rename FileDialog's files_disabled -> file_disabled_color
Rename CheckButton's on/off -> checked/unchecked
Rename check_v_adjust -> check_v_offset
2022-09-06 22:53:17 +03:00
Micky
dd26ecdd31 Rename CONNECT_ONESHOT TO CONNECT_ONE_SHOT
For consistency. Every other exposed `one_shot` is spaced out like this.
2022-09-06 19:00:33 +02:00
Micky
6dbd283ae5 Rename every instance of caret_blink_speed to caret_blink_interval
It's been changed in EditorSettings, LineEdit, TextEdit.

Affects setters and getters, and passed parameters, too.
2022-09-06 18:37:17 +02:00
Vitika9
1dce43d417 ColorPicker UX improvements
- Tabs and MenuButton for mode selection and enabling/disabling colorized sliders
- MenuButton for shape selection with new icon for each shape
- Drag and drop functionality for presets to arrange order
- A chronological list of recently selected presets which are global for the editor
- Presets are now highlighted as being active or inactive
- Thicker sliders for easy targeting
- `grabber_offset` theme constant for Slider
- Uncolorized sliders
2022-09-06 21:42:20 +05:30
Rémi Verschelde
49d18f0725 Merge pull request #65423 from YeldhamDev/i_want_to_ride_my_bycicle
Rename `PopupMenu`'s `set/get_current_index()` to `set/get_focused_item()`
2022-09-06 17:00:58 +02:00
Rémi Verschelde
5062aafc2d Merge pull request #64417 from aaronfranke/has-space
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
2022-09-06 17:00:44 +02:00
Michael Alexsander
9507e91c07 Rename PopupMenu's set/get_current_index() to set/get_focused_item() 2022-09-06 10:51:14 -03:00
Micky
b6daad8d4b Rename range_lerp to remap 2022-09-06 07:19:20 +02:00
Rémi Verschelde
b5c053321c Merge pull request #64840 from maximkulkin/graph-edit-node-selection
Add GraphNode 'selected' and 'deselected' signals, simplify GraphEdit
2022-09-05 08:36:10 +02:00
Maxim Kulkin
9a35ede23f Add GraphNode 'selected' and 'deselected' signals, simplify GraphEdit 2022-09-05 02:32:06 -04:00
Rémi Verschelde
1499840f75 Merge pull request #65028 from groud/fix_split_container
Improve SplitContainer behavior, keeping asked split position whenever possible
2022-09-05 08:30:11 +02:00
Aaron Franke
995b9f94e8
Replace Rect2(i) has_no_area with has_area 2022-09-04 23:03:36 -05:00
Rémi Verschelde
597bc949a4 Merge pull request #65250 from YuriSizov/theme-owner-rises 2022-09-02 23:20:49 +02:00
Rémi Verschelde
77ca96fd73 Merge pull request #59589 from Calinou/rename-or-lesser-range-property-hint 2022-09-02 23:13:20 +02:00
Yuri Sizov
8b128081e8 Un-defer the initial theme changed notification
Co-authored-by: Rindbee <idleman@yeah.net>
2022-09-02 23:44:23 +03:00
Yuri Sizov
ddc55ef746 Add ThemeOwner type for managing theme propagation and lookup 2022-09-02 23:44:23 +03:00
Rémi Verschelde
33b4153764
Merge pull request #64917 from Tim-Fronsee/fix/add-gutter-total-width 2022-09-02 20:52:11 +02:00
Gilles Roudière
2ddda13339 Improve SplitContainer behavior, keeping asked split whenever possible 2022-09-02 20:48:50 +02:00
Hugo Locurcio
f7292dbeb3
Rename or_lesser range property hint to or_less
"less" should be used for quantity, rather than "lesser".

Existing scripts that use `or_lesser` in `_get_property_list()`
will need to be updated to account for this change.
2022-09-02 19:08:20 +02:00
Rémi Verschelde
fe2cf6e406 Merge pull request #65210 from YuriSizov/control-customizable-cache-p3 2022-09-02 13:51:52 +02:00
Rémi Verschelde
c82bbc38a5 Merge pull request #64952 from Chaosus/vs_rename_uniform_to_param 2022-09-02 13:49:53 +02:00
Yuri Sizov
fc7cef8dec Fix theme propagation in various parts of the editor 2022-09-02 13:18:31 +03:00
Rémi Verschelde
5a136ee490 Merge pull request #64724 from KoBeWi/HVBoxContainer 2022-09-02 08:44:42 +02:00
Jonathan Nicholl
15d057c521 Add is_zero_approx methods to Vector2, 3, and 4 2022-09-02 00:29:50 -04:00
Rémi Verschelde
7e3afc3d09 Merge pull request #65213 from Mickeon/fix-label-visible-ratio 2022-09-01 23:49:28 +02:00
Rémi Verschelde
5263fd5343 Merge pull request #64198 from Geometror/add-bitmap-tests 2022-09-01 23:46:38 +02:00
kobewi
73929bef73 Rework oriented containers 2022-09-01 22:13:46 +02:00
Micky
511134f55f Fix Label & RichTextLabel's visible_ratio not working 2022-09-01 19:22:12 +02:00
Rémi Verschelde
8c7be63588
Merge pull request #65192 from YuriSizov/control-customizable-cache-p2 2022-09-01 19:09:33 +02:00
Rémi Verschelde
dcd74563b6
Merge pull request #65156 from YuriSizov/control-customizable-cache-p1 2022-09-01 19:08:02 +02:00
Hendrik Brucker
ea0472fecf Refactor BitMap and add tests
Co-authored-by: Resul Çelik <resul_celik@hotmail.com>
2022-09-01 18:39:17 +02:00
Rémi Verschelde
027415312e
Merge pull request #65132 from bruvzg/global_menu_shortcuts_context 2022-09-01 17:02:04 +02:00
Yuri Sizov
3b1aa240dc Add a lifecycle method for manual theme item caching to Control 2022-09-01 16:35:36 +03:00
Yuri Sizov
15fd025f90 Add dumb and manual theme caching systems to Window 2022-09-01 16:05:02 +03:00
Yuri Rubinsky
8191b3c110 Rename uniform to parameter across the engine 2022-09-01 11:42:57 +03:00
Rémi Verschelde
0a34994720
Merge pull request #65117 from YeldhamDev/menubar_key_fix
Fix switching `MenuBar`'s menus with the keys while mouse hovering
2022-09-01 08:46:01 +02:00
Rémi Verschelde
d22f2612f9
Merge pull request #65162 from YuriSizov/editor-gradients-united
Unite `GradientEdit` and `GradientEditor` as editor-only widget
2022-09-01 08:30:16 +02:00
bruvzg
b85a4c5d79
[macOS] Handle accelerator and click events of the global menu items separately. 2022-09-01 08:13:56 +03:00
bruvzg
7aad14a4b6
[TextServer] Add support for trimming edge spaces on line break. 2022-09-01 08:11:55 +03:00
Yuri Sizov
93078ea551 Unite GradientEdit and GradientEditor as editor-only widget 2022-08-31 23:45:04 +03:00
Nong Van Tinh
97c0b0c74a Fixes #64962 that cause program run into infinite loop 2022-09-01 01:26:08 +07:00
Tim Fronsee
e5c183b01e Fix TextEdit::gutters_width (total gutter width) when adding & removing a gutter by calling TextEdit::_update_gutter_width in TextEdit::add_gutter & TextEdit::remove_gutter
Update TextEdit gutters subcase, gutter add and remove to ensure gutter total width is correct

Fix test_code_edit symbol lookup test case to include padding (+2)
2022-08-31 10:01:40 +09:00
Michael Alexsander
9e0de4e2cb Fix switching MenuBar's menus with the keys while mouse hovering 2022-08-30 20:18:35 -03:00
Rémi Verschelde
e27b61d291
Merge pull request #65042 from YuriSizov/editor-docks-tabbar-bg 2022-08-30 18:53:54 +02:00
Rémi Verschelde
ae349d8227
Merge pull request #64377 from Mickeon/rename-canvas-redraw
Rename `CanvasItem.update()` to `queue_redraw()`
2022-08-30 14:47:41 +02:00
Rémi Verschelde
ebe4f8d3a4
Merge pull request #65039 from Mickeon/rename-treeitem-tooltip 2022-08-30 14:05:08 +02:00
Micky
97f8c9b97c Rename TreeItem's set_tooltip to set_tooltip_text
`set_tooltip` -> `set_tooltip_text`
`get_tooltip` -> `get_tooltip_text`

For consistency:
`get_button_tooltip` -> `get_button_tooltip_text`
And the `tooltip` parameter in `add_button` was renamed to `tooltip_text`
2022-08-30 11:16:23 +02:00
Aaron Franke
10a56981dc
Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
Yuri Sizov
8b196be855 Add background to TabContainer's tabbar and editor docks 2022-08-29 23:43:32 +03:00
Micky
e31bb5ffeb Rename CanvasItem.update() to queue_redraw()
Affects a lot of classes. Very thoroughly checked signal connections and deferred calls to this method, add_do_method/add_undo_method calls, and so on.

Also renames the internal `_update_callback()` to `_redraw_callback()` for consistency.

Just a few comments have also been changed to say "redraw".

In CPUParticles2D, there was a private variable with the same name. It has been renamed to `do_redraw`.
2022-08-29 14:59:47 +02:00
Rémi Verschelde
e60086f98b
Merge pull request #64119 from YuriSizov/theme-init-database 2022-08-29 14:02:21 +02:00
Rémi Verschelde
fd6453c45e Revert "Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED"
This reverts commit 4b817a565c.

Fixes #64988.
Fixes #64997.

This caused several regressions (#64988, #64997,
https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605)
which point at a flaw in the current logic:

- `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with
  `NOTIFCATION_THEME_CHANGED` as introduced in #62845.
- Some classes use their `THEME_CHANGED` to cache theme items in
  member variables (e.g. `style_normal`, etc.), and use those member
  variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE`
  notification is now deferred, they end up accessing invalid state and this
  can lead to not applying theme properly (e.g. for EditorHelp) or crashing
  (e.g. for EditorLog or CodeEdit).

So we need to go back to the drawing board and see if `THEME_CHANGED` can be
called earlier so that the previous logic still works?

Or can we refactor all engine code to make sure that:
- `ENTER_TREE` and similar do not depend on theme properties cached in member
  variables.
- Or `THEME_CHANGE` does trigger a general UI update to make sure that any
  bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE`
  does arrive for the first time. But that means having a temporary invalid
  (and possibly still crashing) state, and doing some computations twice
  which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-29 11:11:29 +02:00
Rémi Verschelde
223e083d36
Merge pull request #64964 from MewPurPur/reorganize-label-properties
Reorganize Label and RichTextLabel properties
2022-08-29 09:52:04 +02:00
Rémi Verschelde
f647292df5
Merge pull request #64960 from YeldhamDev/more_hl_stuff 2022-08-29 08:05:33 +02:00
Rémi Verschelde
34f45d7b28
Merge pull request #64967 from YeldhamDev/pm_up_fix 2022-08-29 07:56:03 +02:00
Rémi Verschelde
93cf259834
Merge pull request #64972 from YeldhamDev/you_too_menubar 2022-08-29 07:55:46 +02:00
Rémi Verschelde
f7f8af232c
Merge pull request #64885 from Mickeon/rename-tooltip-hint
Rename `hint_tooltip` to `tooltip_text` & setter getter
2022-08-28 17:43:01 +02:00
VolTer
832950d1f2 Reorganized Label and RichTextLabel properties 2022-08-28 10:26:04 +02:00
Michael Alexsander
44c64b912f Add item auto-highlighting to MenuBar 2022-08-28 01:49:22 -03:00
Michael Alexsander
221344b9e2 Fix some corner cases in the Menu/OptionButton item auto-highlight 2022-08-28 01:15:03 -03:00
Michael Alexsander
06df59887b Fix crash when pressing up on an empty PopupMenu 2022-08-27 18:13:27 -03:00
Rémi Verschelde
d3db8bbebd
Merge pull request #62846 from AaronRecord/remove_redundant_theme_updates_in_enter_tree
Remove `NOTIFICATION_ENTER_TREE` when paired with `NOTIFICATION_THEME_CHANGED`
2022-08-27 21:56:14 +02:00
Aaron Record
4b817a565c Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED 2022-08-27 11:52:29 -06:00
Phnix
fe1f8443a4 incorrect range value with min value and step
If the minimum value and the steps are greater than 0, the value will not be calculated correctly.

Co-Authored-By: Astral-Sheep <109028693+Astral-Sheep@users.noreply.github.com>
2022-08-27 18:55:58 +02:00
Rémi Verschelde
f9998455ce
Merge pull request #63249 from V-Sekai/animation_tree_editor_read_only
Add read-only mode to AnimationTreeEditor plugins
2022-08-27 08:14:30 +02:00
Micky
ef5b9a06a9 Rename hint_tooltip to tooltip_text & setget
`hint_tooltip` -> `tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`_get_tooltip` -> `get_tooltip_text`

Updates documentation, too.
2022-08-27 01:35:01 +02:00
Rémi Verschelde
f9f2446972
Merge pull request #64367 from Mickeon/rename-var-to-str
Rename `str2var` to `str_to_var` and similar
2022-08-26 23:04:06 +02:00
Rémi Verschelde
4f60fd0480
Merge pull request #64777 from bruvzg/extend_to_title
[macOS] Extend editor contents to the window title bar for better space usage.
2022-08-26 23:03:31 +02:00
Yuri Sizov
6320a0fc18 Add ThemeDB, expose previously static Theme methods 2022-08-26 19:23:05 +03:00
Rémi Verschelde
ecfff5b75e Revert SplitContainer minimum size splitting changes (#64676 and #64800)
This reverts commits 185b1a5bd3 and 19ad31b89f.

The original PR and its fixup still had regressions, so we're going back
to the drawing board to reattempt fixing #43749.

Fixes #64785.
Fixes #64851.
Fixes #64866.
2022-08-26 15:57:17 +02:00
Micky
59e11934d8 Rename str2var to str_to_var and similar
Affects the Math class, a good chunk of the audio code, and a lot of other miscellaneous classes, too.

- `var2str` -> `var_to_str`
- `str2var` -> `str_to_var`
- `bytes2var` -> `bytes_to_var`
- `bytes2var_with_objects` -> `bytes_to_var_with_objects`
- `var2bytes` -> `var_to_bytes`
- `var2bytes_with_objects` -> `var_to_bytes_with_objects`
- `linear2db` -> `linear_to_db`
- `db2linear` -> `db_to_linear`
- `deg2rad` -> `deg_to_rad`
- `rad2deg` -> `rad_to_deg`

- `dict2inst` -> `dict_to_inst`
- `inst2dict` -> `inst_to_dict`
2022-08-26 14:58:22 +02:00
Rémi Verschelde
c8ef12a03a
Merge pull request #64665 from Mickeon/rename-label-visible 2022-08-26 14:54:37 +02:00
bruvzg
bc4ba6cb78
[macOS] Extend editor contents to the window titlebar for better space usage. 2022-08-26 15:12:43 +03:00
Rémi Verschelde
ff612b6916
Merge pull request #64574 from Begah/fix_transient_window_wrap_mouse 2022-08-26 13:54:23 +02:00
Rémi Verschelde
0c639428dd
Merge pull request #64529 from KoBeWi/suffix_begone 2022-08-26 13:39:14 +02:00
Micky
64bd36ecee Rename Label & RichTextLabel.percent_visible to visible_ratio
Also updates the documentation of both `visible_characters` and `visible_ratio` to, better describe what they do and improve consistency between the two Classes.
2022-08-26 12:15:57 +02:00
Rémi Verschelde
ac7b5111f5
Merge pull request #64768 from bruvzg/popups_hide_if_visible 2022-08-26 11:59:50 +02:00
Rémi Verschelde
fed1189099
Merge pull request #62771 from bruvzg/line_edit_trim 2022-08-26 11:43:28 +02:00
Aaron Record
74eb2a70bd Refactor and remove excessive calls of NOTIFICATION_THEME_CHANGED 2022-08-25 14:50:49 -06:00
SaracenOne
75f1357ced Add read-only mode to AnimationTreeEditor plugins 2022-08-25 16:29:36 +01:00
MathieuRoux
5ac5c8bc06 Fix warp_mouse for transient windows, smoother mouse positioning when releasing mouse for spinbox 2022-08-25 11:30:49 +02:00
Rémi Verschelde
0a5f5c8558
Merge pull request #64536 from Mickeon/editor-tree-icon-size
Account for TreeItem's Cell icon and center the text Popup vertically
2022-08-25 09:56:08 +02:00
Rémi Verschelde
1adcd0327f
Merge pull request #64806 from Zylann/graph_node_protected_validate_property
Make GraphNode::_validate_property protected so GraphNode can be inherited
2022-08-25 07:30:42 +02:00
Rémi Verschelde
efedef8eb1
Merge pull request #64837 from YuriSizov/control-disconnect-from-everything-and-free-yourself
Disconnect Control from theme resources to avoid issues on destruction
2022-08-25 00:04:17 +02:00
Marc Gilleron
22fcdffd17 Make GraphNode::_validate_property protected so GraphNode can be inherited.
It's not about overriding or accessing `_validate_property`,
but since `_validate_property` became a multilevel method,
the GDCLASS macro now tries to access the one from the parent class,
which causes a compiling error if the parent class declares
`_validate_property` as private.
2022-08-24 21:29:32 +01:00
Rémi Verschelde
b7d2ba12c8
Merge pull request #64635 from YeldhamDev/menu_buttons_popup_fix
Make `Menu/OptionButton` item auto-highlight behave better
2022-08-24 19:07:25 +02:00
Yuri Sizov
bb5fa91a6b Disconnect Control from theme resources to avoid issues on destruction 2022-08-24 18:50:04 +03:00
Rémi Verschelde
4698dc67b5
Merge pull request #64082 from KoBeWi/array3k 2022-08-24 16:05:59 +02:00
Yuri Sizov
5d14d08702
Merge pull request #59226 from Rindbee/better-setters-in-gui-controls
Improve the setters in gui, return directly if the value does not change.
2022-08-24 17:03:54 +03:00
Yuri Sizov
78f3e4cb6a
Merge pull request #64369 from derammo/derammo_tree_right_click_title
Replace Tree control left click on title signal with new signal for either left or right click
2022-08-24 16:16:53 +03:00
derammo
0ba2e999df implemented right click on Tree control header 2022-08-24 08:10:40 -04:00
kobewi
f7f4873ed0 Replace Array return types with TypedArray 3 2022-08-24 12:53:36 +02:00
Rémi Verschelde
c3a8ec3cbb
Merge pull request #64800 from KoBeWi/split_hax
Handle child control size changes in SplitContainer
2022-08-24 09:50:46 +02:00
Rémi Verschelde
854eb58074
Merge pull request #64783 from bruvzg/fix_rtl_min_size
Fix RTL min. size not triggering text cache update.
2022-08-24 09:49:00 +02:00
Rémi Verschelde
91e5f48ea7
Merge pull request #64009 from KoBeWi/arrayy_lmao
Replace Array return types with TypedArray (part 2)
2022-08-24 08:18:56 +02:00
kobewi
1abdffe7a0 Replace Array return types with TypedArray 2 2022-08-23 23:21:32 +02:00
kobewi
19ad31b89f Handle child control size changes in SplitContainer 2022-08-23 20:41:10 +02:00
Rémi Verschelde
bbe8d2b03e
Merge pull request #64767 from bruvzg/meta_click 2022-08-23 18:15:44 +02:00
风青山
e561c68256 Add some codes, returnes directly if the value is not changed.
Avoid executing the following value-changed logics if the value does not really change.
2022-08-23 23:25:22 +08:00
bruvzg
f02d45ce0c
Fix RTL min. size not triggering text cache update. 2022-08-23 16:27:45 +03:00
Rémi Verschelde
11506eb24d
Merge pull request #64676 from KoBeWi/split_and_conquer 2022-08-23 10:28:09 +02:00
bruvzg
cd095ab64a
Hide MenuButton / OptionButton popup on click if it's already visible. 2022-08-23 10:38:51 +03:00
bruvzg
80a47ab0f9
[RTL] Improve meta click position. 2022-08-23 09:57:22 +03:00
Rémi Verschelde
62c3e72b6f
Merge pull request #63959 from KoBeWi/typo_arrray
Replace Array return types with TypedArray (part 1)
2022-08-23 08:52:13 +02:00
kobewi
8be27dc59e Replace Array return types with TypedArray 2022-08-22 22:42:36 +02:00
Rémi Verschelde
9744becc39
Merge pull request #63891 from derammo/derammo_tree_cache 2022-08-22 22:41:28 +02:00
Rémi Verschelde
b9ea0e1338
Merge pull request #64218 from Rindbee/fix-button-minimum-size-calculation 2022-08-22 22:40:59 +02:00
Rémi Verschelde
1f61d47766
Merge pull request #64339 from YuriSizov/core-multilevel-validate-property 2022-08-22 21:39:48 +02:00
Rémi Verschelde
acd8fb7bf0
Merge pull request #64626 from YuriSizov/control-farewell-meta
Replace meta properties with regular properties in `Control`
2022-08-22 19:26:32 +02:00
Rémi Verschelde
99548e521d
Merge pull request #64711 from YeldhamDev/itemlist_scroll_fix 2022-08-22 17:37:38 +02:00
Yuri Sizov
1a24c9e14b Make _validate_property a multilevel method 2022-08-22 18:35:11 +03:00
Rémi Verschelde
dabc982393
Merge pull request #64618 from bruvzg/fix_menu_min_size 2022-08-22 17:33:27 +02:00
Micky
9a63792a08 Clamp Label's percent_visible properly between 0 and 1.0
Also applies to RichTextLabel
2022-08-22 12:03:03 +02:00
Michael Alexsander
e298144a41 Fix ItemList selection visual when the scrollbar visibility changes 2022-08-21 22:10:41 -03:00
kobewi
185b1a5bd3 Improve SplitContainer minimum size splitting 2022-08-21 03:30:11 +02:00
bruvzg
8f2083e6c0
Fix MenuBar minimum size adding unnecessary extra spacing after the last item. 2022-08-19 22:04:58 +03:00
Michael Alexsander
1da50698fc Make Menu/OptionButton item auto-highlight behave better 2022-08-19 14:54:53 -03:00
Yuri Sizov
e08feee8a6 Replace meta properties with regular properties in Control 2022-08-19 20:52:01 +03:00
bruvzg
2040087898
Fix MenuBar not processing shortcuts. 2022-08-19 16:49:50 +03:00
Micky
550616293a Account for TreeItem's Cell icon and center the text Popup vertically 2022-08-19 13:21:19 +02:00
Max Hilbrunner
420a8c888e
Merge pull request #63950 from bruvzg/menu_bar3
Implement MenuBar control to wrap Popup menus or native menu, use native menu for editor.
2022-08-19 01:24:24 +02:00
Clay John
903a3a641e
Merge pull request #64315 from Daylily-Zeleen/fixed-GraphEdit-signal-argument-type
Fixed GraphEdit signal argument type
2022-08-18 14:50:33 -06:00
bruvzg
8c56a7416b
Implement MenuBar control to wrap PopupMenus or native menu, use native menu for editor. 2022-08-18 22:25:44 +03:00
kobewi
da0c4221f0 Hide prefix/suffix on SpinBox focus 2022-08-17 13:32:25 +02:00
Tomasz Chabora
2bdd7e9ea0 Add methods for node reparenting 2022-08-16 19:44:41 +02:00
daylilyzeleen
64e33d9ed1 fixed GraphEdit signal argument type 2022-08-12 20:18:36 +08:00
Rindbee
4a3a15c304 Fix case where h_separation might not work in Button
This patch mainly solves two things:
1. The typo of `h_separation`;
2. Negative values of `h_separation` will be treated as `0` when used, to prevent the button's minimum `width` from being reduced by `h_separation`.
2022-08-12 19:57:08 +08:00
Yuri Sizov
9f88300007 Add dumb theme item cache to Control 2022-08-12 14:36:06 +03:00
Yuri Sizov
f3e849edf4
Merge pull request #64267 from bruvzg/le_secret
Change `LineEdit` default secret character from "*" to "•".
2022-08-11 16:28:22 +03:00
kobewi
e06cd2742f Add missing properties to default theme 2022-08-11 14:15:04 +02:00
bruvzg
93b39fad2f
Change LineEdit secret character from "*" to "•". 2022-08-11 13:55:11 +03:00
Yuri Sizov
1362bc22bd Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript 2022-08-08 16:36:01 +03:00
Rémi Verschelde
3249b7d40d
Merge pull request #63859 from Rindbee/fix-hue-slider-incorrectly-rotated
Fix Hue slider incorrectly rotated 90 degrees in ColorPicker
2022-08-06 00:25:55 +02:00
Rémi Verschelde
99aa97949f
Merge pull request #63958 from hakro/fix-control-animation-keys
Remove rect_ prefix from control properties when keyframing
2022-08-06 00:17:37 +02:00
Hakim
60677c4e95 Remove rect_ prefix from control properties when keyframing 2022-08-05 16:04:51 +02:00
Yuri Sizov
62d14ca22d Round icon position and size in buttons to make them look sharper 2022-08-05 15:48:45 +03:00
Rémi Verschelde
25915cdd0e
Merge pull request #59844 from Calinou/rename-shader-param-methods 2022-08-05 02:52:06 +02:00
Hugo Locurcio
db22b7ded0
Rename shader parameter uniform setter/getter methods for consistency
`shader_uniform` is now consistenly used across both per-shader
and per-instance shader uniform methods. This makes methods easier
to find in the class reference when looking for them.
2022-08-04 23:17:06 +02:00
Rémi Verschelde
daa1220a86
Merge pull request #61856 from iwek7/label_overflowing_text 2022-08-04 22:03:29 +02:00
Rémi Verschelde
49ac05550e
Merge pull request #63838 from tefusion/fix-arrange-nodes-freeze
Fix GraphEdit::arange_nodes causing a freeze when cycle in Graph
2022-08-04 19:36:22 +02:00
iwek
efcdfc2332 Fix issue with overlaping text label text 2022-08-04 19:19:33 +02:00
Rémi Verschelde
e9f8b2d190
Merge pull request #58536 from winterpixelgames/feature/virtual-keyboard-types
Add support for multiple virtual keyboard types
2022-08-04 19:11:40 +02:00
Rémi Verschelde
84acfd69d7
Merge pull request #54792 from EIRTeam/independent_arrows 2022-08-04 18:09:29 +02:00
tefusion
f1c19e058c Fix GraphEdit::arange_nodes causing a freeze
When a Graph contains cycles, e.g. 1->2->3->1 _layering would end
up in an infinite loop since IS_SUBSET would never be true.
By keeping check of the size of z, which contains the already layered
nodes, one can detect a freeze (since it should change after
current_layer increases. If it doesn't "u" didn't change and q and u
will  never be equal resulting  in a freeze/infinite while loop).
If a freeze happens warn the user and put all the nodes part of the
cycle (leftover in p) to the  first layer which will end up in them
being listed top to bottom.
2022-08-04 17:13:56 +02:00
Brian Semrau
103c0fa6e6 Add support for multiple virtual keyboard types 2022-08-04 10:41:33 -04:00
Jóhannes Gunnar Þorsteinsson
ba35cff303 Independent spinbox arrow step precision
Rebased by EIREXE

This work has been kindly sponsored by IMVU & EIRTeam.
2022-08-04 14:48:46 +02:00
derammo
4e6c8e00fc fixed Tree UI control bug corrupting child cache 2022-08-04 08:24:51 -04:00
Rindbee
7869ea236e Fix Hue slider incorrectly rotated 90 degrees in ColorPicker 2022-08-04 11:30:03 +08:00
Rémi Verschelde
3ea9a7daea
Merge pull request #63791 from V-Sekai/mend-ok-hsl-washout 2022-08-03 16:06:53 +02:00
Rémi Verschelde
e38118c960
Merge pull request #59303 from KoBeWi/check_out_my_very_long_button 2022-08-03 15:06:54 +02:00
Rémi Verschelde
4ac993ffe2
Merge pull request #63348 from Rindbee/fix-toggling-after-scrolling-causes-blank 2022-08-03 14:42:19 +02:00
kobewi
24d02dfb47 Add fit_to_longest_item to OptionButton 2022-08-02 23:37:43 +02:00
kobewi
9a2758e374 Fix GraphNode slot list 2022-08-02 15:39:56 +02:00
Johan Aires Rastén
26ebea7286 Fix ColorPicker color and hsv sync issue
ColorPicker has both a Color and HSV values for the currently selected
color, fixed a few cases where those were not kept in sync.

Refactored a little regarding this, and removed a redundant update.

Solves #63777
2022-08-01 23:05:44 +02:00
K. S. Ernest (iFire) Lee
8b64e331c3 Mend the non-matching okhsl colors.
Closer match.
2022-08-01 13:20:11 -07:00
golfinq
b341339415 Add padding options in theme for fg/bgcolor tags 2022-07-31 12:24:07 -04:00
Johannes Witt
2fb69afde6
Add GraphEdit.is_node_hover_valid(...) method
This is a virtual method that can be used to add additional error
condition checks while the connection is still being dragged. If true is
returned, the connection is valid. If false is returned, the connection
is invalid and thus not possible (ie. it will not snap). The virtual
method is exposed with an underscore to scripts.
2022-07-31 15:35:26 +02:00
Rindbee
a7eecc61ad Fix toggling after scrolling resulted in blank space
Previously, the data used by `update_scrollbars()` and `_update_dimensions()` in their calculations depended on each other, which caused some problems.

Now, the calculation of `child_max_size` is put into `get_minimum_size()`, as the containers call `update_minimum_size()` before calling `queue_sort()`.

Make the semantics of variable/function names more clear.

Co-authored-by:  Aaron Record <aaronjrecord@gmail.com>
2022-07-31 09:32:20 +08:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Rindbee
d0df11762b Fix Color Picker value box not continuously updating 2022-07-28 19:08:53 +08:00
Rémi Verschelde
cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support 2022-07-27 13:38:30 +02:00
Rémi Verschelde
d04c154585
Merge pull request #63318 from YuriSizov/control-code-reorg 2022-07-27 10:47:12 +02:00
Yuri Sizov
6ca95003a9 Reorganize code of control.cpp for better maintainability 2022-07-26 23:03:49 +03:00
Rémi Verschelde
6d57e209e9
Merge pull request #63482 from bruvzg/fix_rtl_theme_font_sizes 2022-07-26 11:08:29 +02:00
bruvzg
94e5ad2019
[RichTextLabel] Fix theme bold / italics / bold italics and mono font size not applied correctly. 2022-07-26 10:45:40 +03:00
Rémi Verschelde
c3dc887c41
Merge pull request #63472 from timothyqiu/tree-row-cell-bg
Tree: Don't draw selection background of individual cells in Row mode
2022-07-26 07:53:37 +02:00
bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows. 2022-07-26 08:38:05 +03:00
Haoyu Qiu
6486d261aa Tree: Don't draw selection background of individual cells in Row mode 2022-07-26 10:09:11 +08:00
kobewi
5315c9597f Fix negative indices in TreeItem 2022-07-25 22:15:15 +02:00
Rémi Verschelde
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
RedMser
d3a1e82025 Add error for invalid RichTextLabel.install_effect 2022-07-24 23:15:27 +02:00
Rémi Verschelde
a5bc65bbad
Merge pull request #63265 from reduz/stream-bpm-support
Implement BPM support in AudioStream files.
2022-07-23 11:21:14 +02:00
reduz
d1ddee2258 Implement BPM support
Based on #62896, only implements the BPM support part.

* Implements BPM support in the AudioStreamOGG/MP3 importers.
* Can select BPM/Bar Size and total beats in a song file, as well as edit looping points.
* Looping is now BPM aware
* Added a special importer UI for configuring this.
* Added a special preview showing the audio waveform as well as the playback position in the resource picker.
* Renamed `AudioStream::instance` to `instantiate` for correctness.
2022-07-23 07:31:17 +02:00
Rémi Verschelde
0c81502217
Merge pull request #62093 from Rindbee/fix-undecided-min_size-in-ScrollContainer 2022-07-22 23:47:48 +02:00
Rémi Verschelde
e5df1e65f9
Merge pull request #62581 from Guh-Feng/Color-Picker-Update 2022-07-22 23:46:27 +02:00
Rémi Verschelde
b3bd082070
Merge pull request #63295 from winterpixelgames/master-allow-scroll-container-scroll-to-be-set-instantly 2022-07-22 00:51:43 +02:00
Guh-Feng
1b8652e86a Color Pickers Respect Settings
Updated editor_node with function that sets up color pickers throughout Godot to respect editor's settings.
2022-07-21 18:11:09 -04:00
Jason Knight
48f2d128d4 Call update_scrollbars() in sort_children() so the max is set properly so you can set scroll_container.scroll_vertical instantly after adding children to a scroll container. 2022-07-21 12:23:41 -06:00
Rindbee
b27bce875f Fix indeterminate minimum size in ScrollContainer 2022-07-21 22:29:25 +08:00
bruvzg
8823eae328
Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
Nathan Franke
f3d43a384d
simplify alignment preset, fixing icon for full rect 2022-07-20 12:18:33 -05:00
Rémi Verschelde
715f556cd4
Merge pull request #62139 from bruvzg/label_font_setttings
Add LabelSettings resource for quick Label theme property override.
2022-07-19 20:16:01 +02:00
FireForge
97dfbea6ad Rename Control PRESET_WIDE to PRESET_FULL_RECT 2022-07-18 20:08:11 -05:00
Rindbee
c47ac20620 Fix getting outdated tab controls 2022-07-18 20:06:21 +08:00
Aaron Franke
2326ba67e2
Consistently use double in Slider and SpinBox 2022-07-15 15:47:47 -05:00
bruvzg
cbe3a2dcb7
Use BitField hint for the TextServer enums. Add missing parts for BitField support to the GDextension API. 2022-07-15 08:49:50 +03:00
besh81
153086152e Fixed bug in grid_container with hidden children
Fix a bug that occour when there are hidden children in grid_container.
The visualization isn't correct due to a wrong calculation of max_col and max_row that mistakenly includes hidden children.
2022-07-14 08:42:39 +02:00
Rémi Verschelde
c17af2c5a3
Merge pull request #62774 from Rindbee/make-the-meta-click-area-fit
Make the meta click area fit to its visible area
2022-07-13 14:14:34 +02:00
Rémi Verschelde
207ef8a33d
Merge pull request #62781 from MinusKube/tree-slider-bug
Fix range slider in tree not updating text value
2022-07-13 14:13:38 +02:00
Rémi Verschelde
b942c1ffe3
Merge pull request #62827 from fire-forge/ok-cancel
Add `ok_button_text` to AcceptDialog and `cancel_button_text` to ConfirmationDialog
2022-07-13 14:10:38 +02:00
Rémi Verschelde
f7786603c7
Merge pull request #62884 from KoBeWi/THICKUNDERLINE 2022-07-13 14:08:39 +02:00
Rindbee
74f99f7fa3 Make the meta click area fit
Eliminate the click vacuum area, mainly the indentation generated by indent/ul/ol tags
2022-07-13 07:12:22 +08:00
bruvzg
f63d54126d
Add LabelSettings resource for quick Label theme property override. 2022-07-12 16:05:12 +03:00
bruvzg
3316454379
Fix LineEdit text incorrectly trimmed due to rounding errors. 2022-07-10 23:39:34 +03:00
kobewi
f4a7450216 Fix too thin underline in brace match 2022-07-10 18:23:03 +02:00
FireForge
af19501cc7 Seperate filter and description in FileDialog.add_filter() 2022-07-09 10:51:45 -05:00
FireForge
e4067064ce Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialog 2022-07-09 10:47:08 -05:00
Rémi Verschelde
ca18a02e00
Merge pull request #62744 from AThousandShips/tree_h_scroll 2022-07-08 11:51:07 +02:00
Rémi Verschelde
7d3ff927de
Merge pull request #62075 from Vitika9/gsoc-colorpicker 2022-07-08 09:06:47 +02:00
bruvzg
8f6c4956ca
Fix regressions from Font refactor
Remove unnecessary font override
Fixes button outline draw when it should not, causing button colors to be slightly off
2022-07-08 08:27:18 +03:00
bruvzg
a319e6e623
Fix regressions from Font refactor
Fixes `p_font.is_null()` errors due to incorrect resource type used.
Fixes code editor font not set correctly, and OpenType features applied to the wrong font.
2022-07-07 15:11:08 +03:00
Ninni Pipping
bed65894d3 Horizontal scroll for Tree 2022-07-07 12:58:44 +02:00
Vitika9
0011d93c81 ColorPicker Refactor 2022-07-06 22:11:43 +05:30
MinusKube
ed68f867fb Fix range slider in tree not updating text value 2022-07-06 17:43:16 +02:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources. 2022-07-06 14:12:36 +03:00
Hugo Locurcio
983ce7e9f3
Disable Expand by default in VideoStreamPlayer
This ensures videos are always visible as soon as a video file
is specified in the VideoStreamPlayer node. The node will no longer
be resized to 0×0 by default, making the video invisible in the process
(even if the audio can still be heard).
2022-07-06 00:51:27 +02:00
Rémi Verschelde
5f386fecf0
Merge pull request #62721 from Nolkaloid/line_edit-caret-blink-fix
Change LineEdit caret blink to use internal process
2022-07-05 17:00:58 +02:00
Nolkaloid
9dc58511c6 Change LineEdit caret blink to use process
Now using internal process for blinking instead of a Timer node
2022-07-05 00:02:44 +02:00
kobewi
41f6e7c50e Allow to disable TextEdit vertical scroll 2022-07-04 15:02:15 +02:00
Rémi Verschelde
1d06fec535
Merge pull request #62448 from MinusKube/completion-scroll-click
Add the ability to drag the code completion scrollbar using the mouse click
2022-07-04 10:13:20 +02:00
Thakee Nathees
446f1b7052 Fix FileDialog file name autocompletion with filters
Fixes #38195.
2022-07-04 01:26:34 +02:00
MinusKube
336400dc42 Add the ability to drag the code completion scrollbar using the mouse click 2022-07-03 23:47:52 +02:00
Rémi Verschelde
daec5bed57
Merge pull request #59089 from KoBeWi/I_am_root
Add `root_subfolder` to FileDialog
2022-07-01 11:53:33 +02:00
kobewi
8d62b736b2 Fix find_next_valid_focus() freeze 2022-07-01 00:25:10 +02:00
kobewi
d9ede52ded Fix find_next_valid_focus() freeze 2022-06-30 16:22:40 +02:00
TechnoPorg
d45ad9bc58 Use single-precision floats in GradientEdit
Gradient itself only uses single-precision floats, so using double-precision floats in GradientEdit is both unnecessary, and creates casting issues.
2022-06-28 11:55:08 -06:00
kobewi
9d48cd502b Add root_subfolder to FileDialog 2022-06-28 18:56:18 +02:00
K. S. Ernest (iFire) Lee
9ddebc0c22 Add a const call mode to Object, Variant and Script.
For this to work safely (user not call queue_free or something in the expression), a const call mode was added to Object and Variant (and optionally Script).

This mode ensures only const functions can be called, making it safe to use from the editor.

Co-Authored-By: reduz <reduzio@gmail.com>
2022-06-27 13:33:06 -07:00
Rémi Verschelde
1c7971d11c
Merge pull request #37764 from KoBeWi/video_pauser 2022-06-27 14:50:29 +02:00
Rémi Verschelde
82a56e5c42
Merge pull request #61587 from YuriSizov/control-fix-theme-owner-toplevel
Fix theme propagation for children of top level controls and windows
2022-06-27 12:03:36 +02:00
Rémi Verschelde
af694245f5
Merge pull request #62221 from ConteZero/drag_and_drop_option
Add an option to drag'n'drop selected text in ``TextEdit``
2022-06-26 16:02:52 +02:00
ConteZero
5d56efcaa4 Add an option to drag'n'drop selected text in TextEdit 2022-06-26 15:22:02 +02:00
kobewi
e69f3d527c Properly handle game pause in VideoPlayer 2022-06-26 01:56:30 +02:00
Rémi Verschelde
ec2e7ea98c
Merge pull request #61435 from nathanfranke/tab-container-repaint
repaint tab container when changing tab visibility (fixes filesystem tab disappearing)
2022-06-25 23:14:18 +02:00
Rémi Verschelde
21c79d7515
Merge pull request #62311 from KoBeWi/anuluj
Replace some TTRCs with RTRs
2022-06-25 14:27:20 +02:00
Rindbee
c10304415f Fix ProgressBar's minimum size not updating when toggling its percent_visible 2022-06-25 15:39:39 +08:00
Nathan Franke
085ec68dfe
repaint tab container when changing tab visibility 2022-06-23 18:20:00 -05:00
Pierre-Thomas Meisels
5ad1a1b5e7 enhancement: rename exposed property Control::minimum_size to Control::custom_minimum_size 2022-06-23 18:06:10 +02:00
kobewi
cd02cb27af Replace some TTRCs with TTRs 2022-06-22 16:04:33 +02:00
FireForge
88589c091b Improve TileSet editor and add more suffixes 2022-06-20 15:28:19 -05:00
bruvzg
b5c96df277
Move duplicate AutoWrap, Overrun and VisibleChar behavior enums to the TextServer. 2022-06-16 16:49:37 +03:00
Rémi Verschelde
778a9fce77
Merge pull request #61997 from Rindbee/fix-ColorPicker-wrong-sampling
Fix wrong sampling in ColorPicker
2022-06-15 12:48:23 +02:00
FireForge
f85eb4164a Expose PopupMenu set/get_item_horizontal_offset()
- Renames setter from set_item_h_offset()
- Adds getter
2022-06-15 02:08:44 -05:00
Rindbee
fd285e19ed Fix the bug that the sampling position is reversed, make eyedrop reusable. 2022-06-15 12:44:36 +08:00
kobewi
5553e27fe8 Add vector value linking
Co-authored-by: redlamp <244062+redlamp@users.noreply.github.com>
2022-06-14 14:58:44 +02:00
Rémi Verschelde
e95f4eb5a7
Merge pull request #61819 from bruvzg/button_overrun 2022-06-13 11:02:04 +02:00
Rémi Verschelde
ae5a962cc4
Merge pull request #61842 from bruvzg/popup_fixes_sw 2022-06-13 10:51:46 +02:00
bruvzg
ba6cb84d01
[RTL] Fix underline/overline/strikethrough interaction with the "visible characters" property. 2022-06-13 10:53:55 +03:00
bruvzg
f7269fe878
Single-window mode popups and edited scene windows fixes.
Fix single-window mode popup not closing when OptionBox is clicked.
Fix single-window mode submenus closing when parent menu item, that was used to open it is clicked (using same safe-area logic as platform specific code).
Disallow windows that are part of an edited scene from being set as exclusive or popup to prevent it from locking up the editor.
2022-06-13 09:56:08 +03:00
FireForge
4678736a39 Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
iwek
082cf5440e Fix setting line edit caret after dobule and triple click 2022-06-10 00:18:25 +02:00
Hugo Locurcio
08e804b3b7
Fix infinite loop when calling Control.popup_centered_minsize()
Co-authored-by: sriramun <sriramun2@gmail.com>
2022-06-09 20:20:53 +02:00
bruvzg
906e9b6ac5
Add overrun behavior to the Button. 2022-06-08 19:02:27 +03:00
Rémi Verschelde
d52a79ad22
Merge pull request #59786 from V-Sekai/ok_color
Allow picking similar colours using OKHSL.
2022-06-07 20:52:32 +02:00
K. S. Ernest (iFire) Lee
1b776a6e7a Allow picking similar colours using OKHSL. 2022-06-07 05:53:27 -07:00
Rémi Verschelde
70757ad7df
Merge pull request #61726 from YeldhamDev/always_clear
Take into account the clear icon's size even when not visible in `LineEdit`s
2022-06-07 14:16:13 +02:00
bruvzg
fc77f983cb
[RTL] Stop processing thread before deleting scroll bar. 2022-06-06 23:46:22 +03:00
Rémi Verschelde
52952edafc
Merge pull request #61724 from iwek7/fixing_rich_text_label
Fix richTextLabel scroll showing
2022-06-06 10:39:39 +02:00
iwek
c179ba665a Fix richTextLabel scroll showing 2022-06-05 20:33:17 +02:00
Michael Alexsander
71c8fb26e0 Take into account the clear icon's size even when not visible in LineEdits 2022-06-05 15:13:19 -03:00
Rindbee
a14f7c4027 Fix strange behavior with list close tags and empty list tags
Fix the first two points in #61621.

Support for two  writing ways: compact or loose. The loose one is designed for easy editing in the editor.
For this, the first blank line (if exists) right after the list tags (`[ol]`, `[/ol]`, `[ul]`, and `[/ul]`)
will be ignored.

Make sure the empty list contains at least one item, that is, an empty list is ultimately a list with one item.
As a reminder here is a list.
2022-06-05 01:33:09 +08:00
Rémi Verschelde
52e36ab80e
Merge pull request #61631 from iwek7/redundant_min_call 2022-06-02 18:20:45 +02:00
iwek
848e759d88 Remove redundant min call when setting line 2022-06-02 15:52:09 +02:00
Hendrik Brucker
c6a39cd952 Fix enclosed nodes calculation of GraphEdit comment nodes 2022-06-02 13:14:46 +02:00
Yuri Sizov
ba273c6c5f Fix theme propagation for children of top level controls and windows 2022-06-01 04:20:00 +03:00
monkeyman192
5c29a7dbc5 Handle drawing of relationship lines better to take in to account invisible children 2022-06-01 00:23:33 +10:00
Rémi Verschelde
cf9aad63ba
Merge pull request #61453 from m3g4d1v3r/master
Fix #61444: Executing Tree.scroll_to_item crashes Godot
2022-05-31 12:28:50 +02:00
Rémi Verschelde
cea54a0357
Merge pull request #61489 from Rindbee/reset-buttons_visible-to-false-if-tabs-is-empty
Reset buttons_visible to false while tabs is empty in TabBar::_update_cache
2022-05-31 12:19:36 +02:00
Rémi Verschelde
a837accc5d
Merge pull request #61495 from timothyqiu/asymmetric-le
Fix LineEdit clear button for asymmetric stylebox
2022-05-31 08:55:21 +02:00
Hendrik Brucker
70c234f3e3 Improve Graphedit connection lines 2022-05-30 17:33:01 +02:00
Hendrik Brucker
771cb1261a Improve and fix the GraphNode port hotzones
Co-authored-by: Ansraer <jacky2611@gmail.com>
2022-05-30 15:48:58 +02:00
Haoyu Qiu
e021fc9419 Fix LineEdit clear button for asymmetric stylebox 2022-05-28 19:50:35 +08:00
Rindbee
a3b23f6b67 Reset buttons_visible to false while tabs is empty in TabBar::_update_cache 2022-05-28 12:54:45 +08:00
m3g4d1v3r
ee89c65b11 Add nullptr handling of argument pointer in Tree::scroll_to_item 2022-05-26 23:56:52 -03:00
monkeyman192
d4aa6e5366 Check visibility of items before drawing their relationship lines 2022-05-26 23:25:42 +10:00
Nathan Franke
2d14164bca
tree: always emit item_edited 2022-05-26 05:12:57 -05:00
Rémi Verschelde
2998be4f99
Merge pull request #60061 from monkeyman192/allow_treeitem_visible
Allow TreeItem nodes to toggle visibility
2022-05-24 10:53:41 +02:00
Rémi Verschelde
bd8d91254c
Merge pull request #61106 from snailrhymer/animation-library-fixes
Fix errors and improve UX relating to new animation libraries
2022-05-24 10:51:31 +02:00
Rémi Verschelde
65dd1bf023
Merge pull request #47665 from trollodel/tree_more_buttons_signals 2022-05-24 10:50:55 +02:00
Rémi Verschelde
9923851370 Fix typos with codespell
Using codespell 2.2-dev from current git.
2022-05-23 21:32:19 +02:00
Haoyu Qiu
4ac999cc3f Update last min size when Control becomes visible 2022-05-22 15:50:13 +08:00
trollodel
307427af89 Add the button pressed to some signals in Tree 2022-05-21 17:16:52 +02:00
reduz
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
Rémi Verschelde
136da4d3bc
Merge pull request #61182 from danielkariv/fix_misclick_selection 2022-05-20 15:38:22 +02:00
Aaron Franke
5dc3bfb80e
Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
Rémi Verschelde
b9bb3de6a1
Merge pull request #61142 from bruvzg/rtl_threaded 2022-05-19 14:27:48 +02:00
Aaron Record
900c676b02 Use range iterators for RBSet in most cases 2022-05-19 12:09:16 +02:00
Daniel Kariv
e6c909b489 add check for selection when try to push a meta.
Add a check for when we select a text but end on a link. Before it would act as if we just click an link, but now it changes it so if we click-drag over a link, we could select it (and not move to other page).
2022-05-19 11:55:14 +03:00
bruvzg
cfcdfc38e2
[RTL] Add support for shaping in background thread. 2022-05-19 09:34:44 +03:00
Rémi Verschelde
c0d189fbb8
Merge pull request #60955 from pfertyk/issue-60668-fix-get-breakpointed-lines-crash
Fix `get_breakpointed_lines` crashing Godot
2022-05-18 22:55:30 +02:00
Yuri Sizov
21b253a870 Define some Theme data structures with using for readability 2022-05-18 18:17:47 +03:00
Rémi Verschelde
5c79782c7e
Merge pull request #61088 from groud/keep_unhandled_events_on_pass 2022-05-17 23:50:55 +02:00
Rémi Verschelde
3ad751f7e0
Merge pull request #60867 from KoBeWi/μtext
Remove font height restriction from Button
2022-05-17 19:02:35 +02:00
Gilles Roudière
6db8b7616d Keep input event as unhandled if they go through a control set to MOUSE_FILTER_PASS 2022-05-17 15:41:58 +02:00
Rémi Verschelde
3506825930
Merge pull request #61112 from Chaosus/graph_edit_delete_nodes_param 2022-05-17 13:10:04 +02:00
Rémi Verschelde
ccdd85d8e7
Merge pull request #61001 from derammo/derammo_popup_conditional_hide 2022-05-17 12:56:53 +02:00
Yuri Rubinsky
c84d050980 Add node list param to GraphEdit::delete_nodes_request signal 2022-05-17 13:28:21 +03:00
SnailRhymer
d79818acb6 Fix errors and improve UX relating to new animation libraries
- Fix a bug causing an error message when a scene containing an AnimationPlayer with a reset track is saved, by correctly referencing the temporary "default" library.
- Make library dropdown in new animation window assign correct library when creating an animation.
- Similarly allow choice of library when duplicating animation.
- Make library dropdown default to library of currently selected animation.
- Make library dropdown show when exactly one library exists, and it isn't [Global]. Include [Global] on the dropdown in this case (will be newly created if dialog is confirmed).
- When appending (x) to avoid New Anim name collisions, correctly check target library instead of [Global].
- Add parentheses when appending x when duplicating animations in the library editor, for consistency.
- Change titles and prompts to be distinct in name/rename/duplicate dialiogs.
- Fix bug in OprionButton.get_selectable_item(true) when last is not selectable.
- Fix issues where animation wasn't found on deletion/rename by correctly prepending library name.
- Remove an extraneous print_line from animation_track_editor.
- Add messages to errors when an animation isn't found.
2022-05-17 00:02:51 +01:00
Paweł Fertyk
3d5dd91f22 Fix get_breakpointed_lines crashing Godot
Fixes #60668.
2022-05-16 18:46:01 +02:00
monkeyman192
31381f8c9e Allow TreeItem nodes to toggle visibility 2022-05-16 23:55:05 +10:00
Rémi Verschelde
fa2b3269ae
Merge pull request #59231 from Sauermann/fix-top-level-identification 2022-05-16 15:10:27 +02:00
Rémi Verschelde
9efb134469
Merge pull request #59799 from Sauermann/fix-gridcontainer-remaining-pixel 2022-05-16 15:04:48 +02:00
Rémi Verschelde
df2de05c5f
Merge pull request #60463 from Geometror/improve-vs-1 2022-05-16 13:50:42 +02:00
Rémi Verschelde
7b571ab8f7
Merge pull request #60986 from fire-forge/capitalism 2022-05-16 13:49:14 +02:00
reduz
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
derammo
47d0dc8a41 popup deferred hide suppressed if reopened
popup no longer tries to close itself a second time
popup no longer closes after having been reopened
fixed bug in RenameDialog not calling base (by inspection)
fixes #59181
fixes #60921
reverts #59287
2022-05-13 09:30:00 -04:00
bruvzg
081b6b8053
Add ALT NUM+ {hex code} character input support for LineEdit, TextEdit and CodeEdit. 2022-05-13 09:33:24 +03:00
FireForge
88a8038387 Capitalize/fix some property enum hints 2022-05-12 15:03:16 -05:00
reduz
8b7c7f5a75 Add a new HashMap implementation
Adds a new, cleaned up, HashMap implementation.

* Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing).
* Keeps elements in a double linked list for simpler, ordered, iteration.
* Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much
  for performance vs keeping the key, but helps replace old code).
* Uses a more modern C++ iterator API, deprecates the old one.
* Supports custom allocator (in case there is a wish to use a paged one).

This class aims to unify all the associative template usage and replace it by this one:
* Map<> (whereas key order does not matter, which is 99% of cases)
* HashMap<>
* OrderedHashMap<>
* OAHashMap<>
2022-05-12 11:21:29 +02:00
Rémi Verschelde
694baff233
Merge pull request #60932 from Geometror/button-fix-expand-icon 2022-05-10 22:58:56 +02:00
Hendrik Brucker
c09a5e2774 Fix button icon expansion calculation with empty text 2022-05-10 22:27:48 +02:00
floppyhammer
f76d417d8a Add fill_mode to ProgressBar 2022-05-10 19:34:48 +08:00
kobewi
20cfe6e229 Simplify anchor metadata 2022-05-09 18:51:13 +02:00
Rémi Verschelde
5013c1d5b6
Merge pull request #60890 from pfertyk/issue-60866-fix-backspace-selection-left 2022-05-09 15:52:56 +02:00
Paweł Fertyk
d1aed90976 Fix backspace when selection reaches left edge
Fixes #60866.
2022-05-09 14:16:28 +02:00
Haoyu Qiu
96cd2d9f52 Fix tree button icon not centered vertically 2022-05-09 10:53:09 +08:00
kobewi
800d5567a1 Remove font height restriction from Button 2022-05-08 13:33:57 +02:00
Vitika9
aef3b5681d Changed signals of ItemList 2022-05-06 13:09:04 +05:30
kobewi
1dc7bcc83c Cleanup metadata usage 2022-05-06 00:27:10 +02:00
Hugo Locurcio
b6e9314564
Merge pull request #59185 from NeilKleistGao/master 2022-05-05 16:41:39 +02:00
Rémi Verschelde
d5d86cb26e
Merge pull request #60571 from Sauermann/fix-control-screen-position
Inlcude CanvasLayer transform into calculation of Control screen position
2022-05-03 15:26:39 +02:00
Hugo Locurcio
180e5d3028
Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
Rémi Verschelde
c273ddc3ee Style: Partially apply clang-tidy's cppcoreguidelines-pro-type-member-init
Didn't commit all the changes where it wants to initialize a struct
with `{}`. Should be reviewed in a separate PR.

Option `IgnoreArrays` enabled for now to be conservative, can be
disabled to see if it proposes more useful changes.

Also fixed manually a handful of other missing initializations / moved
some from constructors.
2022-05-02 16:28:25 +02:00
Hendrik Brucker
6d876baf60 Improve the VisualShader/VisualScript editor UI 2022-04-30 03:56:57 +02:00
Nathan Franke
925e54ad65
fix lines ending in comments causing auto indent 2022-04-28 20:07:10 -05:00
Rémi Verschelde
9101c5b499
Merge pull request #52624 from e8newallm/52577
Corrected ordering of Left/Top/Right/Bottom properties
2022-04-28 17:57:02 +02:00
Markus Sauermann
f01e1ce1dd Inlcude CanvasLayer transform into calculation of Control screen position 2022-04-28 00:18:32 +02:00
Rémi Verschelde
8c2b9801fd
Merge pull request #60438 from Paulb23/text-edit-tests
Add TextEdit unit tests and multiple fixes.
2022-04-25 23:39:30 +02:00
Rindbee
44e32ba75c Fix font_size not working in TabContainer 2022-04-25 23:22:59 +08:00
Rémi Verschelde
02bb8e948f
Merge pull request #60261 from fire-forge/theme-prop-renames 2022-04-25 16:20:19 +02:00
Rémi Verschelde
49a7f929a6
Merge pull request #60123 from KoBeWi/borrowed
ItemList selection bug && navigation bug fixed
2022-04-25 16:18:58 +02:00
Thakee Nathees
09835f3cc5 ItemList selection bug && navigation bug fixed
Co-authored-by: kobewi <kobewi4e@gmail.com>
2022-04-24 00:31:02 +02:00
FireForge
3073b85de9 Rename theme properties to include underscores
- check_vadjust -> check_v_adjust
- close_h_ofs -> close_h_offset
- close_v_ofs -> close_v_offset
- commentfocus -> comment_focus
- hseparation -> h_separation
- ofs -> offset
- selectedframe -> selected_frame
- state_machine_selectedframe -> state_machine_selected_frame
- table_hseparation -> table_h_separation
- table_vseparation -> table_v_separation
- vseparation -> v_separation
2022-04-23 11:16:18 -05:00
Paulb23
7f62a74927 Multiple small TextEdit Bug Fixes
Fixed line_drawing_cache not containing anything
Fixed is_move_caret_on_right_click_enabled requiring the context menu to be enabled
Fixed when selecting_enabled is false not disabling shift + click
Fixed when selecting_enabled is false not being able to drag the caret
Fixed _delete emitting signals when nothing had changed.
Fixed insert_line_at up causing a visual update
Fixed get_pos_at_line_column returning a valid position when it was invalid
Fixed set_caret_column unnecessary emitting "caret_changed" when the column is greater then the line
Fixed select_word_under_caret not accepting the edges of words
Fixed select_word_under_caret moving the caret to the start of the line when no word was found
Fixed get_selection_line and get_selection_column not checking if the selection was enabled
Fixed set_line_as_center_visible throwing errors if it would show line 0
Fixed set_line_as_center_visible being off by one
Fixed set_line_as_last_visible not being able to show the first line
Fixed pressing UP and the end of a wrapped line sending the caret to col 0 rather then then persevering the position.
2022-04-22 17:53:14 +01:00
bruvzg
be611c1c05
Implement Label3D node.
Add "generate_mipmap" font import option.
Add some missing features to the Sprite3D.
Move BiDi override code from Control to TextServer.
Add functions to access TextServer font cache textures.
Add MSDF related flags and shader to the standard material.
Change standard material cache to use HashMap instead of Vector.
2022-04-22 12:08:46 +03:00
Hugo Locurcio
d1c2a0df4e
Add a property hint for AspectRatioContainer's ratio property
Zero or negative ratios are not valid, so the property hint prevents
choosing such values.

The property hint allows using 4 decimals so that common aspect ratios
like 16/9 can be specified with a good level of precision.
2022-04-17 22:03:47 +02:00
Michael Alexsander
bab2f3c021 Add font_separator and related properties to PopupMenu 2022-04-13 23:46:35 -03:00
Rémi Verschelde
3b57c2ce6b
Merge pull request #60221 from YeldhamDev/grid_toplevel_fix
Fix `GridContainer` not ignoring toplevel children
2022-04-14 00:33:52 +02:00
Michael Alexsander
506d8ba526 Fix GridContainer not ignoring toplevel children 2022-04-13 18:09:51 -03:00
Michael Alexsander
59c3d4e17f Fix and tweak labeled separator in PopupMenu 2022-04-13 17:13:29 -03:00
ConteZero
6530e55f2d Fix select_all() crash in RichTextLabel 2022-04-13 15:41:34 +02:00
bruvzg
8b0761d1fd
Fix sub-menu keyboard navigation. 2022-04-13 09:58:38 +03:00
Rémi Verschelde
d9cb39c2e8
Merge pull request #60170 from ConteZero/context_menu 2022-04-12 18:42:58 +02:00
ConteZero
645aded7e9 Add context menu to RichTextLabel 2022-04-12 16:28:38 +02:00
Rémi Verschelde
5974e1432e
Merge pull request #60085 from YeldhamDev/relationships_are_hard 2022-04-11 23:36:13 +02:00
Rémi Verschelde
9d86e4f446
Merge pull request #59927 from Zylann/fix_graphnode_title_trim
Fix GraphNode not resizing with larger title
2022-04-11 21:07:40 +02:00
Eric McGuirk
b1441bbcfc Fix toggling GraphEdit's minimap with minimap_enabled
Fixes #53831.
2022-04-11 17:52:04 +02:00
Rémi Verschelde
b936359e07
Merge pull request #60026 from ConteZero/shortcut_keys_enabled 2022-04-11 17:50:41 +02:00
Rémi Verschelde
4ab86c6731
Merge pull request #59980 from reduz/animation-libraries 2022-04-11 14:18:35 +02:00
Rémi Verschelde
5613ac37d6
Merge pull request #59440 from bruvzg/fd_ref_counted 2022-04-11 14:12:18 +02:00
Rémi Verschelde
f44e5dba6d
Merge pull request #60124 from KoBeWi/sepyt_noitcennoc_dilav 2022-04-11 12:52:13 +02:00
reduz
6f401439f8 Implement Animation Libraries
* Instead of containing single animations, AnimationPlayer now contains libraries.
* Libraries, in turn, contain the animations.

This paves the way for implementing the possibility of importing scenes as animation libraries, finally allowing to import animations separate from the 3D models.

Missing (will be done on separate PRs):

* Make it possible to import scenes (dae/fbx/gltf) as animation libraries.
* Make it possible for AnimationTree to import animation libraries on its own, so it does not rely on AnimationPlayer for everything.
2022-04-11 12:51:54 +02:00
bruvzg
9381acb6a4
Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
kobewi
b29aff8dac Fix GraphEdit's valid connections being reversed 2022-04-11 00:34:59 +02:00
ConteZero
addadaaa24 Add select_all() to RichTextLabel 2022-04-10 18:03:10 +02:00
Michael Alexsander
335068e89b Draw relationship lines for items offscreen 2022-04-09 20:59:17 -03:00
ConteZero
a3d82f5afb Fix shortcut_keys_enabled in TextEdit 2022-04-08 15:13:32 +02:00
bruvzg
f851c4aa33
Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
bruvzg
9c61fa7ad8
[RTL] Improve table cell selection. 2022-04-06 09:03:08 +03:00
Marc Gilleron
79c6d7ad7f Fix GraphNode not resizing with larger title 2022-04-05 21:57:54 +01:00
bruvzg
d1207a0504
[Input] Add extra shortcut_input input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts. 2022-04-05 13:46:45 +03:00
Haoyu Qiu
8cefbfcf43 Consider chained operation when selecting text in TextEdit::undo() 2022-04-05 09:12:10 +08:00
Rémi Verschelde
f454cea785
Merge pull request #58452 from marcgpuig/text-edit-backspace-fix 2022-04-04 23:58:33 +02:00
Rémi Verschelde
f8ab79e68a Zero initialize all pointer class and struct members
This prevents the pitfall of UB when checking if they have been
assigned something valid by comparing to nullptr.
2022-04-04 19:49:50 +02:00
Rémi Verschelde
e659eb66a0
Merge pull request #59874 from ConteZero/richtextlabel_deselect 2022-04-04 16:57:11 +02:00
ConteZero
45159e88e1 Add deselect() to RichTextLabel 2022-04-04 16:06:57 +02:00
Rémi Verschelde
338b23d572
Merge pull request #59513 from BastiaanOlij/openxr_actionmap_editor 2022-04-04 14:26:28 +02:00
Bastiaan Olij
9b7b9de0e5 Add action map editor for OpenXR 2022-04-04 18:43:29 +10:00
Marc Garcia Puig
f22d257025 Fixed ctrl + backspace on empty lines
Fix <word><space><caret> scenario

Fix move left & right for lines without words
2022-04-04 01:21:16 +02:00
jmb462
0d17903bd5 Fix TextEdit v_scroll_speed invalid values breaks wheel scrolling 2022-04-03 21:07:39 +02:00
Markus Sauermann
6b3207644b Distribute remaining pixel to expanding childs of GridContainer 2022-04-01 19:04:07 +02:00
Markus Sauermann
249d6a4225 Fix how Root Control Node is determined 2022-04-01 13:34:57 +02:00
C.Even
2080077c9c Fix that slow mouse wheel scroll has no zoom effect on 2D editor
* scroll_vec in ViewPanner::gui_input is multiplied by float factors, 
  so it should be a Vector2 rather than Vector2i
* Fixes #57423
2022-04-01 18:34:00 +08:00
Rémi Verschelde
4263f02f28
Merge pull request #59764 from reduz/blender-import-autodetect 2022-04-01 11:42:05 +02:00
reduz
e32215fbad Add Blender install autodetection and configuration.
This PR is a continuation to #54886

* Changed Blender path editor setting from binary to installation.
* Add a class to query whether the format is supported.
* This class allows to create proper editors to configure support.

**NOTE**: This PR only provides autodetection on Linux. Code needs to be added for Windows and MacOS to autodetect the Blender installation.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
Co-authored-by: Pedro J. Estébanez <pedrojrulez@gmail.com>
2022-04-01 11:01:12 +02:00
NeilKleistGao
d8946a7111 Remove metadata _edit_layout_mode and _edit_use_custom_anchors if they have default values 2022-04-01 13:38:32 +08:00
Haoyu Qiu
2f20ff0ed6 Extract theme property names for localization 2022-04-01 11:35:22 +08:00
Michael Alexsander
b8ce726dd0 Small fixes for TabContainer 2022-03-31 16:43:09 -03:00
Rémi Verschelde
a647fb3e62 Fix typos with codespell
Using codespell 2.2-dev from current git.

Fix a couple incorrect uses of gendered pronouns.
2022-03-31 14:07:29 +02:00
Rémi Verschelde
fc4e9d6299
Merge pull request #59702 from Sauermann/fix-subviewport-container-event-transform
Fix event transform in SubViewportContainer
2022-03-31 11:07:21 +02:00
Markus Sauermann
0472839509 Fix Control::warp_mouse to respect canvas transform 2022-03-30 23:18:23 +02:00
Markus Sauermann
c8573ea3df Fix event transform in SubViewportContainer
The transform does not take the canvas transform into account.
2022-03-30 20:56:36 +02:00
Pierre-Thomas Meisels
63f7f44ccb Make vararg method bind no return and return
Type emit_signal exposed method return type

set UndoRedo add_do_method and add_undo_method exposed return void

Set TreeItem::_call_recursive_bind returns void

Set _rpc_bind and _rpc_id_bind returns void in Node

Set _call_group and _call_group_flags method returns void in SceneTree

Set godot-cpp-test CI flag to false
2022-03-30 11:43:12 +02:00
Rémi Verschelde
324215c485
Merge pull request #59525 from fire-forge/fix-group-names 2022-03-28 21:44:35 +02:00
FireForge
88b09694e7 Fix inspector group name capitalization 2022-03-28 14:02:06 -05:00
Rémi Verschelde
7119d355eb String: Remove TTR and DTR defines in non-tools build
This ensures we don't use TTR in runtime code, as it's specifically meant
to source translations for the editor.
2022-03-28 20:26:35 +02:00
Rémi Verschelde
abbb0dc082
Merge pull request #59548 from akien-mga/obj-remove-unused-categories 2022-03-28 14:17:24 +02:00
Rémi Verschelde
143d13717b
Merge pull request #59553 from reduz/script-extension-support 2022-03-28 13:35:21 +02:00
reduz
360dea5348 Add GDExtension support to Script
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core

This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-27 16:13:00 +02:00
Markus Sauermann
0494e024d8 Rename warp mouse functions to warp_mouse 2022-03-27 14:12:01 +02:00
Rémi Verschelde
f0407ad14d
Merge pull request #59336 from YeldhamDev/where_we_dropping_boys 2022-03-26 23:30:07 +01:00
Markus Sauermann
356fac206d Add configuration warning for SubViewportContainer 2022-03-26 20:33:45 +01:00
Rémi Verschelde
5371009d8e Object: Remove unused category boilerplate
We might want to re-add something like this if/when we find a good use case
for it and do the effort to categorize all objects in the API properly.

Until then, it's better to remove that boilerplate since it's not needed.

Closes #18711.
2022-03-26 15:46:01 +01:00
reduz
09b951b99b Refactor Object metadata
* API kept the same (Although functions could be renamed to set_metadata/get_metadata in a later PR), so not much should change.
* Metadata now exposed as individual properties.
* Properties are editable in inspector (unless metadata name begins with _) under the metadata/ namespace.
* Added the ability to Add/Remove metadata properties to the inspector.

This is a functionality that was requested very often, that makes metadata work a bit more similar to custom properties in Blender.
2022-03-24 14:21:52 +01:00
Rémi Verschelde
3586f559d1
Merge pull request #59403 from fire-forge/textureprogressbar-group
Fix "Stretch Margin" group in TextureProgressBar
2022-03-22 23:03:39 +01:00
Michael Alexsander
94b8f38de2 Add visual marker when dragging and dropping tabs 2022-03-21 22:16:29 -03:00
FireForge
e41a890498 Remove unnecessary "Percent" group in ProgressBar 2022-03-21 17:21:56 -05:00
FireForge
ed79931be9 Fix "Stretch Margin" group in TextureProgressBar 2022-03-21 17:18:45 -05:00
Rémi Verschelde
81c2d7a82a
Merge pull request #59322 from YeldhamDev/groups_arent_bools 2022-03-19 18:09:46 +01:00
Michael Alexsander
e289e864d8 Fix tabs_rearrange_group property being exposed as a bool instead of a int 2022-03-19 13:15:51 -03:00
kobewi
342dac77d4 Hide text and icon properties in OptionButton 2022-03-19 13:36:10 +01:00
Rémi Verschelde
19950076b1
Merge pull request #58394 from bruvzg/rtl_hint 2022-03-18 14:49:13 +01:00
Rémi Verschelde
5c8bd6fd71
Merge pull request #58233 from bruvzg/gde_ts 2022-03-18 14:29:58 +01:00