BsEditorPrerequisites.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #pragma once
  2. #include "BsPrerequisites.h"
  3. #if (BS_PLATFORM == BS_PLATFORM_WIN32) && !defined(__MINGW32__)
  4. # ifdef BS_ED_EXPORTS
  5. # define BS_ED_EXPORT __declspec(dllexport)
  6. # else
  7. # if defined( __MINGW32__ )
  8. # define BS_ED_EXPORT
  9. # else
  10. # define BS_ED_EXPORT __declspec(dllimport)
  11. # endif
  12. # endif
  13. #elif defined ( BS_GCC_VISIBILITY )
  14. # define BS_ED_EXPORT __attribute__ ((visibility("default")))
  15. #else
  16. # define BS_ED_EXPORT
  17. #endif
  18. namespace BansheeEngine
  19. {
  20. class EditorWindowBase;
  21. class EditorWindow;
  22. class EditorWidgetBase;
  23. class EditorWidgetContainer;
  24. class EditorWidgetManager;
  25. class EditorWidgetLayout;
  26. class ModalWindow;
  27. class GUITabbedTitleBar;
  28. class GUITabButton;
  29. class GUIWindowFrame;
  30. class GUIIntField;
  31. class GUIFloatField;
  32. class GUITextField;
  33. class GUIToggleField;
  34. class GUIVector2Field;
  35. class GUIVector3Field;
  36. class GUIVector4Field;
  37. class GUIColorField;
  38. class GUIColor;
  39. class GUIComponentFoldout;
  40. class GUIFoldout;
  41. class GUIStatusBar;
  42. class GUIDropButton;
  43. class EditorWindowManager;
  44. class DockManager;
  45. class DockManagerLayout;
  46. class MainEditorWindow;
  47. class WindowFrameWidget;
  48. class GUIMenuBar;
  49. class GUIDockSlider;
  50. class GUISceneTreeView;
  51. class GUIResourceTreeView;
  52. class GUITreeViewEditBox;
  53. class EditorCommand;
  54. class ProjectResourceMeta;
  55. class SceneGrid;
  56. class HandleSlider;
  57. class HandleSliderLine;
  58. class HandleSliderPlane;
  59. class HandleSliderDisc;
  60. class HandleSliderManager;
  61. class HandleDrawManager;
  62. class SceneCameraController;
  63. class EditorSettings;
  64. class SceneViewHandler;
  65. class SelectionRenderer;
  66. class DropDownWindow;
  67. typedef std::shared_ptr<ProjectResourceMeta> ProjectResourceMetaPtr;
  68. typedef std::shared_ptr<DockManagerLayout> DockManagerLayoutPtr;
  69. typedef std::shared_ptr<EditorWidgetLayout> EditorWidgetLayoutPtr;
  70. typedef std::shared_ptr<EditorSettings> EditorSettingsPtr;
  71. static const char* EDITOR_ASSEMBLY = "MBansheeEditor";
  72. static const char* SCRIPT_EDITOR_ASSEMBLY = "MScriptEditor";
  73. static const Path INTERNAL_ASSEMBLY_PATH = "Internal//Assemblies//";
  74. /**
  75. * @brief Types of drag and drop operations. Different types specify
  76. * different types of dragged data.
  77. */
  78. enum class DragAndDropType
  79. {
  80. EditorWidget = 10000,
  81. SceneObject = 10001,
  82. Resources = 10002
  83. };
  84. /**
  85. * @brief Recognized types of external code editors.
  86. *
  87. * @see CodeEditorManager
  88. */
  89. enum class CodeEditorType
  90. {
  91. VS2008,
  92. VS2010,
  93. VS2012,
  94. VS2013,
  95. VS2015
  96. };
  97. /**
  98. * @brief Type IDs used by the RTTI system for the editor library.
  99. */
  100. enum TypeID_BansheeEditor
  101. {
  102. TID_ProjectResourceMeta = 40000,
  103. TID_ProjectLibraryEntries = 40001,
  104. TID_ProjectLibraryResEntry = 40002,
  105. TID_ProjectLibraryDirEntry = 40003,
  106. TID_DockManagerLayout = 40004,
  107. TID_DockManagerLayoutEntry = 40005,
  108. TID_EditorWidgetLayout = 40006,
  109. TID_EditorWidgetLayoutEntry = 40007,
  110. TID_TestComponentA = 40008,
  111. TID_TestComponentB = 40009,
  112. TID_PlatformInfo = 40010,
  113. TID_WinPlatformInfo = 40011,
  114. TID_BuildData = 40012,
  115. TID_TestObjectA = 40013,
  116. TID_TestObjectB = 40014,
  117. TID_TestComponentC = 40015,
  118. TID_TestComponentD = 40016
  119. };
  120. }