Commit graph

95 commits

Author SHA1 Message Date
Hugo Locurcio 43da1790c8
Remove deprecation warning for BaseButton.enabled_focus_mode
There were too many instances of false positives that are difficult
to fix. The note in the class reference has been clarified instead.
2021-08-22 21:47:53 +02:00
Jason Knight 955f2ba75e
Removed the alteration of status.hovering during Focus Enter and Focus Exit events.
This is incorrect and not fully implemented, and results in inconsistency in the UI and in the hovering variable.

(cherry-picked from commit edcbe88389)
2021-08-12 16:37:35 +02:00
kobewi 4941d2001c
Add set_pressed_no_signal method to BaseButton
(cherry picked from commit 50c63bdc4c)
2021-07-15 10:52:22 +02:00
Jason Knight 7510e1c24b
Emit button_up signal after setting pressed to false.
(cherry picked from commit 4c6ad8abcd)
2021-06-17 12:47:53 +02:00
Gilles Roudière 472f7e9756
Adds a pressed signal to ButtonGroup
(cherry picked from commit 323f176915)
2021-05-09 17:47:37 +02:00
Rémi Verschelde 140350d767
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
2021-05-05 15:02:01 +02:00
Rémi Verschelde a828398655
Style: Replaces uses of 0/NULL by nullptr (C++11)
Using clang-tidy's `modernize-use-nullptr`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-nullptr.html
2021-05-04 16:30:23 +02:00
Rémi Verschelde b5e1e05ef2
Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks 2021-05-04 14:45:16 +02:00
Rafał Mikrut 06976c3e84 [3.x] Fix crashes when using _input functions 2021-04-27 16:51:29 +02:00
Rémi Verschelde 49646383f1
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 🎆

(cherry picked from commit b5334d14f7)
2021-01-13 16:17:06 +01:00
FIF15 8311a37ed9 Deprecate Redundant property enabled_focus_mode
of BaseButton
see #41529 for details
this closes #41529
2020-10-16 14:14:04 +08: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
Rémi Verschelde 4b6bef6524 Fix signal arguments shadowing member variables
Fixes #10212.
2018-01-09 16:51:19 +01:00
volzhs 13af5e8878 Remove button from button_group when free 2018-01-06 06:06:22 +09:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
poke1024 22d87f20fa Consistent display of shortcut names in tooltips 2017-12-21 20:17:30 +01:00
Ferenc Arn 9c516d8383 Fix toggle mode of BaseButton.
..which got broken with #11480.
2017-09-26 20:10:44 -04:00
Ferenc Arn ca3061d9c2 Ensure pressed is set to false in BaseButton::_unpress_group. 2017-09-21 20:58:32 -04:00
Matthias Hoelzl 1bafc3c6cf Fix inconsistent toggle button behavior 2017-08-31 17:07:32 +02:00