Commit Graph

103 Commits

Author SHA1 Message Date
Rafał Mikrut 504bc5cc67 Fix crashes in *_input functions 2021-04-05 08:52:21 +02:00
reduz 1aa2823fa3 Removed _change_notify
-For inspector refresh, the inspector now detects if a property change by polling a few times per second and then does update the control if so. This process is very cheap.
-For property list refresh, a new signal (property_list_changed) was added to Object. _change_notify() is replaced by notify_property_list_changed()
-Changed all objects using the old method to the signal, or just deleted the calls to _change_notify(<property>) since they are unnecesary now.
2021-02-10 19:31:24 -03:00
Rafał Mikrut 7961a1dea3 Initialize class variables with default values in scene/ [2/2] 2021-02-09 18:24:36 +01: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
Eric M 12ded391f5 Exposed shortcut_context property to scripting and added documentation.
I didn't expose this as a property or add documentation in the original PR #42109.
2020-11-30 00:11:40 +10:00
Eric M efe5c250d5 Implement new shortcuts system.
unhandled_key_input changed to unhandled_button_input. Controls can set a 'shortcut_context' which they can then use to determine if their shortcuts should be triggered or not, based on if the viewport's focused GUI control is a child of their 'shortcut context'.
2020-11-23 21:14:26 +10:00
Eric M 9d7d20a978 Added accept_event() calls for SceneTreeDock and BaseButton 2020-11-23 21:14:25 +10:00
Aaron Franke 961ee3a1d7
Rename button group property to button_group 2020-10-24 01:30:18 -04:00
FIF15 0e7e25d488 Remove redundant property "enabled_focus_mode"
Fixes #41529.
2020-10-13 10:04:37 +02:00
Rémi Verschelde 6f0fa8519f
Merge pull request #41776 from EricEzaM/PR/tooltip-bugfixes
Tooltip flickering and targeting fixes.
2020-09-15 10:24:17 +02:00
Eric M 07cb95bbda Tooltip flickering and targeting fixes. 2020-09-15 17:34:29 +10: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
Marcel Admiraal f515e72348 Use != 0 instead of > 0 when checking bit mask. 2020-09-07 10:36:22 +01:00
georgikoemdzhiev 8674e5c0bd Uncheck 'Pressed' if toggle_mode is unchecked 2020-07-02 19:14:10 +01:00
Rémi Verschelde 0ee0fa42e6 Style: Enforce braces around if blocks and loops
Using clang-tidy's `readability-braces-around-statements`.
https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14 21:57:34 +02:00
Rémi Verschelde 0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
lupoDharkael 95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky c7b4dcae2f Open sub-windows as embedded if the OS does not support them 2020-03-26 15:49:43 +01:00
Juan Linietsky 9e08742de8 Added a Window node, and made it the scene root.
Still a lot of work to do.
2020-03-26 15:49:38 +01:00
OverloadedOrama bf4a0242ff Fixes BaseButton not triggering the "pressed" signal on "Button Press" Action Mode
This should fix #34935
2020-01-09 02:17:53 +02:00
fossegutten b728d3bd18 Fixes button flashing when releasing mousebutton outside 2020-01-03 14:55:27 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
qarmin 6cbaf7662f Changed some code showed in LGTM and Coverage 2019-07-20 08:09:57 +02:00
PouleyKetchoupp 1e6fa5d1a5 Fixed shortcut events in BaseButton (now acts the same as ui_accept action) 2019-06-20 09:13:23 +02:00
Rémi Verschelde 2cedf7173a BaseButton: Make shortcuts call virtual methods
When buttons are not in Toggle Mode, shortcuts used to only trigger the
`pressed` signal, without calling the `_pressed` virtual method,
contrarily to what happens when you click the button.

For Toggle Mode buttons, it did call the `_toggled` virtual method
together with emitting the `toggled` signal *twice*.

This commit harmonizes it all and makes shortcuts behave the same as
mouse clicks or `ui_accept`, for both toggle and non-toggle modes.

