Commit graph

390 commits

Author SHA1 Message Date
Yuri Sizov
d644b9b640 Better hide internal properties from users 2024-01-29 12:35:10 +01:00
A Thousand Ships
15369fdb1d
Remove unnecessary this-> expressions 2024-01-29 09:59:18 +01:00
Riteo
f468e59efd GDExtension: add an interface for loading extra documentation
Adds two new GDExtension interface methods:
 - `editor_help_load_xml_from_utf8_chars`
 - `editor_help_load_xml_from_utf8_chars_and_len`

Both of these methods parse the XML passed into an extra documentation
container which, when needed, is merged into the main doc container.

Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2024-01-26 13:53:33 +01:00
A Thousand Ships
dc86483e3a
Add inheriting classes to DocTools 2024-01-16 14:42:36 +01:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
Wilson E. Alvarez
a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Yuri Sizov
fc3f40f37d Improve engine startup/shutdown benchmarks
- Add contexts to give a better sense of benchmarked areas.
- Add missing benchmarks and adjust some begin/end points.
- Clean up names.
- Improve Android's internal benchmarks in a similar manner.

Co-authored-by: Fredia Huya-Kouadio <fhuya@meta.com>
2023-12-08 12:53:04 +01:00
kobewi
6e31c413b6 Add descriptions for tile properties 2023-12-07 16:57:34 +01:00
Pedro J. Estébanez
a1d8fc1af9 Polish & fix editor help cache generation
- Isolated the generation of extensions's docs. They're now not cached and refreshed as needed.
- Removed superfluous sorting of the class list.
- Removed some superfluous/unused elements.
- Renamed some items for clarity.
2023-11-02 13:46:37 +01:00
Yuri Sizov
9b03fb36f9 Improve threading in ClassDB and EditorHelp 2023-10-20 22:14:04 +02:00
Yuri Sizov
215e036600 Add bulk change guards to successive theme overrides in Editor and GUI 2023-10-19 18:14:14 +02:00
Danil Alexeev
f56532c577
Editor: Fix some issues with EditorHelpTooltip 2023-10-10 20:02:47 +03:00
Hugo Locurcio
eb824dc6a5
Tweak metadata property tooltip to avoid being misleading 2023-10-07 03:08:16 +02:00
Rémi Verschelde
b9bf46de9e
Merge pull request #82067 from dalexeev/gds-docgen-fix-metatypes-and-values
GDScript DocGen: Fix and improve appearance of metatypes and values
2023-10-05 10:07:43 +02:00
Rémi Verschelde
1e544505be
Merge pull request #82691 from YuriSizov/rst-validate-with-exceptions
Validate `code` tags for class and member references
2023-10-04 15:42:42 +02:00
Michael Alexsander
ae91644c73
Revamp how documentation tooltips work 2023-10-03 17:40:51 -03:00
Yuri Sizov
cc0eebd9d8 Validate code tags for class and member references
This commit also adds means to manually disable warnings
in `code` tags where it's a false positive with the new
`skip-lint` attribute.

