Commit Graph

218 Commits

Author SHA1 Message Date
Thakee Nathees
d0e7d9b62f Documentation generation for GDScript
- ClassDoc added to GDScript and property reflection data were extracted
from parse tree

- GDScript comments are collected from tokenizer for documentation and
applied to the ClassDoc by the GDScript compiler

- private docs were excluded (name with underscore prefix and doesn't
have any doc comments)

- default values (of non exported vars), arguments are extraced from the
parser

- Integrated with GDScript 2.0 and new enums were added.

- merge conflicts fixed
2020-11-29 19:45:36 +05:30
Rémi Verschelde
a09846e015
Merge pull request #42109 from EricEzaM/PR/input-and-shortcuts-rework
Shortcuts rework - fixed issues with input propagation and triggering of unwanted shortcuts.
2020-11-28 09:04:25 +01:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
Eric M
9c69281f87 Remove unused unhandled_key_input method in EditorHelp. Search popup and focus is handled by an external MenuButton shortcut. 2020-11-23 21:14:25 +10:00
Danil Alexeev
01d0addf56 Unified named colors in RichTextLabel
Now the BB tag `[color]` uses the color names from the `Color` class.
Also, the use of the `#` symbol in an HTML color code has become optional.
2020-11-17 02:55:36 +03:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change String to use UTF-32 encoding on all platforms. 2020-09-03 19:56:24 +03:00
HaSa1002
5b51ae1c5d Add multiple programming language support to class reference 2020-07-23 15:19:09 +02:00
Hugo Locurcio
31b7f02a29
Remove ToolButton in favor of Button
ToolButton has no redeeming differences with Button;
it's just a Button with the Flat property enabled by default.
Removing it avoids some confusion when creating GUIs.

Existing ToolButtons will be converted to Buttons, but the Flat
property won't be enabled automatically.

This closes https://github.com/godotengine/godot-proposals/issues/1081.
2020-06-19 20:49:49 +02:00
Rémi Verschelde
3fa863dbb8
Merge pull request #38934 from KoBeWi/where_to_setget
Link exposed setters/getters in property descriptions
2020-06-16 09:25:27 +02:00
bruvzg
1e3c02d590
Change in-editor documentation style to be closer to online docs. 2020-06-16 08:03:24 +03:00
Tomasz Chabora
ea07acb877 Link exposed set/getters in property descriptions 2020-06-15 20:54:10 +02:00
SaviHex
18c08f65d6 Added a "title" attribute for the link tag in the docs xml 2020-06-10 23:25:29 -03:00
Rémi Verschelde
0ee0fa42e6 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
2020-05-14 21:57:34 +02:00
Rémi Verschelde
07bc4e2f96 Style: Enforce separation line between function definitions
I couldn't find a tool that enforces it, so I went the manual route:
```
find -name "thirdparty" -prune \
  -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \
  -o -name "*.glsl" > files
perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files)
misc/scripts/fix_style.sh -c
```

This adds a newline after all `}` on the first column, unless they
are followed by `#` (typically `#endif`). This leads to having lots
of places with two lines between function/class definitions, but
clang-format then fixes it as we enforce max one line of separation.

This doesn't fix potential occurrences of function definitions which
are indented (e.g. for a helper class defined in a .cpp), but it's
better than nothing. Also can't be made to run easily on CI/hooks so
we'll have to be careful with new code.

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
0be6d925dc Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
Which means that reduz' beloved style which we all became used to
will now be changed automatically to remove the first empty line.

This makes us lean closer to 1TBS (the one true brace style) instead
of hybridating it with some Allman-inspired spacing.

There's still the case of braces around single-statement blocks that
needs to be addressed (but clang-format can't help with that, but
clang-tidy may if we agree about it).

Part of #33027.
2020-05-14 16:54:55 +02:00
Rémi Verschelde
dcd1151d77 Enforce use of bool literals instead of integers
Using clang-tidy's `modernize-use-bool-literals`.
https://clang.llvm.org/extra/clang-tidy/checks/modernize-use-bool-literals.html
2020-05-14 13:45:01 +02:00
Rémi Verschelde
69de7ce38c Style: clang-format: Disable AllowShortCaseLabelsOnASingleLine
Part of #33027.
2020-05-10 13:13:54 +02:00
Rémi Verschelde
e956e80c1f Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
Part of #33027, also discussed in #29848.