Fixes #29604.
2019-06-12 16:35:49 +02:00
volzhs 5c01e066e1 Fix BaseButton not emitting signal with virtual function
Fix #29258
2019-05-29 06:28:34 +09:00
volzhs 5e8017721a Refactor BaseButton event handling
also _toggled() function and "toggled" signal called  when unpressed by ButtonGroup
2019-05-21 22:14:01 +09:00
Rémi Verschelde a72552367e
Merge pull request #25453 from nekomatata/button-keep-pressed-option
Add option to keep button pressed when moving cursor outside while pressing
2019-05-01 10:30:40 +02:00
Rémi Verschelde 4f10a08d1b
Merge pull request #27796 from Leytak/patch-2
Reset button state on exit tree
2019-04-30 11:05:09 +02:00
qarmin 856a8226a5 Small fixes, mostly dupicated code 2019-04-08 11:03:37 +02:00
Alexey Kashlakov c7fbc63cc2 Reset button state on exit tree
Steps to reproduce a bug:
1) Hold / hover the button
2) Remove it (or parent node) from the tree
3) When we return the button back to the tree, it's pressed / hover
2019-04-08 15:11:07 +07:00
PouleyKetchoupp 43bd28bc14 Option for BaseButton to keep button down when moving the pointer outside while pressed 2019-04-03 14:19:33 +02:00
Kraus ea211af412 ButtonGroup.get_pressed_button bugfix, fixes issue #25057 2019-01-21 16:46:09 +01:00
Rémi Verschelde b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Michael Alexsander Silva Dias c2fe5c0468 Expose ButtonGroup's "get_buttons()" to GDScript 2018-12-14 04:16:23 -02:00
lupoDharkael d2b890ede5 BaseButton: add shortcut_in_tooltip
This flag disables the input related information in the tooltip.
It is exposed as a member variable in gdscript.
2018-11-19 23:48:05 +01:00
Juan Linietsky f2e54057ae -Moved EditorDefaultValue to ClassDB, made it core
-Removed one and zero hints for properties, replaced by default value
2018-11-08 11:30:59 -03:00
Aaron Franke 4f7b33cdcf Remove redundant "== false" code
Some of this code has been re-organized.
f
2018-10-06 16:20:41 -04:00
Rémi Verschelde 08a24698eb
Merge pull request #22062 from Leytak/patch-1
Discard button pressing flags on disable
2018-10-02 09:49:17 +02:00
DualMatrix 99e3309296 Added hover_pressed style to CheckBox and CheckButton
Added hover_pressed style to CheckBox and CheckButton.
If no style is defined for this property it will default to the pressed property.
2018-09-24 02:31:03 +02:00
Alexey Kashlakov 1e65916241
Discard button pressing flags on disable
Is it a bug?
1) Click the button and hold
2) Disable it (for example I bind this action on keyboard)
3) Release the mouse and move it outside the button
4) Enable the button
5) It's still pressed, but shouldn't
2018-09-14 14:21:58 +07:00
Rémi Verschelde 277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Rémi Verschelde 52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
Juan Linietsky 7811156c4f
Merge pull request #17451 from Goutte/feat-base-button-mask
Allow configuration of which mouse buttons the BaseButton responds to
2018-05-07 18:24:17 -03:00
Rémi Verschelde 7e2782e177
Merge pull request #17081 from endragor/no-press-when-scroll
Make Button not emit press when container is scrolled
2018-04-10 07:56:37 +02:00
Ruslan Mustakov dcf5be92a3 Make BaseButton not emit press when container is scrolled
This fixes the problem described in #13996 in a proper way.

This also adds "deadzone" property to ScrollContainer. It can be used
on mobile, where taps are not as precise as mouse clicks. Player could
slightly move their finger when tapping, in which case we still want
the button to be pressed rather than the container to be scrolled.
2018-04-09 20:34:52 +07:00
Goutte ed69345a19 Add a binary mask to allow configuration of which mouse buttons the BaseButton will respond to. 2018-03-13 23:59:53 +01:00
bncastle ceb079fa35 Fix BaseButton not always calling _pressed()
Fix "ui_accept" action in BaseButton.cpp not calling _pressed() func in
GDScript
2018-03-05 20:37:10 -05:00
Gilles Roudiere 8dad41e395 2D editor GUI input rework. Changes are:
- The input handling is done into several distinct functions, and the
  code is more consistent.
- The actions' history is more precise ("Edited CanvasItem"
  is now "Rotated CanvasItem","Moved CanvasItem",etc...)
- Fixed a little bug about input key events not forwarded correctly to plugins
- IK is followed by default when you move a bone node, the alt-key allow
  you to move it normally
2018-02-16 10:14:52 +01:00
Hein-Pieter van Braam 713f190a30 Allow focus on disabled buttons
This behavior better matches other gui toolkits. A selected disabled
button still can't be interacted with but it can now be selected. This
seems to be what QT and GTK do also.

This fixes #16131
2018-01-28 18:49:22 +01:00