Commit Graph

439 Commits

Author SHA1 Message Date
1dc7bcc83c Cleanup metadata usage 2022-05-06 00:27:10 +02:00
180e5d3028 Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
5626d026d8 Add an external link editor icon
This replaces the existing "chainlink" instance icon that was
used for external links. That icon is still used for scene instancing.

The icon was designed by redlamp.

Co-authored-by: Taylor Wright <taylor@redlamp.org>
2022-04-24 17:26:29 +02:00
4bf99f4af2 Narrow FileAccess scope to prevent deadlocks. 2022-04-12 10:54:39 +03:00
9381acb6a4 Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
f00803b8a5 Merge pull request #56695 from bruvzg/mod_unicode_input 2022-04-05 14:03:39 +02:00
d1207a0504 [Input] Add extra shortcut_input input processing step to process Unicode character input with Alt / Ctrl modifiers, after processing of shortcuts. 2022-04-05 13:46:45 +03:00
5db47c5521 Fix lookup symbol in scripts which doesn't open a tab at first attempt 2022-04-05 10:18:45 +03:00
1062bc9884 Fix creation and reopening of built-in scripts 2022-04-03 15:34:21 -03:00
360dea5348 Add GDExtension support to Script
* Ability to create script languages from GDExtension
* Some additions to gdnative_extension.h to make this happen
* Moved the GDExtension binder to core

This now allows creating scripting languages from GDExtension, with the same ease as if it was a module. It replaces the old PluginScript from Godot 3.x.
Warning: GodotCPP will need to be updated to support this (it may be a bit of work as ScriptInstance needs to be created over there again).
2022-03-27 16:13:00 +02:00
42078dec9f Allow negative indexes in ItemList and PopupMenu 2022-03-12 01:14:03 +01:00
2057ea2883 Remove duplicate editor settings definitions 2022-03-06 22:05:49 +01:00
7d44bb8f06 Remove set_as_minsize() 2022-03-06 00:57:42 +01:00
917dac78e7 Replace some bits of code left to work with the new TabContainer 2022-03-04 19:16:33 -03:00
a811ebf699 Make TabContainer use TabBar internally 2022-03-03 21:49:58 -03:00
f653107764 Fix scripts not saving when closing 2022-03-01 01:23:26 +01:00
958912a33f Use versioned URL for "Online Documentation" buttons in the editor
This also avoids a redirect, making the page appear to load faster.
2022-02-17 18:17:02 +01:00
8824b6c5e9 Update if == NOTIFICATION_* to switch statements to match coding style 2022-02-16 08:44:37 -05:00
05b56f316d Remove most EditorNode constructor parameters and fields 2022-02-14 14:16:24 +01:00
7a7fabe4f6 Merge pull request #57641 from Geometror/compilation-time-improvements-1 2022-02-12 09:46:02 +01:00
b396fd4eef Improve compilation speed (forward declarations/includes cleanup) 2022-02-12 02:46:22 +01:00
e97e894aa0 Fix editor compile error when VisualScript is disabled 2022-02-11 18:45:41 +01:00
a66e55069e Merge pull request #57796 from akien-mga/revert-sname-theme-setters 2022-02-08 11:13:24 +01:00
fc076ece3d Revert "Add missing SNAME macro optimization to all theme methods call"
This reverts commit a988fad9a0.

As discussed in #57725 and clarified in #57788, `SNAME` is not meant to be used
everywhere but only in critical code paths. For theme methods specifically, it
was by design that only getters use `SNAME` and not setters.
2022-02-08 10:17:25 +01:00
317cd0b19a Refactor some object type checking code with cast_to
Less stringly typed logic, and less String allocations and comparisons.
2022-02-08 10:08:34 +01:00
a988fad9a0 Add missing SNAME macro optimization to all theme methods call 2022-02-06 23:06:11 +01:00
f8f19b313d Merge pull request #57562 from AnilBK/string-add-contains
String: Add contains().
2022-02-03 22:21:24 +01:00
adbe948bda String: Add contains(). 2022-02-04 01:28:02 +05:45
71fb89390f Save script editor's function list split offset with the editor layout 2022-02-02 22:50:49 +01:00
fc27636999 Vectors: Use clear() and has().
Use clear() instead of resize(0).

Use has() instead of "find(p_val) != -1".
2022-02-02 00:11:09 +05:45
e6caaf4c80 Merge pull request #57205 from TechnoPorg/variant-template-cast
Allow method binds to take Object subclasses as arguments
2022-01-27 23:46:37 +01:00
3eb5e0ac50 Rename String::is_subsequence_ofi to String::is_subsequence_ofn 2022-01-26 18:03:56 -05:00
051ef479c9 Allow method binds to take Object subclasses as arguments
This commit adds a condition to VariantCaster that casts Variants of type OBJECT to any type T, if T is derived from Object.
This change enables a fair bit of code cleanup. First, the Variant implicit cast operators for Node and Control can be removed, which allows for some invalid includes to be removed. Second, helper methods in Tree whose sole purpose was to cast arguments to TreeItem * are no longer necessary.
A few small changes also had to be made to other files, due to the changes cascading down all the includes.
2022-01-25 09:03:36 -07:00
eb5aa3218f Merge pull request #57029 from timothyqiu/disable-script-editor-menu 2022-01-23 16:04:46 +01:00
c3d28ffa74 Merge pull request #57012 from Calinou/editor-add-new-script-textfile-shortcuts 2022-01-23 12:55:58 +01:00
8383115666 Fix icon in drag preview of scripts/docs 2022-01-21 13:00:02 -03:00
e461e28c70 Disable ScriptEditor's menu items when they do nothing 2022-01-21 12:12:48 +08:00
990586b06b Add shortcuts for New Script and New Text File in the script editor
These default to Ctrl + N and Ctrl + Shift + N respectively,
and will only work while the script editor is focused.
When the script editor is not focused, a new scene
(or inherited scene) will be created instead.
2022-01-20 23:10:42 +01:00
e6170aae39 Merge pull request #55066 from trollodel/less_singletons_in_editornode 2022-01-20 22:29:17 +01:00
aa1102fc53 Store panels and docks singletons in their own classes 2022-01-20 20:13:26 +01:00
b4ad04078c Fix unhandled_key_input() in Script Editor 2022-01-20 15:11:44 +01:00
f43f68f605 Convert TextEdit callbacks to Callable 2022-01-19 17:26:22 +00:00
3efa6644c4 Merge pull request #55541 from KoBeWi/outcognito_scripts 2022-01-14 21:04:13 +01:00
f524ddebd5 Make script type distinguishable by icon 2022-01-13 12:29:05 +01:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
49403cbfa0 Replace String comparisons with "", String() to is_empty()
Also:
- Adds two stress tests to test_string.h
- Changes to .empty() on std::strings
2021-12-09 04:48:38 -06:00
81efebb3a1 Fix bad popups offset in editor with single window off
Co-authored-by: Gil Arasa Verge <gilarasaverge@gmail.com>
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2021-12-06 14:29:48 +01:00
512e260af4 Show scene when showing built-in script file 2021-11-24 13:05:18 +01:00
e078f970db Rename remove() to remove_at() when removing by index 2021-11-23 18:58:57 -07:00
eabf8f5edf Added reset_size method to Control and Window classes 2021-11-22 16:55:21 +03:00