Warnings are now enabled on CI to prevent future errors.
2023-10-03 15:48:31 +02:00
bruvzg
bc6585a5a7
[RTL] Add support for image dynamic updating, padding, tooltips and size in percent. 2023-09-26 09:39:51 +03:00
Danil Alexeev
426ccba70e
GDScript DocGen: Fix and improve appearance of metatypes and values 2023-09-21 20:44:34 +03:00
Yuri Sizov
3a585a6bcf Merge pull request #81346 from timothyqiu/interning
Avoid text substitution in EditorHelp messages
2023-09-06 14:49:37 +02:00
Haoyu Qiu
e350034251 Avoid text substitution in EditorHelp messages 2023-09-05 23:15:34 +08:00
kobewi
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
MewPurPur
398ca4e71a Use the gray color for all abstract classes 2023-08-31 12:59:18 +03:00
Yuri Sizov
41efc7cb86 Merge pull request #78941 from dalexeev/gds-doc-comments-deprecated-and-experimental
GDScript: Add `@deprecated` and `@experimental` doc comment tags
2023-07-31 21:01:08 +02:00
Yuri Sizov
92960b7a22 Merge pull request #78615 from RandomShaper/fix_doc_cache
Re-enable docs cache with fixes
2023-07-26 18:39:22 +02:00
Yuri Sizov
0231611ee0 Merge pull request #79206 from raulsntos/doc-mention-csharp-differences
Add a warning about C# differences in classref doc
2023-07-14 18:49:36 +02:00
Yuri Sizov
22b4861d7b Merge pull request #78649 from MewPurPur/dont-link-to-own-page
Tweak documentation to use bold font when a class is referencing itself
2023-07-12 17:16:47 +02:00
Yuri Sizov
5dff3c4484 Merge pull request #78538 from Sauermann/fix-code-simplifications
Remove unnecessary value assignments throughout the codebase
2023-07-12 15:09:26 +02:00
Raul Santos
a164e3e7b3
Add a note about C# differences in classref doc 2023-07-09 01:44:48 +02:00
Danil Alexeev
c1b450566a
GDScript: Add @deprecated and @experimental doc comment tags 2023-07-08 18:13:19 +03:00
Pedro J. Estébanez
cac4d44cde Re-enable docs cache with fixes 2023-07-05 10:44:58 +02:00
ocean (they/them)
d48636c3bf Fix regression with enum descriptions now showing up in documentation. 2023-07-02 11:29:52 -04:00
Danil Alexeev
da4590b3f1
Unexpose DocCache class 2023-06-24 22:24:54 +03:00
MewPurPur
0786876077 Tweak documentation to use bold font when a class is referencing itself 2023-06-24 18:09:31 +02:00
Pedro J. Estébanez
7afb9dd275 Disable doc cache temporarily for pre-RC stabilization 2023-06-23 16:40:40 +02:00
Markus Sauermann
890fdd56df Code simplifications
CPPcheck found most of them.

no need to assign the variable twice:
- AnimationTrackEditTypeAudio
- SSEffects

variable is assigned in all if-else clauses:
- EditorHelp
- AndroidInputHandler
- MenuBar
- ShaderCompiler

same if clause:
- ItemList

clearing an empty bitfield has no effect:
- Viewport
2023-06-21 22:37:26 +02:00
Danil Alexeev
eb391d3302
Display BitField[Enum] in docs to distinguish from Enum 2023-06-15 17:23:02 +03:00
Pedro J. Estébanez
f9836fed72 Use right type in the binding of DocCache::classes 2023-06-02 22:03:21 +02:00
RedworkDE
67e8c57f03 Invalidate the DocCache when updating the xml docs 2023-05-28 17:08:27 +02:00
Fredia Huya-Kouadio
831b4a5366 Improve startup benchmarking
Move the benchmarking measuring methods from `Engine` to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
2023-05-23 13:22:35 -07:00
Arman Elgudzhyan
8ab2cf3d2d Use defined key mapping for closing popups and dialogs
As opposed to hardcoding the escape key. Also removed such hardcoding in a few other places as well as a hardcoded enter key in one of the affected input fields.
2023-05-20 17:39:59 -07:00
Rémi Verschelde
716f788b98
Merge pull request #77033 from dalexeev/editor-help-fix-array-links
EditorHelp: Fix displaying typed `Array` links
2023-05-15 09:34:35 +02:00
Alex Drozd
28f391f301 Exclude overriden properties from Property Descriptions section 2023-05-14 17:41:14 +02:00
Danil Alexeev
a16b2fc3b6
EditorHelp: Fix displaying typed Array links 2023-05-13 16:09:35 +03:00
Rémi Verschelde
012e2b7411
Merge pull request #76539 from anvilfolk/gddocsreg
Fix wrongly removing prefix when generating in-editor documentation
2023-04-28 17:08:05 +02:00
ocean (they/them)
6f8113721d Fix wrongly removing prefix when generating in-editor documentation
Co-authored-by: Danil Alexeev <danil@alexeev.xyz>
2023-04-28 07:38:36 -04:00
Samuele Panzeri
4aaa2e6477 Fix wait for thread not started 2023-04-27 20:28:22 +02:00
Yuri Sizov
26fb911f79
Merge pull request #72095 from anvilfolk/gd-docs
Improve GDScript documentation generation & behavior
2023-04-26 16:54:25 +02:00
Pedro J. Estébanez
e1ce0340b7 Improve reliability of editor docs cache 2023-04-25 11:40:56 +02:00
ocean (they/them)
6783ff69c0 Improve and fix GDScript documentation generation & behavior
Removes documentation generation (docgen) from the GDScript compiler to
its own file. Adds support for GDScript enums and signal parameters and
quite a few other assorted fixes and improvements.
2023-04-21 10:17:30 -04:00
kobewi
15442b54a8 Fix EditorHelp failing to load 2023-04-21 01:25:47 +02:00
RedworkDE
692ad70fd7 C#: Do not use DocCache when generating glue code 2023-04-20 15:35:14 +02:00
Pedro J. Estébanez
f5602869da Cache classes editor help 2023-04-13 12:16:47 +02:00
Yuri Sizov
1522762dc9 Make icons of scripted and custom classes fit the editor UI
Also:
- Add an option to limit the icon size in PopupMenu.
This is similar to how this works in Tree and TreeItem.
- Add the same option to TabBar.
- Add a theme constant for Tree, PopupMenu, Button, and
TabBar to apply this limit on the control level.

