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
Michael Alexsander
9507e91c07
Rename PopupMenu
's set/get_current_index()
to set/get_focused_item()
2022-09-06 10:51:14 -03:00
Jonathan Nicholl
15d057c521
Add is_zero_approx
methods to Vector2
, 3
, and 4
2022-09-02 00:29:50 -04:00
Yuri Sizov
15fd025f90
Add dumb and manual theme caching systems to Window
2022-09-01 16:05:02 +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
f647292df5
Merge pull request #64960 from YeldhamDev/more_hl_stuff
2022-08-29 08:05:33 +02: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
风青山
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
8c56a7416b
Implement MenuBar
control to wrap PopupMenu
s or native menu, use native menu for editor.
2022-08-18 22:25:44 +03:00
kobewi
e06cd2742f
Add missing properties to default theme
2022-08-11 14:15:04 +02:00
FireForge
97dfbea6ad
Rename Control PRESET_WIDE to PRESET_FULL_RECT
2022-07-18 20:08:11 -05:00
bruvzg
344ba0ffaf
Refactor Font configuration and import UI, and Font resources.
2022-07-06 14:12:36 +03: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
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
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
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
Michael Alexsander
bab2f3c021
Add font_separator
and related properties to PopupMenu
2022-04-13 23:46:35 -03:00
Michael Alexsander
59c3d4e17f
Fix and tweak labeled separator in PopupMenu
2022-04-13 17:13:29 -03:00
bruvzg
8b0761d1fd
Fix sub-menu keyboard navigation.
2022-04-13 09:58:38 +03:00
风青山
f789c17690
Fix text buf does not clear when calling the method set_item_text in PopupMenu
2022-03-15 21:49:00 +08:00
kobewi
42078dec9f
Allow negative indexes in ItemList and PopupMenu
2022-03-12 01:14:03 +01:00
kobewi
7d44bb8f06
Remove set_as_minsize()
2022-03-06 00:57:42 +01:00
bruvzg
74ff5921d6
Improve popup window handling.
...
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
Rémi Verschelde
0f5455230c
Use switch
consistently in _notification
(scene
folder)
2022-02-15 18:44:55 +01:00
Hendrik Brucker
b396fd4eef
Improve compilation speed (forward declarations/includes cleanup)
2022-02-12 02:46:22 +01:00
Rémi Verschelde
196801fc64
Merge pull request #57837 from YeldhamDev/that_was_pointless
2022-02-09 09:38:39 +01:00
Michael Alexsander
ef81dc1831
Remove code to update the layout direction of submenus from PopupMenu
2022-02-09 01:36:20 -03:00
Markus Sauermann
35806c1511
Adjust id creation in PopupMenu to avoid duplicate ids
2022-02-09 01:17:55 +01:00
Rémi Verschelde
b6ddf4a629
Merge pull request #57692 from YeldhamDev/popping_options
2022-02-08 14:04:28 +01:00
Rémi Verschelde
fc076ece3d
Revert "Add missing SNAME macro optimization to all theme methods call"
...
This reverts commit a988fad9a0
.
As discussed in #57725 and clarified in #57788 , `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
Rémi Verschelde
b024602660
Merge pull request #57725 from jmb462/missing-sname-theme-setters
2022-02-07 11:46:25 +01:00
Michael Alexsander
8bde86da10
Make popups from MenuButton
, OptionButton
, and submenus obey the layout direction
2022-02-06 23:07:08 -03:00
jmb462
a988fad9a0
Add missing SNAME macro optimization to all theme methods call
2022-02-06 23:06:11 +01:00
Michael Alexsander
989caab0ad
Better handle icons and checkboxes with separators in PopupMenu
2022-02-06 16:05:45 -03:00
Michael Alexsander
21bf23d966
Enhancements and fixes for OptionButton
and PopupMenu
2022-02-06 16:03:18 -03:00
Rémi Verschelde
5e39a8eded
Merge pull request #56992 from YeldhamDev/smarter_popmenu_focus
2022-02-03 17:15:06 +01:00
eikobear
3b146c5eaa
Make various improvements to OptionButton
...
- Allow OptionButton selection to be set to -1 to signify no selection, both via API and in the editor.
- Reset OptionButton selection to -1 when the selected item has been removed.
- Fully convert PopupMenu to a zero-based ID system, which improves an inconsistency in generated IDs when making new items in the editor.
2022-01-28 17:03:45 -05:00
Michael Alexsander
73c225838f
Make popup menus focus items automatically when not using the mouse
2022-01-25 13:51:56 -03:00
bruvzg
5a97184931
[Windows] Fix pop-up dialogs instantly closing.
2022-01-20 16:51:35 +02:00
Ricardo Buring
4562106cbf
OptionButton::pressed(): give focus to selected
2022-01-15 22:52:12 +01:00
Rémi Verschelde
cb7daddbeb
Merge pull request #54647 from rafallus/fix/popupmenu_ids
...
Fix `PopupMenu` items id range in inspector
2022-01-08 11:39:09 +01:00
rafallus
38d578e24e
Fix PopupMenu
items id range in inspector
2022-01-07 19:58:09 -06:00
Rémi Verschelde
fe52458154
Update copyright statements to 2022
...
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
Rémi Verschelde
1032c2c434
Merge pull request #55487 from YeldhamDev/scroll_bikeshedding
2022-01-03 14:10:41 +01:00
Rémi Verschelde
bdf8340e59
Merge pull request #43181 from nathanfranke/string-empty
...
Replace String comparisons with "", String() to is_empty()
2021-12-10 08:56:31 +01:00
FelipeMatoba
29178d3564
Increased time delay on selection when opening a popup
2021-12-09 16:44:56 -03:00
Nathan Franke
49403cbfa0
Replace String comparisons with "", String() to is_empty()
...
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
kobewi
347e50f73b
Improve PopupMenu doc about id and index
2021-12-08 13:02:42 +01:00
Aaron Franke
6eb7179f1c
Rename "items_count" property to "item_count"
2021-12-06 22:02:27 -06:00
jmb462
81efebb3a1
Fix bad popups offset in editor with single window off
...
Co-authored-by: Gil Arasa Verge <gilarasaverge@gmail.com>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2021-12-06 14:29:48 +01:00
Michael Alexsander
ec4f4c6cda
Rename all methods that return ScrollBar
nodes to get_*_scroll_bar()
2021-11-30 13:46:36 -03:00
Lightning_A
e078f970db
Rename remove()
to remove_at()
when removing by index
2021-11-23 18:58:57 -07:00
Aaron Franke
3c0fdcc8ac
Use "enum class" for input enums
2021-11-12 15:37:54 -06:00
Rémi Verschelde
3abb5a9035
Add missing argument names for bindings in GDExtension
2021-11-04 15:27:23 +01:00
rafallus
4554892223
Implement inspector property array for PopupMenu
and MenuButton
2021-11-03 09:32:29 -06:00
Matthew Newall
3951a05535
Corrected directional properties to be ordered Left->Top->Right->Bottom
2021-09-19 03:06:36 +00:00
Juan Linietsky
72bf79186e
Merge pull request #30391 from KoBeWi/hiding_children
...
Add support for internal nodes
2021-08-29 19:36:30 -03:00
Michael Alexsander
565ba91d28
Merge pull request #51906 from requizm/fix/49077
...
Fix tooltips don't appear for PopupMenus
2021-08-28 15:43:02 +00:00
kobewi
a913ae8d56
Add support for internal nodes
2021-08-28 02:07:23 +02:00
reduz
5cecdfa8af
Entirely removes BIND_VMETHOD in favor of GDVIRTUAL
...
* `_gui_input`, `_input`, `_unhandled_input` and `_unhandled_key_input` are now regular C++ virutal functions.
* Everything else converted to GDVIRTUAL
* BIND_VMETHOD is gone, always use the new syntax from now on.
Creating `_gui_input` method and using the binder to register events will no longer work, simply override the virtual function now.
2021-08-23 08:10:13 -03:00
requizm
6f3d8fa228
Fix tooltip message working incorrectly in PopupMenu
...
fix
2021-08-20 23:06:00 +03:00
ThreeRhinosInAnElephantCostume
0aa13ecd30
fixed popup_menu buttons getting triggered by lmb press instead of release.
2021-08-19 15:56:33 +02:00
Aaron Franke
fa3a32a2d6
Use Key enum instead of plain integers
2021-08-10 16:26:55 -05:00
Rémi Verschelde
de2c2be19b
Shortcut: Rename shortcut
property to event
...
Having a property which has the same name as its class leads to confusing
situations (e.g. `BaseButton` has a `shortcut` property of type `Shortcut`
which has a `shortcut` property of type `InputEvent`).
Also renames `is_event` to `matches_event`, and `is_valid` to `has_valid_event`
to better reflect what the methods check.
2021-08-05 13:48:43 +02:00
Michael Alexsander
94a64d557e
Add auto_translate
toggle for automatic translation
2021-07-29 18:30:34 -03:00
Rémi Verschelde
ac3322b0af
Use const references where possible for List range iterators
2021-07-25 12:22:25 +02:00
Aaron Franke
4e6efd1b07
Use C++ iterators for Lists in many situations
2021-07-23 17:38:28 -04:00
jfons
944b5ee639
Fix popup submenu in single-window mode
...
The internal processing code only works for OS windows, since it takes
the mouse position relative to the window and not the viewport. Now we
make sure it's not called in single-window mode.
2021-07-23 19:45:30 +02:00
reduz
6631f66c2a
Optimize StringName usage
...
* Added a new macro SNAME() that constructs and caches a local stringname.
* Subsequent usages use the cached version.
* Since these use a global static variable, a second refcounter of static usages need to be kept for cleanup time.
* Replaced all theme usages by this new macro.
* Replace all signal emission usages by this new macro.
* Replace all call_deferred usages by this new macro.
This is part of ongoing work to optimize GUI and the editor.
2021-07-18 21:20:02 -03:00
Lightning_A
97fecd1b69
Rename "Control" key to "Ctrl" and add "_pressed" suffix to all InputEventWithModifiers properties/methods
2021-05-07 14:00:50 -06:00
Rafał Mikrut
504bc5cc67
Fix crashes in *_input functions
2021-04-05 08:52:21 +02:00
Aaron Franke
10d7fccb54
Rename ButtonList enum and members to MouseButton
2021-03-23 07:13:23 -04:00
Michael Alexsander
1bece0da7c
Fix wrong width with PopupMenus on first opening in the editor
2021-03-20 00:37:09 -03:00
Anshul7sp1
91181c2086
Fixes small typos and grammar correction
2021-03-12 19:05:16 +05:30
Michael Alexsander
96fa719026
Fix various small issues with PopupMenu
2021-02-16 01:12:08 -03:00
Eric M
26c29cc0d7
Improved PopupMenu visuals. Removed x-y margin, made it 'padding' instead.
2021-02-15 15:45:25 +10:00
bruvzg
d78336c65e
[CTL] Add missing font outline drawing routines and theme constants.
2021-02-14 14:11:44 +02:00
Rafał Mikrut
7961a1dea3
Initialize class variables with default values in scene/ [2/2]
2021-02-09 18:24:36 +01:00
Marcel Admiraal
8eb39f4e8b
Change themes *_color_* to *_*_color
...
Changed:
font_color_accel -> font_accelerator_color
font_color_bg -> font_unselected_color
font_color_disabled -> font_disabled_color
font_color_fg -> font_selected_color
font_color_hover -> font_hover_color
font_color_hover_pressed -> font_hover_pressed_color
font_color_pressed -> font_pressed_color
font_color_readonly -> font_readonly_color
font_color_selected -> font_selected_color
font_color_shadow -> font_shadow_color
font_color_uneditable -> font_uneditable_color
icon_color_disabled -> icon_disabled_color
icon_color_hover -> icon_hover_color
icon_color_hover_pressed -> icon_hover_pressed_color
icon_color_normal -> icon_normal_color
icon_color_pressed -> icon_pressed_color
Also includes:
font_outline_modulate -> font_outline_color
tab_fg -> tab_selected
tab_bg -> tab_unselected
2021-01-24 06:28:49 +00:00
Rémi Verschelde
321a4d5e79
Merge pull request #44906 from EricEzaM/PR/popup-menu-fix-not-matching-button-size
...
Fixed PopupMenu not matching parent MenuButton/OptionButton width
2021-01-04 14:47:32 +01:00
Eric M
056fcf3d75
Fixed PopupMenu not matching parent MenuButton/OptionButton width
2021-01-04 18:47:09 +10:00
Eric M
e5aaa7d890
Fixed hover highlight style rect of items being cut off.
...
This was caused by an incorrect calculation of the height of each item when determining the minimum size, plus a few things which were leftover after the PopupMenu rework.
2021-01-04 18:35:40 +10:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
...
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Yuri Roubinsky
ca8c794d04
Added optional id parameter to PopupMenu::add_separator
2020-12-27 15:18:47 +03:00
Marcel Admiraal
4b8b803931
Rename Control margin to offset
2020-12-23 06:25:56 +00:00
Michael Alexsander
bb39088201
Allow to circle back in 'PopupMenu' even if the first/last item is non-selectable
2020-12-10 09:32:02 -03:00
Rémi Verschelde
2a325f3888
Merge pull request #44233 from YeldhamDev/popupmenu_circle_back
...
Re-add circle back scrolling to 'PopupMenu'
2020-12-10 11:16:38 +01:00
Michael Alexsander
e8e0abc331
Re-add circle back scrolling to 'PopupMenu'
2020-12-09 13:25:00 -03:00
Michael Alexsander
383e8919e0
Add "font_color_separator" theme property to 'PopupMenu'
2020-12-03 11:36:03 -03:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
...
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Rémi Verschelde
94875f5f48
Merge pull request #41851 from EricEzaM/PR/popup-menu-hysteresis
...
Added hysteresis for popup sub-menus
2020-11-16 09:34:28 +01:00
Eric M
c482e8ec85
Added hysteresis for popup sub-menus
...
This adds a small lag effect when opening submenus which allow the user to move directly to an item on the submenu without worrying about avoiding the autohide regions.
2020-11-08 13:28:23 +10:00
reduz
127458ed17
Reorganized core/ directory, it was too fatty already
...
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
PouleyKetchoupp
54eaaf456f
Fix popup menu item selected when opening the menu
...
In order to allow selecting items by either holding left click, or click
to open and click again to select, mouse button release was invalidated
based on the amount of mouse motion.
This was causing issues in some scenarios where an item could be
selected while opening the menu if the mouse moved enough between button
press and release.
This case could happen in the language selection of the project manager,
especially on linux, because of the order and timing of the mouse
events on x11.
This change invalidates mouse release based on a timing condition rather
than moved distance to handle any case from the display server properly.
2020-09-18 20:45:59 +02:00
Hugo Locurcio
3e0226515e
Rename ShortCut to Shortcut which is more grammatically correct
...
See https://github.com/godotengine/godot/issues/16863#issuecomment-685236980 .
2020-09-09 21:54:54 +02:00
Eric M
13fd60572b
Fixed get_usable_parent_rect() errors when initialising popup menus.
2020-09-06 13:59:40 +10:00
Nathan Franke
034e123c1d
Fix PopupMenu unresponsive on right side of menu
2020-09-02 01:24:10 -05:00
EricEzaM
73c7fb2118
PopupMenu rework and enhancements
...
Many scrolling behaviour improvements and the ability to limit popup size.
2020-09-01 17:56:38 +10:00