summaryrefslogtreecommitdiff
path: root/scene/gui/base_button.cpp
AgeCommit message (Collapse)Author
2021-12-09Replace String comparisons with "", String() to is_empty()Nathan Franke
Also: - Adds two stress tests to test_string.h - Changes to .empty() on std::strings
2021-11-12Use "enum class" for input enumsAaron Franke
2021-08-23Entirely removes BIND_VMETHOD in favor of GDVIRTUALreduz
* `_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-22Replace BIND_VMETHOD by new GDVIRTUAL syntaxreduz
* New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
2021-08-15command palette improvementsBhuvan Vemula
2021-08-09Added EditorCommandPaletteBhuvan Vemula
2021-08-05Shortcut: Rename `shortcut` property to `event`Rémi Verschelde
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-07-18Optimize StringName usagereduz
* 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-13Add set_pressed_no_signal method to BaseButtonkobewi
2021-06-21Rename `is_a_parent_of()` to `is_ancestor_of()`Lightning_A
2021-06-09Merge pull request #49155 from ↵Rémi Verschelde
winterpixelgames/button-pressed-during-button-up-signal Emit button_up signal after setting pressed to false.
2021-06-09Merge pull request #47280 from winterpixelgames/focus_doesnt_change_hoverRémi Verschelde
Dont Change Hovering during Control Focus Events
2021-05-27Emit button_up signal after setting pressed to false.Jason Knight
2021-05-06Adds a pressed signal to ButtonGroupGilles Roudière
2021-04-05Fix crashes in *_input functionsRafał Mikrut
2021-03-22Removed the alteration of status.hovering during Focus Enter and Focus Exit ↵Jason Knight
events. This is incorrect and not fully implemented, and results in inconsistency in the UI and in the hovering variable.
2021-02-10Removed _change_notifyreduz
-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-09Initialize class variables with default values in scene/ [2/2]Rafał Mikrut
2021-01-01Update copyright statements to 2021Rémi Verschelde
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 🎆
2020-11-30Exposed shortcut_context property to scripting and added documentation.Eric M
I didn't expose this as a property or add documentation in the original PR #42109.
2020-11-23Implement new shortcuts system.Eric M
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-23Added accept_event() calls for SceneTreeDock and BaseButtonEric M
2020-10-24Rename button group property to button_groupAaron Franke
2020-10-13Remove redundant property "enabled_focus_mode"FIF15
Fixes #41529.
2020-09-15Merge pull request #41776 from EricEzaM/PR/tooltip-bugfixesRémi Verschelde
Tooltip flickering and targeting fixes.
2020-09-15Tooltip flickering and targeting fixes.Eric M
2020-09-09Rename ShortCut to Shortcut which is more grammatically correctHugo Locurcio
See https://github.com/godotengine/godot/issues/16863#issuecomment-685236980.
2020-09-07Use != 0 instead of > 0 when checking bit mask.Marcel Admiraal
2020-07-02Uncheck 'Pressed' if toggle_mode is uncheckedgeorgikoemdzhiev
2020-05-14Style: Enforce braces around if blocks and loopsRémi Verschelde
Using clang-tidy's `readability-braces-around-statements`. https://clang.llvm.org/extra/clang-tidy/checks/readability-braces-around-statements.html
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
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-04-02Replace NULL with nullptrlupoDharkael
2020-03-26Open sub-windows as embedded if the OS does not support themJuan Linietsky
2020-03-26Added a Window node, and made it the scene root.Juan Linietsky
Still a lot of work to do.
2020-01-09Fixes BaseButton not triggering the "pressed" signal on "Button Press" ↵OverloadedOrama
Action Mode This should fix #34935
2020-01-03Fixes button flashing when releasing mousebutton outsidefossegutten
2020-01-01Update copyright statements to 2020Rémi Verschelde
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.
2019-07-20Changed some code showed in LGTM and Coverageqarmin
2019-06-20Fixed shortcut events in BaseButton (now acts the same as ui_accept action)PouleyKetchoupp
2019-06-12BaseButton: Make shortcuts call virtual methodsRémi Verschelde
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-05-29Fix BaseButton not emitting signal with virtual functionvolzhs
Fix #29258
2019-05-21Refactor BaseButton event handlingvolzhs
also _toggled() function and "toggled" signal called when unpressed by ButtonGroup
2019-05-01Merge pull request #25453 from nekomatata/button-keep-pressed-optionRémi Verschelde
Add option to keep button pressed when moving cursor outside while pressing
2019-04-30Merge pull request #27796 from Leytak/patch-2Rémi Verschelde
Reset button state on exit tree
2019-04-08Small fixes, mostly dupicated codeqarmin
2019-04-08Reset button state on exit treeAlexey Kashlakov
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-03Option for BaseButton to keep button down when moving the pointer outside ↵PouleyKetchoupp
while pressed
2019-01-21ButtonGroup.get_pressed_button bugfix, fixes issue #25057Kraus
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-14Expose ButtonGroup's "get_buttons()" to GDScriptMichael Alexsander Silva Dias