| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsPrerequisites.h"
- /** @addtogroup Layers
- * @{
- */
- /** @defgroup Editor Editor
- * Functionality specific to the Banshee Editor.
- * @{
- */
- /** @defgroup Application-Editor Application
- * Entry point into the editor application.
- */
- /** @defgroup Build Build
- * Building (publishing) the game from within the editor.
- */
- /** @defgroup CodeEditor CodeEditor
- * Integration of the Banshee Editor with external code editors.
- */
- /** @defgroup EditorWindow EditorWindow
- * Creating, managing and interacting with editor windows.
- */
- /** @defgroup GUI-Editor GUI
- * Editor specific GUI elements.
- */
- /** @defgroup Handles Handles
- * Creating and interacting with handles (scene tools).
- */
- /** @defgroup Library Library
- * Management of all resources (assets) within a project.
- */
- /** @cond RTTI */
- /** @defgroup RTTI-Impl-Editor RTTI types
- * Types containing RTTI for specific classes.
- */
- /** @endcond */
- /** @defgroup Scene-Editor Scene
- * Rendering/interacting with the scene view in editor.
- */
- /** @defgroup Settings Settings
- * Persistent settings for editor and project.
- */
- /** @defgroup Testing-Editor Testing
- * Contains editor unit tests.
- */
- /** @defgroup UndoRedo UndoRedo
- * Undoing and redoing actions within the editor.
- */
- /** @defgroup Utility-Editor Utility
- * Various utility methods and types used by the editor layer.
- */
- /** @} */
- /** @} */
- /** @addtogroup Internals
- * @{
- */
- /** @defgroup Internal-Editor Editor
- * Functionality specific to the Banshee Editor.
- * @{
- */
- /** @defgroup CodeEditor-Internal CodeEditor
- * Integration of the Banshee Editor with external code editors.
- */
- /** @defgroup EditorWindow-Internal EditorWindow
- * Creating, managing and interacting with editor windows.
- */
- /** @defgroup GUI-Editor-Internal GUI
- * Editor specific GUI elements.
- */
- /** @defgroup Handles-Internal Handles
- * Creating and interacting with handles (scene tools).
- */
- /** @defgroup Library-Internal Library
- * Management of all resources (assets) within a project.
- */
- /** @defgroup Scene-Editor-Internal Scene
- * Rendering/interacting with the scene view in editor.
- */
- /** @} */
- /** @} */
- // DLL export
- #if BS_PLATFORM == BS_PLATFORM_WIN32 // Windows
- # if BS_COMPILER == BS_COMPILER_MSVC
- # if defined(BS_STATIC_LIB)
- # define BS_ED_EXPORT
- # else
- # if defined(BS_ED_EXPORTS)
- # define BS_ED_EXPORT __declspec(dllexport)
- # else
- # define BS_ED_EXPORT __declspec(dllimport)
- # endif
- # endif
- # else
- # if defined(BS_STATIC_LIB)
- # define BS_ED_EXPORT
- # else
- # if defined(BS_ED_EXPORTS)
- # define BS_ED_EXPORT __attribute__ ((dllexport))
- # else
- # define BS_ED_EXPORT __attribute__ ((dllimport))
- # endif
- # endif
- # endif
- # define BS_ED_HIDDEN
- #else // Linux/Mac settings
- # define BS_ED_EXPORT __attribute__ ((visibility ("default")))
- # define BS_ED_HIDDEN __attribute__ ((visibility ("hidden")))
- #endif
- namespace bs
- {
- class EditorWindowBase;
- class EditorWindow;
- class EditorWidgetBase;
- class EditorWidgetContainer;
- class EditorWidgetManager;
- class EditorWidgetLayout;
- class ModalWindow;
- class GUITabbedTitleBar;
- class GUITabButton;
- class GUIWindowFrame;
- class GUIIntField;
- class GUIFloatField;
- class GUITextField;
- class GUIToggleField;
- class GUIVector2Field;
- class GUIVector3Field;
- class GUIVector4Field;
- class GUIColorField;
- class GUIListBoxField;
- class GUISliderField;
- class GUIColor;
- class GUIStatusBar;
- class GUIDropButton;
- class GUIHoverHitBox;
- class EditorWindowManager;
- class DockManager;
- class DockManagerLayout;
- class MainEditorWindow;
- class WindowFrameWidget;
- class GUIMenuBar;
- class GUIDockSlider;
- class GUISceneTreeView;
- class GUIResourceTreeView;
- class GUITreeViewEditBox;
- class EditorCommand;
- class ProjectFileMeta;
- class ProjectResourceMeta;
- class SceneGrid;
- class HandleSlider;
- class HandleSliderLine;
- class HandleSliderPlane;
- class HandleSliderDisc;
- class HandleSliderManager;
- class HandleDrawManager;
- class SceneCameraController;
- class EditorSettings;
- class SceneViewHandler;
- class SelectionRenderer;
- class DropDownWindow;
- class ProjectSettings;
- class GUIColorGradient;
- class GUIColorGradientField;
- static constexpr const char* EDITOR_ASSEMBLY = "MBansheeEditor";
- static constexpr const char* SCRIPT_EDITOR_ASSEMBLY = "MScriptEditor";
- static constexpr const char* EDITOR_NS = "bs.Editor";
- static const Path PROJECT_INTERNAL_DIR = u8"Internal/";
- static const Path INTERNAL_ASSEMBLY_PATH = PROJECT_INTERNAL_DIR + "Assemblies/";
- /** Types of drag and drop operations. Different types specify different types of dragged data. */
- enum class DragAndDropType
- {
- EditorWidget = 10000,
- SceneObject = 10001,
- Resources = 10002
- };
- /**
- * Recognized types of external code editors.
- *
- * @see CodeEditorManager
- */
- enum class CodeEditorType
- {
- VS2008,
- VS2010,
- VS2012,
- VS2013,
- VS2015,
- VS2017,
- MonoDevelop,
- None
- };
- /** Type IDs used by the RTTI system for the editor library. */
- enum TypeID_BansheeEditor
- {
- TID_ProjectFileMeta = 40000,
- TID_ProjectLibraryEntries = 40001,
- TID_ProjectLibraryResEntry = 40002,
- TID_ProjectLibraryDirEntry = 40003,
- TID_DockManagerLayout = 40004,
- TID_DockManagerLayoutEntry = 40005,
- TID_EditorWidgetLayout = 40006,
- TID_EditorWidgetLayoutEntry = 40007,
- TID_TestComponentA = 40008,
- TID_TestComponentB = 40009,
- TID_PlatformInfo = 40010,
- TID_WinPlatformInfo = 40011,
- TID_BuildData = 40012,
- TID_TestObjectA = 40013,
- TID_TestObjectB = 40014,
- TID_TestComponentC = 40015,
- TID_TestComponentD = 40016,
- TID_EditorSettings = 40017,
- TID_RecentProject = 40018,
- TID_Settings = 40019,
- TID_ProjectSettings = 40020,
- TID_WindowFrameWidget = 40021,
- TID_ProjectResourceMeta = 40022,
- TID_SettingsValue = 40023,
- TID_SettingsObjectValue = 40024
- };
- BS_LOG_CATEGORY(Editor, 60)
- }
|