Enforcing the use of brackets even on single line statements would be
preferred, but `clang-format` doesn't have this functionality yet.
2020-05-10 13:12:16 +02:00
Rémi Verschelde
4d50f747d5
Merge pull request #37293 from Janglee123/ctrl-click-improvements
Improved go-to definition (Ctrl + Click)
2020-05-05 16:49:15 +02:00
janglee
be7a353c70 Improved go-to definition (Ctrl + Click)
Co-Authored-By: Bojidar Marinov <bojidar.marinov.bg@gmail.com>
2020-05-05 10:46:12 +05:30
Aaron Franke
540156b387
[Core] Rename linear_interpolate to lerp 2020-04-29 04:02:49 -04:00
Rémi Verschelde
41af228b76
Merge pull request #36960 from pycbouh/docs-improve-shortcuts
Improve shortcut formatting in docs
2020-04-29 09:40:52 +02:00
Rémi Verschelde
fdf58a5858 Rename InputFilter back to Input
It changed name as part of the DisplayServer and input refactoring
in #37317, with the rationale that input no longer goes through the
main loop, so the previous Input singleton now only does filtering.

But the gains in consistency are quite limited in the renaming, and
it breaks compatibility for all scripts and tutorials that access
the Input singleton via the scripting language. A temporary option
was suggested to keep the scripting singleton named `Input` even if
its type is `InputFilter`, but that adds inconsistency and breaks C#.

Fixes godotengine/godot-proposals#639.
Fixes #37319.
Fixes #37690.
2020-04-28 15:19:49 +02:00
Juan Linietsky
5d4dc2d45c Add ability to bind typed arrays to script API
Note: Only replaced 2 instances to test, Node.get_children and TileMap.get_used_cells
Note: Will do a mass replace on later PRs of whathever I can find, but probably need
a tool to grep through doc.
Warning: Mono will break, needs to be fixed (and so do TypeScript and NativeScript, need to ask respective maintainers)
2020-04-21 10:15:40 +02:00
Yuri Sizov
1ea7295bd2 Improve shortcut formatting in docs 2020-04-10 18:42:11 +03:00
Rémi Verschelde
f1e943f6ce
Merge pull request #35720 from Calinou/remove-request-docs-button
Remove Request Docs button in the script editor due to various issues
2020-04-02 16:45:01 +02:00
Hugo Locurcio
2f6f029a75 Remove Request Docs button in the script editor due to various issues
The Request Docs button is partly responsible for layout overflow
issues on narrow displays, such as #31133.

It also tended to attract spam and low-effort issues that were
difficult to act upon. A "Send Docs Feedback" menu option has been added
to replace it.
2020-04-02 14:07:03 +02:00
lupoDharkael
95a1400a2a Replace NULL with nullptr 2020-04-02 13:38:00 +02:00
Juan Linietsky
047e0b7de5 Reworked tooltips to use the popup system. 2020-03-26 15:49:45 +01:00
Juan Linietsky
441f1a5fe9 Popups are now windows also (broken!) 2020-03-26 15:49:42 +01:00
Juan Linietsky
8e6960a69e Refactored input, goes all via windows now.
Also renamed Input to InputFilter because all it does is filter events.
2020-03-26 15:49:39 +01:00
Juan Linietsky
4396e98834 Refactored Input, create DisplayServer and DisplayServerX11 2020-03-26 15:49:32 +01:00
Rémi Verschelde
4857648a16 i18n: Add support for translating the class reference
- Parse `.po` files from `doc/translations/*.po` like already done
  with `editor/translations/*.po`.
- Add logic to register a doc translation mapping in `TranslationServer`
  and `EditorSettings`.
- Add `DTR()` to lookup the doc translation mapping (similar to `TTR()`).
  Strings are automatically dedented and stripped of whitespace to ensure
  that they would match the translation catalog.
- Use `DTR()` to translate relevant strings in `EditorHelp`,
  `EditorInspector`, `CreateDialog`, `ConnectionsDialog`.
- Small simplification to `TranslationLoaderPO`, the path argument was
  not really meaningful.
2020-03-20 08:48:11 +01:00
Rémi Verschelde
cb282c6ef0 Style: Set clang-format Standard to Cpp11
For us, it practically only changes the fact that `A<A<int>>` is now
used instead of the C++03 compatible `A<A<int> >`.

Note: clang-format 10+ changed the `Standard` arguments to fully
specified `c++11`, `c++14`, etc. versions, but we can't use `c++17`
now if we want to preserve compatibility with clang-format 8 and 9.
`Cpp11` is still supported as deprecated alias for `Latest`.
2020-03-17 07:36:24 +01:00
Rémi Verschelde
e2b66cacf7
Merge pull request #18020 from bruvzg/input_fix_non_latin_and_add_hw_scancodes
Fix non-latin layout scancodes on Linux, adds access to physical scancodes.
2020-03-01 23:00:42 +01:00
Rémi Verschelde
01afc442c7 Signals: Port connect calls to use callable_mp
Remove now unnecessary bindings of signal callbacks in the public API.
There might be some false positives that need rebinding if they were
meant to be public.