Co-authored-by: Daylily-Zeleen <daylily-zeleen@foxmail.com>
2023-03-31 21:39:02 +02:00
Yuri Sizov
9fae65404a Streamline class icon resolution in the editor 2023-03-31 21:17:59 +02:00
Danil Alexeev
06c7940a5a
Enable RichTextLabel context menu if selection is enabled 2023-03-06 13:18:36 +03:00
Rémi Verschelde
bfe43f69b8
Merge pull request #67707 from Cykyrios/hide-private-prop-description-in-classdoc
Fix private properties appearing in custom class doc Property Descriptions
2023-02-14 11:03:50 +01:00
Yuri Sizov
0eb3b49c39 Make EditorHelp respect font size settings 2023-02-11 20:09:57 +01:00
Yuri Sizov
bbbcd77217 Make use of a theme cache in EditorHelp and ensure it's updated
- Migrates the existing cache to the standard theme cache struct
- Moves some parts of the codebase to use cache instead of ad-hoc fetching
- Adds hooks to editor settings previously missing from theme regeneration
2023-02-11 20:09:35 +01:00
Rémi Verschelde
b342dcdf04
Remove some unused signals
Part of #37604.
2023-01-31 18:54:04 +01:00
Rémi Verschelde
fd66a86d72
Merge pull request #71330 from Geometror/richtextlabel-fit-content
[RichTextLabel] Match minimum size calculation of Label (proper content fitting)
2023-01-25 09:16:38 +01:00
Yuri Sizov
752402cf35 Clean-up, harmonize, and improve StyleBox API
- Make all margin properties follow the same naming convention (their getter and setter too).
- Remove a virtual counterpart of `get_style_margin` from API.
- Allow to override `get_minimum_size` from scripting and remove `get_center_size`.
2023-01-19 20:02:21 +03:00
Yuri Sizov
4c1f11944e Update all outdated online documentation links 2023-01-14 19:38:00 +03:00
Hendrik Brucker
e59d6b1b8c [RichTextLabel] Match minimum size calculation of Label
(optional via fit_content property)
2023-01-13 15:17:26 +01:00
Rémi Verschelde
d95794ec8a
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".
2023-01-05 13:25:55 +01:00
Micky
5760bfc712 Fix left-aligned EditorHelp when first opened 2022-12-09 18:54:52 +01:00
trollodel
c90d0bd84f Use forward-declarations in big editor classes 2022-11-29 09:59:43 +01:00
Rémi Verschelde
855402dfee
Merge pull request #68904 from aaronfranke/texture-methods
Rename TextureButton set_*_texture methods to set_texture_*
2022-11-20 15:37:37 +01:00
Micky
e791f4fce2 Double precision of String.split_floats 2022-11-20 12:29:50 +01:00
Aaron Franke
f6714858bf
Rename TextureButton set_*_texture methods to set_texture_* 2022-11-19 17:33:40 -06:00
Yuri Sizov
270c810343 Add more call-to-action notes when documentation is missing 2022-11-17 22:33:55 +03:00
Rémi Verschelde
e1ddd74b23
Merge pull request #68159 from Mickeon/doc-help-return-array
Change docs' Typed Array & void representation
2022-11-15 16:24:43 +01:00
Micky
0f82aaea73 Change docs' Typed Array & void representation
Typed Arrays now look the same as to how they're defined in GDScript.
Also modifies "void" to be darkened and show a tooltip.
2022-11-15 14:19:07 +01:00
Rémi Verschelde
a90d435e9b
Merge pull request #68132 from Mickeon/doc-help-colourful
Improve Editor Documentation colors
2022-11-14 11:10:19 +01:00
Rémi Verschelde
f7c611ab71
Style: Misc docs and comment style and language fixes
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
Micky
8feb1da1f8 Improve Editor Documentation colors 2022-11-01 19:16:13 +01:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
9cfcc9131f
Merge pull request #68079 from Mickeon/doc-help-hint
Add tooltip to method qualifiers in Documentation Help
2022-10-31 13:14:28 +01:00
Micky
610864d1db Add tooltip to method qualifiers in Documentation Help 2022-10-31 12:17:33 +01:00
kobewi
c7eb814ede Remove override_selected_font_color property 2022-10-26 12:59:18 +02:00
Cykyrios
c4b410a64a Fix private properties appearing in class doc Property Descriptions 2022-10-21 13:08:08 +02:00
kobewi
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
SaracenOne
cc4bda8500 Add ability to flag classes as experimental or deprecated. 2022-09-11 00:11:33 +01:00
Yuri Sizov
8442d77614 Fix theming error in EditorHelp due to order of operations issue 2022-09-06 16:08:40 +03:00
Micky
126216eda0 Improve Docs' inheritance tree icons on newline
Uses a Non-Breaking Space to prevent the icon from detaching from the name on newline, improving the look considerably.
2022-09-02 15:56:28 +02:00
Aaron Franke
10a56981dc
Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
Rémi Verschelde
fd6453c45e Revert "Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED"
This reverts commit 4b817a565c.

