summaryrefslogtreecommitdiff
path: root/scene/gui/popup_menu.cpp
AgeCommit message (Collapse)Author
2018-04-09Add support for radio-looking items with iconPedro J. Estébanez
Letting users of `PopupMenu` use them. `OptionButton` was one of those interested and is updated in this commit. Fixes #18063.
2018-04-07Merge pull request #17730 from RandomShaper/radio-buttons-in-menusJuan Linietsky
Radio buttons in menus
2018-04-07Improve popup menus usabilityPedro J. Estébanez
It seems that popups were intended to "grab" the mouse click that triggered them, but their intent was being lost. This commit does the necessary changes to let it happen and updates items that were trying to get advantage of it, because the semantics of `Control::grab_click_focus()` have changed a bit. Namely, it must be called **before** showing the modal. This allows to popup a menu and activate an item in it in a single click-point-release cycle, instead of having to click once to open the menu and once more to pick an item. This ability is extended even to context menus activated with the RMB (or any other mouse button, for that matter). The editor benefits from this in the context menu of the tree dock, which has been patched to opt-in for this feature. This improves UX a bit by saving unnecessary clicks. From now on, `PopupMenu` always grabs the click and also invalidates the first button release unless the mouse has moved (that's what `set_invalidate_click_until_motion()` was doing and now it's removed), so there is no longer the need of doing both things at every point a pop-up menu is shown.
2018-03-27Add radio-button-looking entries to PopupMenuPedro J. Estébanez
They work exactly the same as current checkbox-decorated items, but in order to preserve compatibility, separate methods are used, like `add_radio_check_item()`. The other option would have been to add a new parameter at the end of `add_check_item()` and the like, but that would have forced callers to provide the defaults manually. `is_item_checkable()`, `is_item_checked()` and `set_item_checked()` are used regardless the item is set to look as check box or radio button. Keeping check in the name adds an additional clue about these facts. Closes #13055.
2018-02-23Add item_focused signal to OptionButtonFabio Alessandrelli
And id_focused to Popupmenu.
2018-02-23Popupmenu now uses UI actions instead of keysFabio Alessandrelli
2018-01-12Bind many more properties to scriptsBojidar Marinov
Notable potentially breaking changes: - PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL - Some properties were renamed, and sometimes even shadowed by new ones - New getter methods (some virtual) were added
2018-01-07Corrects wrong scrolling for short popups broken in 15405Bernhard Liebl
2018-01-06Allow popup menu scrolling without mouse wheelBernhard Liebl
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
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-05Fix PopupMenu to show & detect properly hover areavolzhs
Fix #15275
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-17Merge pull request #14748 from YeldhamDev/popupmenu_circlebackRémi Verschelde
Made highlighted item in PopupMenu circle back to the beginning/end when using the keyboard
2017-12-16More changes to PopupMenu's submenu keyboard handling.Michael Alexsander Silva Dias
2017-12-16Made highlighted item in PopupMenu circle back to the beginning/end when ↵Michael Alexsander Silva Dias
using the keyboard.
2017-12-15Enhancements and fixes for PopupMenu's submenus.Michael Alexsander Silva Dias
2017-12-12Change statable to multistate, remove extra separatorPoommetee Ketson
2017-12-10Merge pull request #11510 from AndreaCatania/skelRémi Verschelde
Added skeleton x-ray
2017-12-10Implemented skeleton visibilityAndreaCatania
Removed code visibility code from popup menu
2017-12-06Fixed PopupMenu's submenus not showing up in certain situations.Michael Alexsander Silva Dias
2017-08-27Use HTTPS URL for Godot's website in the headersRémi Verschelde
2017-08-24Convert Object::cast_to() to the static versionHein-Pieter van Braam
Currently we rely on some undefined behavior when Object->cast_to() gets called with a Null pointer. This used to work fine with GCC < 6 but newer versions of GCC remove all codepaths in which the this pointer is Null. However, the non-static cast_to() was supposed to be null safe. This patch makes cast_to() Null safe and removes the now redundant Null checks where they existed. It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-18Rename localization method to `tr` againRémi Verschelde
Partial revert of #10380 based on contributor ~~bullying~~ feedback.
2017-08-17Rename `XL_MESSAGE` aka `tr` to `localize`Rémi Verschelde
Also renames `set_message_translation` to `set_message_localization` for consistency.
2017-08-10Removes type information from method bindsIgnacio Etcheverry
2017-08-07Makes all Godot API's methods Lower CaseIndah Sylvia
2017-08-06Rename KEY_RETURN to KEY_ENTER and KEY_ENTER to KEY_KP_ENTERBojidar Marinov
Closes #7695
2017-07-23Add object type hint for docsPoommetee Ketson
2017-07-14Fix uncheckable checkboxes in RMB menu. closes #9625Jakub Grzesik
2017-07-11[#7212] Fixed missing 'Variant' return values in documentation.ducdetronquito
2017-06-20Merge pull request #8407 from Jylhis/popup_item_select_hideThomas Herzog
Update PopupMenu hiding
2017-06-04renamed all Rect2.pos to Rect2.positionalexholly
2017-06-03InputEvent: Renamed "pos" property to "position"Andreas Haas
Make the naming consistent with other classes.
2017-05-20Removal of InputEvent as built-in Variant type..Juan Linietsky
this might cause bugs I haven't found yet..
2017-05-14Fixed #8526, popup menu width now responds to submenu iconAlexHoratio
2017-05-07Implemented scrolling factor for smooth trackpad scrollingtoger5
Working platforms platform: OSX, Windows. Support for almost all ui elements, including project list.
2017-04-14Update PopupMenu hidingJylhis
Make PopupMenu hiding distinguish between checkable item and non checkable item.
2017-04-10Rename [gs]et_pos to [gs]et_position for ControlsSergey Pusnei
Control set_pos -> set_position Control set_global_pos -> set_global_position [gs]et_mouse_pos -> [gs]et_mouse_position [gs]et_global_mouse_pos -> [gs]et_global_mouse_position fixes #8005
2017-04-08Add "Godot Engine contributors" copyright lineRémi Verschelde
2017-03-05A Whole New World (clang-format edition)Rémi Verschelde
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-02-13Rename the _MD macro to D_METHODHein-Pieter van Braam
This new name also makes its purpose a little clearer This is a step towards fixing #56
2017-02-13Remove use of _SCS from ADD_METHODHein-Pieter van Braam
This saves typing and is a step towards fixing #56
2017-01-14Style: Fix whole-line commented codeRémi Verschelde
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-13New API for visibility in both CanvasItem and SpatialJuan Linietsky
visible (property) - access set_visible(bool) is_visible() is_visible_in_tree() - true when visible and parents visible show() hide() - for convenience
2017-01-09-Translation text will change automatically for in-game buttons, labels, ↵Juan Linietsky
poups when translation is changed. -Added a NOTIFICATION_TRANSLATION_CHANGED for controls that need custom code -Sorry, editor will not update automatically because it uses a different translatio method.
2017-01-08PopupMenu now emits both index_pressed and id_pressed instead of ↵Juan Linietsky
item_pressed, closes #3188
2017-01-08renamed _input_event for GUI events to _gui_input, so it's more ↵Juan Linietsky
differentiated than generalized _input
2017-01-05-Changed most project settings in the engine, so they have major and minor ↵Juan Linietsky
categories. -Changed SectionedPropertyEditor to support this -Renamed Globals singleton to GlobalConfig, makes more sense. -Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-02ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to ↵Juan Linietsky
Variant. All usages of "type" to refer to classes were renamed to "class" ClassDB has been exposed to GDScript. OBJ_TYPE() macro is now GDCLASS()
2017-01-02Merge branch 'master' of https://github.com/godotengine/godotJuan Linietsky