No regular expressions were harmed in the making of this commit.
(Nah, just kidding.)
2020-02-28 14:24:09 +01:00
bruvzg
1af06d3d46
Rename scancode to keycode.
Add `physical_keycode` (keyboard layout independent keycodes) to InputEventKey and InputMap.
Fix non-latin keyboard layout keycodes on Linux/X11 (fallback to physical keycodes).
2020-02-25 12:30:33 +02:00
Juan Linietsky
69c95f4b4c Reworked signal connection system, added support for Callable and Signal objects and made them default. 2020-02-20 08:24:50 +01:00
Hugo Locurcio
99bfaa6c60
Tweak the editor help comment color for better readability 2020-02-13 23:34:15 +01:00
Juan Linietsky
3f335ce3d4 Texture refactor
-Texture renamed to Texture2D
-TextureLayered as base now inherits 2Darray, cubemap and cubemap array
-Removed all references to flags in textures (they will go in the shader)
-Texture3D gone for now (will come back later done properly)
-Create base rasterizer for RenderDevice, RasterizerRD
2020-02-11 11:53:26 +01:00
Hugo Locurcio
ad49425bd8
Don't show an Online Tutorials section if the class has no tutorials 2020-01-27 01:01:11 +01:00
Lakshay Angrish
1d9e19c7fb show parametric setters and getters in editor help 2020-01-17 15:10:59 +05:30
Rémi Verschelde
045a5ce14a i18n: Sync translation template with current source 2020-01-16 23:47:18 +01:00
Hugo Locurcio
3c8abbc4bf
doc: Move the class description to be just below the brief description
- Drop the "Brief description" header as it became redundant
  with this change.
- Fix a bug in the editor help where an extraneous newline was added
  after the header if the class isn't inherited by any others.
- Remove the Category line in the rST markup as it's not useful
  for API users.
2020-01-15 00:05:34 +01: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
Haoyu Qiu
078c0d75f2 Cleans up headers included in editor_node.h 2019-12-24 21:46:05 +08:00
Haoyu Qiu
d3851d5452 Show enum class name when not on the same doc page
Variant.Type and Variant.Operator are listed on GlobalScope page instead
of Variant. The `Variant` prefix should not be omitted on that page.
2019-12-14 18:46:34 +08:00
Haoyu Qiu
249c2c4615 Makes int and bool clickable in documentation
Also adjusted the way to check empty strings.
2019-12-13 21:53:52 +08:00
Yuri Roubinsky
0ec76d40b4 Fix incorrect error label color when switching from light to dark theme 2019-11-14 13:34:56 +03:00
Yuri Roubinsky
facfae3671 Fix "matches" label color in light theme 2019-11-14 09:44:53 +03:00
PouleyKetchoupp
74271712a8 Code sections improvements in editor help
- Removed extra new lines around code blocks
- Different color for code and code blocks to make them more visible
2019-10-31 18:47:12 +01:00
volzhs
69c5d637f2 Recalculate margin based on help source font size 2019-10-25 03:28:53 +09:00
Yuri Roubinsky
d7d72aeeec Prevents segfault on _class_desc_resized at exit 2019-10-22 16:01:11 +03:00
Yuri Roubinsky
c1bd94c2a4 Fix incorrect coloring of in-editor documentation when theme changed 2019-10-15 09:54:28 +03:00
Marqus
c84e73bf92 Add shortcut Shift + F3 to search pervious in the built-in docs
When using the built-in docs, Godot would not support the shortcut "Shift + F3"
to search for the previous occurrence of the search entry text, thus causing an
inconsistent behaviour when using shortcuts in the "ScriptEditor" compared to
using them in the "ScriptTextEditor".

The previous parameter of the function "EditorHelp::_search()" in the class
"editor_help" seems to be unused, thus replaced with a bool representing to
search for previous search entry text or not. By adding the shortcut to
Godot's "ScriptEditor", this commit now improves Godot's consistensy when
using shortcuts.

Fixes #31147.

