Commit Graph

43 Commits

Author SHA1 Message Date
f7749e5552 Document popups being invisible by default 2025-10-23 19:55:03 +02:00
f37fb49739 Add separate minimize_disabled and maximize_disabled window flags. 2025-04-07 18:58:11 +03:00
84d3adcf2f Wayland: Implement native sub-windows
The backend is now mature enough to not explode with multiple windows
but the `DisplayServer` API still cannot meet some guarantees required
by the various Wayland protocols we use. To meet those guarantees this
patch adds three new elements to the DisplayServer API, with relative
handling logic for `Window` and `Popup` nodes:

 - `WINDOW_EVENT_FORCE_CLOSE`, which tells a window to *forcefully*
close itself and ensure a proper cleanup of its references, as Wayland
enforces this behavior;

 - `WINDOW_FLAG_POPUP_WM_HINT`, which explicitly declares a window as a
"popup", as Wayland enforces this distinction and heuristics are not
reliable enough;

 - `FEATURE_SELF_FITTING_WINDOWS`, which signals that the compositor can
fit windows to the screen automatically and that nodes should not do
that themselves.

Given the size of this feature, this patch also includes various
`WaylandThread` reworks and fixes including:

 - Improvements to frame wait logic, with fixes to various stalls and a
configurable (through a `#define`) timeout amount;

 - A proper implementation of `window_can_draw`;

 - Complete overhaul of pointer and tablet handling. Now everything is
always accumulated and handled only on each respective `frame` event.
This makes their logic simpler and more robust.

 - Better handling of pointer leaving and pointer enter/exit event
sending;

 - Keyboard focus tracking;

 - More solid window references using IDs instead of raw pointers as
windows can be deleted at any time;

 - More aggressive messaging to window nodes to enforce rects imposed by
the compositor.
2025-04-04 20:23:25 +02:00
7c75355541 Remove Popup's unused "panel" style 2024-04-13 15:18:12 -03:00
596dd726a1 Use bound theme properties for documentation 2023-09-26 18:48:51 +02:00
81064cc239 Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
346f1ab86b Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
151a4ba6a5 Overhaul the top sections of the class reference (GUI classes) 2023-05-28 14:24:54 +02:00
1c1524a651 Bump version to 4.1-dev
Can't stop, won't stop, they said, huh?
2023-03-01 01:44:37 +01:00
a5e5f1aa50 fix warnings in classref 2022-11-20 19:25:13 +01:00
74ff5921d6 Improve popup window handling.
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
b68dd2e189 Add an XML schema for documentation
This makes it easier to spot syntax errors when editing the
class reference. The schema is referenced locally so validation
can still work offline.

Each class XML's schema conformance is also checked on GitHub Actions.
2022-02-15 00:03:31 +01:00
ba565bec1b Update Popup and PopupMenu descriptions 2022-02-09 18:59:41 +01:00
b3992f7e6e Make overridden properties link to parent definition
Co-authored-by: Josh DeGraw <joshmdegraw@gmail.com>
2021-12-03 17:47:22 +03:00
d54f2ad7ca Don't generate empty doc sections and reduce code duplication 2021-09-20 20:59:33 -05:00
27e9df7778 Add multiple descriptions to several classes
This pull request adds several descriptions to multiple different classes.

This improves the completeness of the documentation and enhances usability by doing so.
2021-07-06 07:40:27 -04:00
c6dcf3310d doc: Sync classref with Variant utility methods
Copied relevant documentation from the original `@GDScript` built-ins,
which will likely be removed in a future commit.

Various fixups to `variant_utility.cpp` while working on this.
2020-11-17 11:26:24 +01:00
e5033d3952 doc: Sync classref with DisplayServer/Window changes 2020-03-31 11:56:58 +02:00
57e27683ba Update docs to version 4.0 2020-01-31 17:15:41 -08:00
2d20fc39aa doc: Drop unused 'category' property from header
We already removed it from the online docs with #35132.

Currently it can only be "Built-In Types" (Variant types) or "Core"
(everything else), which is of limited use.

We might also want to consider dropping it from `ClassDB` altogether
in Godot 4.0.
2020-01-26 16:02:39 +01:00
5be5f65440 document popup behaviour 2019-11-27 11:47:19 +01:00
a7ac8ec876 doc: Fix parsing of self-closing XML tags
Follow-up to #31925, `<member />` tags just before `</members>` would cause
a parsing issue, and we'd never notice that we're no longer parsing members.

Also added space before closing `/>`.
2019-09-24 13:34:05 +02:00
b397bcf4a1 Run doctool after overridden properties changes 2019-09-04 15:26:08 +03:00
97167209cb Exposed set_as_minsize to gdscript 2019-08-14 16:09:55 +09:30
c6cea6e9b3 doc: Add default values to all properties
Thanks to @bojidar-bg's impressive work in #29380.
2019-06-30 13:58:07 +02:00
f7f6115f76 Proofread and improve the whole class reference
- Document a few more properties and methods
- Add more information to many classes
- Fix lots of typos and gramar mistakes
- Use [code] tags for parameters consistently
- Use [b] and [i] tags consistently
- Put "Warning:" and "Note:" on their own line to be more visible,
  and make them always bold
- Tweak formatting in code examples to be more readable
- Use double quotes consistently
- Add more links to third-party technologies
2019-06-27 22:30:19 +02:00
80e9e93e27 Add Popup::popup_centered_clamped method
- Also replace redundant duplicate code in editor dialogs with calls to popup_centered_clamped()
2019-04-30 05:35:43 +10:00
6af69f851a doc: Drop unused <demos> tag 2019-04-19 11:03:46 +02:00
39c868171e doc: Bump version to 3.2 2019-04-01 12:33:56 +02:00
6cdcde7114 doc: Add missing commas after "If true/false" 2018-12-20 13:47:12 +01:00
3697dc0fc1 Clarify what popup_centered actually does
As was discussed in issue #24309, the method description doesn't
always accurately describe resultant behavior and can be
confusing.
2018-12-14 19:14:51 -08:00
3d9deda8b3 Sync classref with current source 2018-05-12 09:38:00 +02:00
d4ce53b9b1 [DOCS] Popup.popup_exclusive description 2018-04-22 05:41:15 +10:00
3fa77b3172 doc: Remove status from hardcoded version string
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
3c7a39b40c doc: Update version string in header 2018-02-19 10:46:33 +01:00
d516aab8fa doc: Sync with current source
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
e28cdc4654 doc: Update version string in XML 2018-01-13 11:43:42 +01:00
7dfba3cda9 doc: Fix enum tags thanks to 2bc6db6 2017-11-24 23:16:30 +01:00
92f07fefcd doc: Remove setters and getters now exposed via properties/members 2017-11-24 18:10:32 +01:00
bc75fae579 doc: Update header version for 3.0-beta 2017-11-24 09:16:52 +01:00
967bfb0c4a doc: Remove revision.module_config from version string
It is now "3.0-alpha" instead of "3.0.alpha.custom_build{,.mono}",
limits unnecessary diffs.
2017-11-15 20:41:16 +01:00
a4005221f5 doc: Sync classref with current source
[ci skip]
2017-09-13 08:53:01 +02:00
4f929a0fdf Changed the doc class generation to individual files per class. It is also possible to save module files in module directories and the build system will
recognize them.
2017-09-12 17:45:41 -03:00