summaryrefslogtreecommitdiffstats
path: root/editor/plugins/script_editor_plugin.cpp
Commit message (Collapse)AuthorAgeFilesLines
* VCS: Port Godot 3.5's VCS features to GDExtensionTwarit Waikar2022-08-311-46/+46
|
* Rename String `plus_file` to `path_join`Aaron Franke2022-08-291-5/+5
|
* Revert "Remove NOTIFICATION_ENTER_TREE when paired with ↵Rémi Verschelde2022-08-291-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOTIFICATION_THEME_CHANGED" This reverts commit 4b817a565cab8af648c88cfc7ab6481e86ee3625. 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()`).
* Merge pull request #64885 from Mickeon/rename-tooltip-hintRémi Verschelde2022-08-281-5/+5
|\ | | | | Rename `hint_tooltip` to `tooltip_text` & setter getter
| * Rename `hint_tooltip` to `tooltip_text` & setgetMicky2022-08-271-5/+5
| | | | | | | | | | | | | | | | `hint_tooltip` -> `tooltip_text` `set_tooltip` -> `set_tooltip_text` `_get_tooltip` -> `get_tooltip_text` Updates documentation, too.
* | Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGEDAaron Record2022-08-271-5/+5
|/
* Remove VisualScript module for 4.0Rémi Verschelde2022-08-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | As announced in https://godotengine.org/article/godot-4-will-discontinue-visual-scripting, Godot maintainers have agreed to discontinue the current implementation of our VisualScript language. The way it had been designed was not user-friendly enough and we did not succeed in improving its usability to actually make it a good low-code solution for users who need one. So we prefer to remove it for Godot 4.0 and leave the door open for new, innovative ideas around visual scripting, to be developed as plugins or extensions now that Godot provides sufficient functionality for this (notably via GDExtension and the godot-cpp C++ bindings). The current module has been moved to a dedicated repository (with full Git history extracted with `git filter-branch`): https://github.com/godotengine/godot-visual-script It can still be compiled as a C++ module (for now, but will likely require work to be kept in sync with the engine repository), but our hope is that contributors will port it to GDExtension (which is quite compatibile with the existing C++ module code when using the godot-cpp C++ bindings).
* Replace Array return types with TypedArray 2kobewi2022-08-231-4/+4
|
* Replace Array return types with TypedArraykobewi2022-08-221-6/+6
|
* Add per-scene UndoRedokobewi2022-08-221-2/+0
|
* Merge pull request #63700 from YeldhamDev/no_methods_to_filter_palRémi Verschelde2022-08-061-0/+3
|\ | | | | Hide method filter bar when selecting a doc in the Script editor
| * Hide method filter bar when selecting a doc in the Script editorMichael Alexsander2022-07-301-0/+3
| |
* | Find a better solution for the script editor member list sometimes not being ↵MinusKube2022-07-311-10/+9
| | | | | | | | updated
* | Fix elements not being shown on first selected script/docMichael Alexsander2022-07-301-0/+3
|/
* Merge pull request #63603 from aaronfranke/editor-pathsRémi Verschelde2022-07-291-3/+4
|\ | | | | Move editor paths into the EditorPaths class
| * Move editor paths into the EditorPaths classAaron Franke2022-07-291-3/+4
| |
* | Remove Signal connect bindsJuan Linietsky2022-07-291-7/+7
|/ | | | | Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind(). Changed all uses of it to Callable.bind()
* Merge pull request #62827 from fire-forge/ok-cancelRémi Verschelde2022-07-131-3/+3
|\ | | | | Add `ok_button_text` to AcceptDialog and `cancel_button_text` to ConfirmationDialog
| * Add ok_button_text to AcceptDialog and cancel_button_text to ConfirmationDialogFireForge2022-07-091-3/+3
| |
* | Seperate filter and description in FileDialog.add_filter()FireForge2022-07-091-3/+3
|/
* Merge pull request #61459 from reduz/new-shader-editorRémi Verschelde2022-06-201-1/+1
|\
| * Redo the shader editorreduz2022-05-281-1/+1
| | | | | | | | | | | | | | * Shader editor is permanent (no longer transient). * Can edit multiple files at the same time. Likely fixes many usability issues (please lend me a hand Bugsquad team to identify them).
* | Use consistent casing in editor filter/search barsFireForge2022-05-281-2/+2
|/
* Add a new HashSet templatereduz2022-05-201-4/+4
| | | | | * Intended to replace RBSet in most cases. * Optimized for iteration speed
* Merge pull request #55134 from KoBeWi/script_pillow_or_somethingRémi Verschelde2022-05-171-9/+17
|\ | | | | Always soft-reload scripts
| * Always soft-reload scriptskobewi2021-11-191-9/+17
| |
* | Replace most uses of Map by HashMapreduz2022-05-161-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* | Add a new HashMap implementationreduz2022-05-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a new, cleaned up, HashMap implementation. * Uses Robin Hood Hashing (https://en.wikipedia.org/wiki/Hash_table#Robin_Hood_hashing). * Keeps elements in a double linked list for simpler, ordered, iteration. * Allows keeping iterators for later use in removal (Unlike Map<>, it does not do much for performance vs keeping the key, but helps replace old code). * Uses a more modern C++ iterator API, deprecates the old one. * Supports custom allocator (in case there is a wish to use a paged one). This class aims to unify all the associative template usage and replace it by this one: * Map<> (whereas key order does not matter, which is 99% of cases) * HashMap<> * OrderedHashMap<> * OAHashMap<>
* | Cleanup metadata usagekobewi2022-05-061-2/+2
| |
* | Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-031-27/+27
| | | | | | | | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* | Add an external link editor iconHugo Locurcio2022-04-241-1/+1
| | | | | | | | | | | | | | | | | | 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>
* | Narrow FileAccess scope to prevent deadlocks.bruvzg2022-04-121-9/+13
| |
* | Make FileAccess and DirAccess classes reference counted.bruvzg2022-04-111-7/+2
| |
* | Merge pull request #56695 from bruvzg/mod_unicode_inputRémi Verschelde2022-04-051-2/+2
|\ \
| * | [Input] Add extra `shortcut_input` input processing step to process Unicode ↵bruvzg2022-04-051-2/+2
| | | | | | | | | | | | character input with Alt / Ctrl modifiers, after processing of shortcuts.
* | | Fix lookup symbol in scripts which doesn't open a tab at first attemptYuri Roubinsky2022-04-051-9/+19
|/ /
* | Fix creation and reopening of built-in scriptsMichael Alexsander2022-04-031-6/+1
| |
* | Add GDExtension support to Scriptreduz2022-03-271-6/+6
| | | | | | | | | | | | | | | | | | * 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).
* | Allow negative indexes in ItemList and PopupMenukobewi2022-03-121-2/+2
| |
* | Remove duplicate editor settings definitionskobewi2022-03-061-4/+4
| |
* | Remove set_as_minsize()kobewi2022-03-061-2/+2
| |
* | Replace some bits of code left to work with the new `TabContainer`Michael Alexsander2022-03-041-3/+3
| |
* | Make `TabContainer` use `TabBar` internallyMichael Alexsander2022-03-031-103/+103
| |
* | Fix scripts not saving when closingkobewi2022-03-011-1/+1
| |
* | Use versioned URL for "Online Documentation" buttons in the editorHugo Locurcio2022-02-171-1/+2
| | | | | | | | This also avoids a redirect, making the page appear to load faster.
* | Update if == NOTIFICATION_* to switch statements to match coding stylemegalobyte2022-02-161-3/+1
| |
* | Remove most EditorNode constructor parameters and fieldstrollodel2022-02-141-39/+37
| |
* | Merge pull request #57641 from Geometror/compilation-time-improvements-1Rémi Verschelde2022-02-121-0/+1
|\ \
| * | Improve compilation speed (forward declarations/includes cleanup)Hendrik Brucker2022-02-121-0/+1
| | |
* | | Fix editor compile error when VisualScript is disabledtrollodel2022-02-111-2/+2
|/ /