Commit Graph

62 Commits

Author SHA1 Message Date
Rémi Verschelde eabb9a63d4 Rename callable_method_pointer.h to callable_mp.h and include it explicitly
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.

Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +01:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Rémi Verschelde 8c0f175c94 Decouple RenderingServer from as much of the codebase as possible
Notably decouples it from:
- AccessibilityServer
- DisplayServer
- Viewport
- Window
2026-03-03 12:48:07 +01:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
LilithSilver 11d7e298dd Add EditorInterface::get_unsaved_scenes()
Co-Authored-By: Nikita <69168929+nikitalita@users.noreply.github.com>
2026-02-23 11:36:02 -06:00
Chris Cranford ff561c1379 Expose set_edited and is_edited on EditorInterface 2025-12-01 06:43:11 -05:00
Haoyu Qiu ba6b7d2818 Make editor language setting default to Auto 2025-11-03 20:11:52 +08:00
Thaddeus Crews d9078d887f Merge pull request #109049 from ryevdokimov/deprecate-script-add-root-node
Relocate `add_root_node` method to `EditorInterface` from `EditorScript` and deprecate old method
2025-10-01 13:12:45 -05:00
Aaron Franke 9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
Thaddeus Crews 6dc4272a1e Merge pull request #110156 from aaronfranke/editor-res-filesystem
Fix inconsistent internal name of `get_resource_filesystem`
2025-09-30 18:35:15 -05:00
Thaddeus Crews 9ef1ec5870 Merge pull request #103608 from gr8alpaca/expose_node_3d_snapping
Expose 3D editor snap settings to EditorInterface
2025-09-19 13:07:18 -05:00
Aaron Franke d80b9887dd Fix inconsistent internal name of get_resource_filesystem 2025-08-31 18:16:37 -07:00
robert yevdokimov 11a4961081 Relocate add_root_node method to EditorInterface from EditorScript and deprecate old method 2025-08-05 17:23:57 +04:00
Mounir Tohami 706601778e Prevent generating editor 3D scene preview in headless mode. 2025-07-31 11:44:07 +03:00
A Thousand Ships f11aff3841 Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
Rémi Verschelde 45533589e4 Revert "Rework scene preview thumbnails"
This reverts commit 08343189dc.

While the feature is great, a number of issues have been found with the
implementation, and we need more time to resolve them.

So we roll this back for 4.5, to rework the feature for a later Godot
release.
2025-06-21 00:05:57 +02:00
Rémi Verschelde ea76c48bd0 Merge pull request #102313 from daniel080400/generate_scene_thumbnails
Rework scene preview thumbnails
2025-06-05 13:10:28 +02:00
daniel080400 08343189dc Rework scene preview thumbnails 2025-05-31 16:57:51 +08:00
KaiN 8cdb1768a4 Add EditorInterface::close_scene()
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2025-05-28 21:53:32 +02:00
Thaddeus Crews 94282d88f9 Core: Use Math namespace for constants 2025-04-10 16:29:30 -05:00
Thaddeus Crews 1fbcefeb63 Merge pull request #104376 from ProgrammerOnCoffee/update-workspace-list
Add `Game` workspace to documentation and autocomplete
2025-03-19 17:46:02 -05:00
ProgrammerOnCoffee abe1b4b799 Update workspace list in various files 2025-03-19 13:01:33 -04:00
kobewi 7cb2fb189a Remove TOOLS_ENABLED checks from editor/ 2025-03-14 18:13:16 +01:00
Lars Pettersson d2d02d0ea8 EditorNode: Add function to load file as scene or resource 2025-03-12 23:59:48 +01:00
gr8alpaca 4d80777ce7 Expose 3D editor snap settings to EditorInterface 2025-03-12 10:02:40 -04:00
Cyclone 144d95d96c EditorInterface: Add get_open_scene_roots to retrieve all opened scenes root nodes 2025-03-05 11:57:40 +01:00
Lazy-Rabbit-2001 a550eef9f3 Improve script class display in Create dialog 2025-01-03 00:19:25 +01:00
A Thousand Ships a1846b27ea Improve use of Ref.is_null/valid
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Yufeng Ying f241c1fda0 Remove unused header in editor.
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:38 +08:00
Robert Yevdokimov 7f09804154 Add inherit parameter to open_scene_from_path 2024-12-12 10:24:58 -05:00
Lazy-Rabbit-2001 9c34ad1791 Add popup_create_dialog() for EditorInterface to create custom create dialog 2024-12-12 18:13:31 +08:00
demolke 88c11a1753 Check if EditorNode exists
EditorNode is a very heavy object that current test harness cannot create, so after https://github.com/godotengine/godot/pull/96544 editor import cannot be tested.

Split off from https://github.com/godotengine/godot/pull/98909
2024-11-29 21:17:40 +01:00
Saracen 74611a74d1 Generate editor thumbnails on imported scenes. 2024-11-24 10:23:56 -08:00
Thaddeus Crews 646cef2ca2 Merge pull request #98680 from jaydensipe/expose-toast-notification-methods
Expose `get_editor_toaster` method to `EditorInterface`
2024-11-12 12:13:22 -06:00
Jayden Sipe 722d932466 Expose toast notification methods 2024-11-11 19:39:33 -05:00
kobewi 49dc4e0dda Cleanup EditorInterface selectors' code 2024-11-11 21:48:48 +01:00
yds 9db8b0e333 Make the method selector dialog available via EditorInterface 2024-11-11 08:36:02 -03:00
yds 35b3999efc Make the "Quick Open" dialog available via EditorInterface 2024-10-04 11:36:17 -03:00
kit 5e1c9d68aa Extract editor main screen 2024-09-09 11:06:18 -04:00
Chris Cranford 9122be6474 Pass current value to EditorInterface node/property popups 2024-09-03 00:54:55 -04:00
kobewi ad7a2d19a6 Expose EditorUndoRedoManager's clear_history() 2024-08-29 19:23:39 +02:00
kobewi 594567e1e0 Update scene tabs after marking as unsaved 2024-04-02 16:17:14 +02:00
Micky cd2032a90b Optimise Object's get_argument_options 2024-02-29 18:00:54 +01:00
Rémi Verschelde 163c00eb4d Merge pull request #81655 from nlupugla/editor-interface-can-popup-dialogs
Expose `SceneTreeDialog` and `PropertySelector` via `EditorInterface`
2024-02-08 10:53:13 +01:00
Hugo Locurcio 04a930d9a6 Disable multi-window buttons instead of hiding them when support is unavailable
This is more explicit as for why this functionality isn't available
depending on editor settings and current platform.

This also exposes a `EditorInterface.is_multi_window_enabled()` method
so that editor plugins can easily query whether the editor is able and
expected to create multiple windows.
2024-01-27 19:38:39 +01:00
nlupugla 558c2763e7 EditorInterface can popup SceneTreeDialog and PropertySelector. 2024-01-19 14:16:29 -05:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Micky db10ce3d8d Add autocompletion for a few EditorInterface methods 2024-01-06 19:19:31 +01:00
Wilson E. Alvarez a3cb1b096f Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00