Fixes #64988.
Fixes #64997.

This caused several regressions (#64988, #64997,
https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605)
which point at a flaw in the current logic:

- `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with
  `NOTIFCATION_THEME_CHANGED` as introduced in #62845.
- Some classes use their `THEME_CHANGED` to cache theme items in
  member variables (e.g. `style_normal`, etc.), and use those member
  variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE`
  notification is now deferred, they end up accessing invalid state and this
  can lead to not applying theme properly (e.g. for EditorHelp) or crashing
  (e.g. for EditorLog or CodeEdit).

So we need to go back to the drawing board and see if `THEME_CHANGED` can be
called earlier so that the previous logic still works?

Or can we refactor all engine code to make sure that:
- `ENTER_TREE` and similar do not depend on theme properties cached in member
  variables.
- Or `THEME_CHANGE` does trigger a general UI update to make sure that any
  bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE`
  does arrive for the first time. But that means having a temporary invalid
  (and possibly still crashing) state, and doing some computations twice
  which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-29 11:11:29 +02:00
Rémi Verschelde
f7f8af232c
Merge pull request #64885 from Mickeon/rename-tooltip-hint
Rename `hint_tooltip` to `tooltip_text` & setter getter
2022-08-28 17:43:01 +02:00
Rémi Verschelde
dd9602e74c
Merge pull request #64847 from Mickeon/editor-docs-hierarchy-icons
Add type icons to editor docs' hierarchy
2022-08-28 17:09:34 +02:00
Aaron Record
4b817a565c Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED 2022-08-27 11:52:29 -06:00
Micky
ef5b9a06a9 Rename hint_tooltip to tooltip_text & setget
`hint_tooltip` -> `tooltip_text`
`set_tooltip` -> `set_tooltip_text`
`_get_tooltip` -> `get_tooltip_text`

Updates documentation, too.
2022-08-27 01:35:01 +02:00
Micky
2b063eebee Add type icons to editor docs' hierarchy
The "Inherits" and "Inherited by" section of the docs now display the icon of each Object on the side.

Also scales the main class' icon to match title font
2022-08-25 11:45:05 +02:00
Yuri Sizov
a0995182fe Add documentation for all annotations 2022-08-19 15:06:39 +03:00
Yuri Sizov
35c1eae8d7 Add support for [param foo] syntax in valid documentation contexts 2022-08-08 22:18:38 +03:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
Hugo Locurcio
976d12c3c1
Add padding for code blocks in the editor help
This improves their appearance, making them look closer to code blocks
in the online manual.
2022-07-17 22:55:20 +02:00
Rémi Verschelde
a0f0eb5e03
Merge pull request #62710 from Calinou/editor-help-improve-code-kbd-ref-highlight 2022-07-13 23:55:59 +02:00
Rémi Verschelde
1e553e34fb
Merge pull request #62108 from bruvzg/font_config_v3 2022-07-07 12:22:49 +02:00