Co-Authored-By: Oscar Ferm <oscfer-6@student.ltu.se>
2019-10-10 11:01:04 +02:00
Hanif Bin Ariffin
ccfc88ffba Applied the same kind of ordering to methods description
Previously, the ordering did not match.
This could be improved by doing the filtering behorehand, then we simply access them.
This will make sure that future changes to one is reflected to the other (because we are only doing it once)
2019-10-03 12:31:41 -04:00
Rémi Verschelde
2f52d73c21
Merge pull request #31925 from bojidar-bg/31855-overriden-properties-docs
Add overriden properties to the documentation
2019-09-24 11:53:43 +02:00
Rémi Verschelde
db47221b8c
Merge pull request #32225 from Calinou/improve-editor-help-display
Improve the editor help display
2019-09-24 09:52:21 +02:00
Hugo Locurcio
5b3805b8e5
Improve the editor help display
- Write the type after the parameter name for consistency with
  the GDScript static typing syntax.
- Remove ":" after headers since they're already distinguished
  by their size.
- Remove spaces before/aftere parentheses in method/signal
  argument lists.
2019-09-20 22:41:31 +02:00
Hugo Locurcio
bee38c6b0b
Find the previous match in the editor help when pressing Shift + Enter 2019-09-08 15:10:57 +02:00
Bojidar Marinov
6c4407bae4
Add overriden properties to the documentation
Fixes #31855
2019-09-04 15:21:40 +03:00
Hugo Locurcio
d6984f7311
Increase line spacing in the editor help and asset library descriptions
This makes for more readable text.
2019-08-30 15:08:24 +02:00
Hugo Locurcio
e564bffd90
Add horizontal margins to the editor help based on width
This decreases the number of characters per line, and therefore
helps make the editor help more readable.
2019-08-23 01:42:29 +02:00
Michael Alexsander Silva Dias
95a8b2b5d9 Make the script search have a proper matches counter 2019-08-13 09:29:49 -03:00
Michael Alexsander Silva Dias
790f9f628c Show matches found when searching the docs 2019-08-09 04:09:22 -03:00
unknown
c5d4bd9e34 Fixed editor_doc properties font alignment bug 2019-07-15 19:18:51 +05:30
Hugo Locurcio
28d3a6051c
Use base Color() constructors instead of Color::html()
This results in slightly smaller binaries (-17 KB for an editor binary)
as no strings need to be allocated.
2019-07-08 21:17:10 +02:00
Rémi Verschelde
d17eac735c
Merge pull request #29815 from NilsIrl/plus_file_1
Replace ` + "/" + ` with `String::file_add()`
2019-07-01 12:06:35 +02:00
Bojidar Marinov
0c4c36d823
Add default values to the editor help, docs, and generated RST
Also, make spacing of "=" in the editor help a bit more consistent.
Closes #16086
2019-06-27 18:29:35 +03:00
Rémi Verschelde
eaaff9da31
Merge pull request #29941 from qarmin/redundant_code_and_others
Remove redundant code, possible NULL pointers and others
2019-06-27 01:05:18 +02:00
qarmin
4e5310cc60 Some code changed with Clang-Tidy 2019-06-26 15:08:25 +02:00
Nils ANDRÉ-CHANG
d2833d4f4d Replace + "/" + with String::file_add() 2019-06-23 13:33:50 +01:00
Elia Sarti
81065d53df Fix for #29810
Ensure indentation works properly in rich text
Fix formatting
2019-06-20 11:42:25 +01:00
Hugo Locurcio
a100471f6b
Add support for bold fonts in the editor help
This also makes it possible to use the strikethrough tag (`[s]`)
in the editor help.
2019-06-15 18:47:42 +02:00
Hugo Locurcio
6516098d12
Use uppercase for all hexadecimal constants in the editor help 2019-06-05 16:44:20 +02:00
Daw11
ce6ab56e9f Fix the unclickable links inside the doc
Fixes #27384
2019-04-27 21:30:08 +02:00
Rémi Verschelde
63d3a42f82
Merge pull request #27465 from neikeq/road-to-lang-agnostic-docs-is-going-to-be-tough
EditorHelp: Improve enum ref resolving and add constant ref support
2019-04-05 15:19:21 +02:00
Ignacio Etcheverry
c8aa85189a EditorHelp, makerst: Improve enum ref resolving and constant ref support
Enum reference resolving will now search in the @GlobalScope if no class is specified and the enum cannot be resolved in the current class.
Added support for constant references in EditorHelp, e.g.: [constant KEY_ENTER] or [constant Control.FOCUS_CLICK]. It supports enum constants (the enum name must not be included).
2019-03-29 23:40:31 +01:00
Hugo Locurcio
9ba6738719
Use the accent color to highlight selected text
This makes selections easier to see, while making them fit better
within the editor theme.

