Commit graph

80 commits

Author SHA1 Message Date
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
Rémi Verschelde
7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Ignacio Etcheverry
32dd9a9f66 ClassDB: Provide the enum name of integer constants 2017-08-20 22:07:43 +02:00
Ignacio Etcheverry
2f290038d6 Removes type information from method binds 2017-08-10 07:17:50 +02:00
Ignacio Etcheverry
e82270e8d0 Renames properties and methods to avoid ambiguities
- Method Node2D.scale(Vector2) renamed to Node2D.apply_scale(Vector2)
- Property BaseButton.is_pressed renamed to BaseButton.pressed
2017-08-05 22:52:58 +02:00
Poommetee Ketson
49c7620326 Add object type hint for docs 2017-07-19 02:03:34 +07:00
Andreas Haas
9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00
Juan Linietsky
5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
volzhs
706ca4efd6 Prevent to uncheck selected item with button group 2017-04-10 13:57:24 +09:00
Rémi Verschelde
df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Rémi Verschelde
5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Hein-Pieter van Braam
411ee71b4d Rename the _MD macro to D_METHOD
This new name also makes its purpose a little clearer

This is a step towards fixing #56
2017-02-13 12:50:02 +01:00
Hein-Pieter van Braam
0f687f0ccb Remove use of _SCS from ADD_METHOD
This saves typing and is a step towards fixing #56
2017-02-13 10:37:47 +01:00
Rémi Verschelde
93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky
de8cc309d6 Renamed button functions to be more verboes, same with Range unit value -> ratio 2017-01-13 14:08:30 -03:00