summaryrefslogtreecommitdiff
path: root/scene/gui/popup_menu.cpp
AgeCommit message (Collapse)Author
2020-01-03Clears button mask before activating menu itemHaoyu Qiu
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-12-13doc: Sync classref with current sourceRémi Verschelde
Also apply clang-format.
2019-12-10Fixes long popup menu scroll behaviorHaoyu Qiu
Popup menus longer than the viewport have stange behaviors before this fix: * They always have one pixel outside the viewport. * You can scroll down the long menu even if bottom outside screen and top inside the screen. (Only menus one pixel above the screen is limited to scroll down.)
2019-10-08PopupMenu: Fix missing text/xl_text when using add_shortcutRémi Verschelde
Use macros to ensure that `text`, `xl_text` and `id` are always set using the same logic. Fixes #25519. Also fixes up #26914 when `p_id == -1` handling was only added for a couple methods instead of all of them.
2019-10-08PopupMenu: Reorder add_* methods in more natural orderRémi Verschelde
Also adds `add_icon_radio_check_shortcut` matching `add_icon_radio_check_item`, binds them for scripting languages, and binds `add_multistate_item`.
2019-08-09Remove ERR_EXPLAIN from scene/* codeTomasz Chabora
2019-05-31Improvements to incremental searchTomasz Chabora
2019-05-09Change "ID" to lowercase "id"Aaron Franke
Reasoning: ID is not an acronym, it is simply short for identification, so it logically should not be capitalized. But even if it was an acronym, other acronyms in Godot are not capitalized, like p_rid, p_ip, and p_json.
2019-05-02Fix regression in 'PopupMenu' when icons have different values for width and ↵Michael Alexsander Silva Dias
height
2019-05-01Fix regression on 'PopupMenu's minimal sizeMichael Alexsander Silva Dias
2019-04-30Merge pull request #27204 from YeldhamDev/popupmenu_checkicon_offsetRémi Verschelde
Offset items in PopupMenu when Icons and Checks are present
2019-04-29Make buttons that trigger popups have the same scaleMichael Alexsander Silva Dias
2019-04-22Merge pull request #27673 from qarmin/small_fixesRémi Verschelde
Small fixes, mostly duplicated code
2019-04-08Small fixes, mostly dupicated codeqarmin
2019-03-18Offset items in PopupMenu when Icons and Checks are presentMichael Alexsander Silva Dias
2019-03-11Fixed optional idx argument in add_item (OptionMeny & PopupMenu)xDGameStudios
2019-02-20Add -Wshadow=local to warnings and fix reported issues.marxin
Fixes #25316.
2019-02-15Revert "Fix MenuButton item label disappearing when setting shortcut."Rémi Verschelde
2019-02-14Fix MenuButton item label disappearing when setting shortcut.Unknown
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-15Fix item highlighting in PopupMenu for items with offsetMichael Alexsander Silva Dias
2018-11-11Fixed various uninitialised member variables in editor plugins.Ibrahn Sahir
2018-11-08-Moved EditorDefaultValue to ClassDB, made it coreJuan Linietsky
-Removed one and zero hints for properties, replaced by default value
2018-11-01Merge pull request #21962 from YeldhamDev/switch_hover_submenuJuan Linietsky
Fix MenuButton hover switching not happening with submenus open
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
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-11Fix MenuButton hover switching not happening with submenus openMichael Alexsander Silva Dias
2018-08-17Merge pull request #21091 from hpvb/fix-removing-popup-menu-itemRémi Verschelde
Call minimum_size_changed() in PopupMenu::remove_item()
2018-08-16Call minimum_size_changed() in PopupMenu::remove_item()Hein-Pieter van Braam
When removing an item from a PopupMenu we need to update the control's size cache otherwise the size of the PopupMenu itself lags behind by 1 item size. Meaning the PopupMenu will remain too large.
2018-08-16Delay emitting pressed signals in PopupMenuHein-Pieter van Braam
When processing items we may actually delete the item we're processing in the callback for the signal. To avoid this, call the signal after we're done processing the items. But before hiding the popupmenu itself. Thanks to @reduz for writing the whole solution. This fixes #19842
2018-08-16PopupMenu item_pressed is sent before checking hide flags.Ovnuniarchos
2018-08-13Emit pressed events after processing itemsHein-Pieter van Braam
When processing items we may actually delete the item we're processing in the callback for the signal. To avoid this, call the signal after we're done processing the items. This fixes #19842
2018-07-29Merge pull request #15269 from ianb96/context_menu_improvementsJuan Linietsky
Context Menu Improvements
2018-07-26context menu improvementsIan
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-14Visual Shaders are back.Juan Linietsky
2018-07-09Add ability to set submenu's popup delay time on mouse hoveringAndrii Doroshenko (Xrayez)
This allows to set delay time for the submenu to popup. Setting this value low can increase responsiveness. If the popup menu is added as a child of another (acting as a submenu), it will inherit the delay time of the parent menu item.
2018-06-07Entirely new (and much improved) animation editor.Juan Linietsky
2018-05-17-Ability to open resources in the same windowJuan Linietsky
-Plenty of fixes and improvements to new inspector -Fixes that were needed to make inspector work better
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