This closes #22552.
2019-03-27 22:12:41 +01:00
Michael Alexsander Silva Dias
fe893bd6ef Fix description size in "New Node" dialog 2019-02-17 19:06:42 -03:00
Michael Alexsander Silva Dias
4fd7115e13 General cleanup of script and doc search bars 2019-02-10 14:18:08 -02:00
Marc Gilleron
ae9a23e36c Moved script editor search bar to the bottom, so it doesn't shift everything down 2019-01-31 16:44:40 +01:00
Rémi Verschelde
b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Ray Koopa
fddffa9eb8 Unify editor class and reference search
Co-authored-by: Michael Alexsander Silva Dias <michaelalexsander@protonmail.com>
2018-11-20 20:52:27 -02:00
Michael Alexsander Silva Dias
7144e2fde4 Add more places to hide guides if relationship lines are enabled 2018-11-19 03:05:01 -02:00
Rémi Verschelde
06a133bdd1
Merge pull request #23518 from volzhs/confirmed_already_connected
Fix error with a specific dock layout
2018-11-05 13:06:27 +01:00
Rémi Verschelde
5f8af252e8 doc: Use HTTPS for docs.godotengine.org and point to latest branch
Fixes #23509.
2018-11-05 08:46:27 +01:00
volzhs
9f62f79dbb Fix error with a specific dock layout 2018-11-05 11:45:25 +09:00
Rémi Verschelde
c026e3957a Fix warnings on virtual methods [-Woverloaded-virtual] [-Wdelete-non-virtual-dtor]
Fixes the following Clang 7 warnings:
```
editor/editor_help.h:123:7: warning: 'EditorHelpIndex::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/editor_help.h:95:7: warning: 'EditorHelpSearch::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/editor_help.h:96:7: warning: 'EditorHelpSearch::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/plugins/curve_editor_plugin.h:141:15: warning: 'CurvePreviewGenerator::generate' hides overloaded virtual function [-Woverloaded-virtual]
editor/plugins/script_editor_plugin.h:70:7: warning: 'ScriptEditorQuickOpen::popup' hides overloaded virtual function [-Woverloaded-virtual]
editor/quick_open.h:69:7: warning: 'EditorQuickOpen::popup' hides overloaded virtual function [-Woverloaded-virtual]
main/tests/test_io.cpp:53:15: warning: 'TestIO::TestMainLoop::input_event' hides overloaded virtual function [-Woverloaded-virtual]
servers/audio/effects/audio_effect_record.h:69:15: warning: 'AudioEffectRecordInstance::process_silence' hides overloaded virtual function [-Woverloaded-virtual]

core/os/memory.h:119:2: warning: destructor called on non-final 'ContextGL_X11' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'EditorScriptCodeCompletionCache' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'Engine' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'PhysicalBone::JointData' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'VisualServerScene' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
core/os/memory.h:119:2: warning: destructor called on non-final 'VisualServerViewport' that has virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]
```
2018-10-02 13:40:17 +02:00
DualMatrix
c1674f1068 Fixed empty item slipping into Search Classes dialog
Fixed empty item slipping into Search Classes dialog.

Phew tracking this down was weird.
2018-09-17 12:41:47 +02:00
willnationsdev
5436abefe4 Refactor editor icon retrieval 2018-09-14 09:27:56 -05:00
Rémi Verschelde
ba64ea2283 Doc: Use same headers and order in-editor and online 2018-09-12 17:12:23 +02:00
Rémi Verschelde
277b24dfb7 Make core/ includes absolute, remove subfolders from include path
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-12 09:52:22 +02:00
Michael Alexsander Silva Dias
8c74257d68 Make "Search Classes" dialog have relationship lines if the setting is enabled 2018-08-31 21:48:56 -03:00
Rémi Verschelde
52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
Juan Linietsky
0a8ac1a57c display some constants as hex 2018-08-21 17:13:16 -03:00
Alexander Holland
5ba083ea1b changed search help selection color 2018-08-19 22:06:20 +02:00
Rémi Verschelde
4170aa3f39
Merge pull request #20956 from volzhs/update-help
Update help doc when changing font size
2018-08-13 20:46:38 +02:00
Rémi Verschelde
68ab428d4d
Merge pull request #20155 from Tunous/line-edit-clear
Add clear button to search fields
2018-08-13 12:54:57 +02:00
Rémi Verschelde
652eb9347c
Merge pull request #20668 from SaracenOne/enum_help_fix
Fixes the hyperlinks for enumerators inside classes in the editor help.
2018-08-13 12:22:21 +02:00