Commit Graph

582 Commits

Author SHA1 Message Date
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
ca4c63d654 Always soft-reload scripts 2021-11-19 17:45:16 +01:00
3c0fdcc8ac Use "enum class" for input enums 2021-11-12 15:37:54 -06:00
2ad3d1bd7a Make OpenSimplex and VisualScript modules not depend on the editor 2021-11-12 12:03:54 -06:00
7211012c4f Merge pull request #54745 from KoBeWi/find_in_scenes 2021-11-10 22:08:24 +01:00
75e8eafa72 Properly reload built-in tool scripts 2021-11-09 21:58:06 +01:00
31644fe280 Properly handle scenes in Find in Files 2021-11-08 02:28:55 +01:00
134e4d168b Improve save handling for built-in scripts 2021-11-07 23:51:12 +01:00
9abb07efb4 Ignore external editor for built-in scripts 2021-11-04 14:30:04 +01:00