Commit graph

146 commits

Author SHA1 Message Date
Rémi Verschelde
c84cf04e95
PopupMenu: Update margins on visibility change
Fixes #96149.

Co-authored-by: Haoyu Qiu <timothyqiu32@gmail.com>
2024-09-04 11:35:41 +02:00
Ricardo Subtil
1cf50364c1 Fix PopupMenu size calculations not taking into account control/canvas scale 2024-07-20 12:46:33 +01:00
lawnjelly
bc607fb607 Fix signed distance field font rendering
This fix works in both GLES3 and GLES2.

The rendering formula in the shader was adjusted to further improve the
sharpness/antialiasing quality balance.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-02-05 17:50:33 +00:00
Haoyu Qiu
78a11ea48c Fix PopupMenu icon and text not having separation 2023-09-07 18:14:44 +08:00
Ricardo Subtil
7fdfed2a9e Fix PopupMenu's maximum height not being automatically set 2023-05-31 10:53:09 +01:00
Rémi Verschelde
dd7f517407
Merge pull request #66711 from rsubtil/port_popup_menu_rework
[3.x] PopupMenu rework and enhancements
2023-01-23 17:04:17 +01:00
EricEzaM
6a5992c9f1 PopupMenu rework and enhancements
Many scrolling behaviour improvements and the ability to limit popup size.
2023-01-21 21:36:26 +00:00
Rémi Verschelde
1426cd3b3a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".

Backported from #70885.
2023-01-10 15:26:54 +01:00
Rémi Verschelde
47da910fcb
Merge pull request #64965 from YeldhamDev/more_hl_stuff_bp 2022-08-29 08:05:54 +02:00
Michael Alexsander
1e80b17a8d Fix some corner cases in the Menu/OptionButton item auto-highlight 2022-08-28 01:45:08 -03:00
Michael Alexsander
f0d380c9fd Fix crash when pressing up on an empty PopupMenu 2022-08-27 18:26:31 -03:00
Michael Alexsander
50506e19a6 Make Menu/OptionButton item auto-highlight behave better 2022-08-19 15:19:34 -03:00
Rémi Verschelde
e80dfb7b12
Merge pull request #61687 from YeldhamDev/double_hover_fix
Fix hover being drawn twice inside `PopupMenu`s
2022-06-06 13:17:25 +02:00
Michael Alexsander
b4e4f88cd9 Fix specific bug related to submenus in PopupMenu 2022-06-04 13:26:12 -03:00
Michael Alexsander
78fdebf8cc Fix hover being drawn twice inside PopupMenus 2022-06-04 02:51:22 -03:00
kleonc
736b0c4e97 PopupMenu Fix hover stylebox overflowing horizontally 2022-05-27 23:35:17 +02:00
Rémi Verschelde
b7523a953f Revert invalid PopupMenu breaking change from #61102
Fixes #61179.
2022-05-19 10:02:02 +02:00
Sergey Pershenkov
431c032d8c Make various improvements to OptionButton
- Allow OptionButton selection to be set to -1 to signify no selection, both via API and in the editor.
- Reset OptionButton selection to -1 when the selected item has been removed.
- Fully convert PopupMenu to a zero-based ID system, which improves an inconsistency in generated IDs when making new items in the editor.

(cherry picked from commit 3b146c5eaa)
2022-05-16 22:47:46 +03:00
Michael Alexsander
2e4e76b2e3 Add font_separator to PopupMenu 2022-05-08 14:11:59 -03:00
Michael Alexsander
4f70201fbe Fix separator height influencing labeled variation in PopupMenu 2022-05-07 21:15:57 -03:00
Michael Alexsander
f63bea9ef2 Make popup menus focus items automatically when not using the mouse 2022-02-04 17:20:26 -03:00
Rémi Verschelde
a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
jmb462
4de860c6d5 Fix PopupMenu bad item offset with custom vseparation 2022-01-03 22:15:59 +01:00
Haoyu Qiu
fb15adfad0 Fix crash when executing PopupMenu.new()._submenu_timeout() 2021-07-27 12:11:28 +08: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
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
Yuri Roubinsky
adfc646f8c
Added optional id parameter to PopupMenu::add_separator
(cherry picked from commit ca8c794d04)
2020-12-30 09:57:01 +01:00
Michael Alexsander
4fe554933c
Allow to circle back in 'PopupMenu' even if the first/last item is non-selectable
(cherry picked from commit bb39088201)
2020-12-10 14:02:06 +01:00
Michael Alexsander
32da9dc1e9
Add "font_color_separator" theme property to 'PopupMenu'
(cherry picked from commit 383e8919e0)
2020-12-10 13:06:15 +01:00
nobuyuki_nyuu
12386a2d80 PopupMenu.get_current_index() bound to ClassDB
(cherry picked from commit 35f30086de)
2020-05-07 13:36:53 +02:00
Leleat
8da00fbfc7 fixed PopupMenus letterjumping on any InputEvent
(cherry picked from commit 8a5660f3d1)
2020-04-16 11:58:14 +02:00
Haoyu Qiu
e539b187a5 Clears button mask before activating menu item 2020-01-03 09:35:00 +08: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
Rémi Verschelde
9f68626fb2 doc: Sync classref with current source
Also apply clang-format.
2019-12-13 10:41:06 +01:00
Haoyu Qiu
5bf8e1e426 Fixes long popup menu scroll behavior
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-12-10 09:49:02 +08:00
Rémi Verschelde
58dd5d0c78 PopupMenu: Fix missing text/xl_text when using add_shortcut
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-08 09:33:26 +02:00
Rémi Verschelde
63a19df5e6 PopupMenu: Reorder add_* methods in more natural order
Also adds `add_icon_radio_check_shortcut` matching `add_icon_radio_check_item`,
binds them for scripting languages, and binds `add_multistate_item`.
2019-10-08 09:32:01 +02:00
Tomasz Chabora
af5e0fff66 Remove ERR_EXPLAIN from scene/* code 2019-08-09 13:54:52 +02:00
Tomasz Chabora
9de912caf5 Improvements to incremental search 2019-05-31 14:56:49 +02:00
Aaron Franke
702b539405
Change "ID" to lowercase "id"
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-09 06:25:32 -04:00
Michael Alexsander Silva Dias
d6489374e7 Fix regression in 'PopupMenu' when icons have different values for width and height 2019-05-02 11:40:13 -03:00
Michael Alexsander Silva Dias
48bfa9d17a Fix regression on 'PopupMenu's minimal size 2019-05-01 02:30:56 -03:00
Rémi Verschelde
0da61614c0
Merge pull request #27204 from YeldhamDev/popupmenu_checkicon_offset
Offset items in PopupMenu when Icons and Checks are present
2019-04-30 11:49:16 +02:00
Michael Alexsander Silva Dias
b8e09f98c4 Make buttons that trigger popups have the same scale 2019-04-29 13:07:47 -03:00
Rémi Verschelde
a342131eba
Merge pull request #27673 from qarmin/small_fixes
Small fixes, mostly duplicated code
2019-04-22 12:00:34 +02:00
qarmin
856a8226a5 Small fixes, mostly dupicated code 2019-04-08 11:03:37 +02:00
Michael Alexsander Silva Dias
de04003d3f Offset items in PopupMenu when Icons and Checks are present 2019-03-18 10:10:19 -03:00
xDGameStudios
ffc5f360e8 Fixed optional idx argument in add_item (OptionMeny & PopupMenu) 2019-03-11 11:54:12 +00:00