95 Commits

Author SHA1 Message Date
766b45bdd9 Fix Clear Inheritance error 2025-10-29 21:27:50 +08:00
18df2ae9ca Add class icon cache to EditorNode 2025-05-27 13:59:13 +02:00
17db92b8b8 Clarify API for top selected nodes in EditorSelection and make public 2025-03-27 16:09:08 -07:00
6f25babd6b Remove empty constructors and destructors from editor/ 2025-03-17 21:20:02 +01:00
df80265d3a Eliminate interior mutability in get_selected_node_list. 2025-03-14 02:38:02 +08:00
324512e11c Style: Replace header guards with #pragma once 2025-03-07 17:33:47 -06:00
2ba64a57c5 Fix Global Class names cache not saved with upgrade to 4.4.
Co-authored-by: Hilderin <81109165+Hilderin@users.noreply.github.com>
2025-02-12 18:33:38 +01:00
a20934c8e4 Optimize enumeration of global classes in create dialog and autocomplete 2025-01-29 09:39:50 +01:00
ecc0ab8061 Add EditorContextMenuPluginManager and refactor menu plugins 2024-09-03 23:59:25 +02:00
79da448d5f Merge pull request #94582 from citizenll/feat_context_menu_plugin4.x
Add support for custom items to editor right-click context menus
2024-09-03 16:13:47 +02:00
6b2348adac Add support for custom items to editor right-click context menus 2024-09-03 20:14:14 +08:00
769424388e Fix crash on reimport scene with animations 2024-08-02 16:50:22 -04:00
9903e6779b Enforce template syntax typename over class 2024-03-07 22:39:09 -06:00
1638c1b28f Add const lvalue ref to editor/* container parameters 2024-02-26 15:28:15 -03:00
97b469c46d [Editor] Add EditorPlugin::scene_saved signal
Matches the `EditorNode` one for parity with the exposed
`resource_saved` signal
2024-01-22 17:51:12 +01:00
2445414aa0 Avoid unnecessary inspector updates when loading or switching scenes
This should result in some noticeable performance improvements,
aside from fixing bugs due to conflicts in logic.
This also simplifies some related code identified while debugging.
2023-08-12 13:32:59 +02:00
9379177286 Fix node selection not handled correctly at launch 2023-07-03 14:43:15 +02:00
366c9678ca Fix some invalid plugin edit calls 2023-06-11 22:15:54 +02:00
3007163210 Allow GDExtensions to add editor plugins 2023-05-25 09:14:29 -05:00
dc46163b12 Improve editor state persistence 2023-05-11 04:17:03 +02:00
8a74d8438f Extract editor run toolbar into its own component
- Simplify and update its logic.
- Simplify EditorScript.
- Improve EditorNode and other relevant includes.
- Fix scene-based path in the movie writer when
reloading a scene.
2023-04-19 17:12:28 +02:00
ee2cc347c6 Add support for icons in GDExtension classes
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-03-31 21:39:02 +02:00
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
9fae65404a Streamline class icon resolution in the editor 2023-03-31 21:17:59 +02:00
11e2278844 Merge pull request #57606 from SaracenOne/update_on_reimport
Update instances of scenes which have been reimported.
2023-01-23 15:35:44 +01:00
c0083e431b Cleanup unused engine code v2 2023-01-19 13:02:18 +01:00
4628736894 Update instances of scenes which have been reimported. 2023-01-16 13:46:33 -08:00
b58111588a Add EditorUndoRedoManager singleton 2023-01-16 01:11:52 +01:00
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
3b4f5f8a04 Remove more instances of 'instance' being used as a verb 2022-11-16 14:01:53 +01:00
a3309215c2 Improve handling of custom types 2022-09-05 23:08:28 +02:00
8be27dc59e Replace Array return types with TypedArray 2022-08-22 22:42:36 +02:00
ece3df3938 Add per-scene UndoRedo 2022-08-22 18:05:10 +02:00
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
746dddc067 Replace most uses of Map by HashMap
* 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!
2022-05-16 10:37:48 +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
314430b868 Cleanup EditorNode and EditorData
Co-authored-by: Eric M <itsjusteza@gmail.com>
2022-03-30 20:12:26 +02:00
918b09cabc Initialize bools in the headers in editor 2022-03-12 13:34:06 -06:00
11572c6e30 Editor: Cleanup some includes dependencies
Removes some unnecessary includes from `editor_node.h`, and instead add
those where they're used.

Removes unnecessary `editor_node.h` includes in various editor classes.

Renames `dynamicfont` to `dynamic_font` in a couple files.

Misc cleanup while jumping through that rabbit hole.
2022-02-15 14:54:15 +01:00
0154ce2c8d Merge pull request #43015 from Xrayez/refactor-auto-instaprop
Refactor auto-instantiation of `Object` properties in editor
2022-02-08 08:57:29 +01:00
fe52458154 Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-03 21:27:34 +01:00
7a8b11ee14 Refactor auto-instantiation of Object properties in editor
Auto-instantiation is used by the create dialog, but should also be
used by the editor inspector.

This refactors object properties auto-instantiation into a dedicated
method to be reused throughout editor (and possibly scripting).
2021-12-28 15:50:44 +02:00
87a4ba492e Remove unimplemented methods 2021-10-21 18:44:25 +01:00
4bd7700e89 Implement properties arrays in the Inspector. 2021-09-07 09:51:28 +02:00
4219a4cb6f Fix typos with codespell
Using codespell 2.0.0.

Method:
```
$ cat > ../godot-word-whitelist.txt << EOF
ang
curvelinear
dof
doubleclick
fave
findn
GIRD
leapyear
lod
merchantibility
nd
numer
ois
ony
que
seeked
synching
te
uint
unselect
webp
EOF

$ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po"
$ git diff // undo unwanted changes
```
2021-05-20 12:38:56 +02:00
b46672db72 Provide a way to hook into Inspectors UndoRedo. 2021-05-04 09:55:22 +02:00
218d124755 Display scene file extensions in the editor only if there's ambiguity
This also simplifies the Editor Settings as the extension is now
automatically shown to avoid ambiguity.
2021-03-20 20:38:18 +01:00
b1c60c757f Merge pull request #31747 from KoBeWi/scene_stalking
Detect external modification of scenes
2021-02-10 14:31:29 +01:00
c390c82014 Detect external modification of project.godot 2021-02-09 14:44:44 +01:00
e856c5593b Merge pull request #43222 from KoBeWi/sub_editor_oblivion
Remove unused get_subeditor() method
2021-01-29 12:28:55 +01:00