| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsEditorPrerequisites.h"
- #include "BsEditorWindowBase.h"
- namespace BansheeEngine
- {
- /**
- * @brief Primary editor window, containing the menu bar, status bar
- * and the dock area.
- */
- class BS_ED_EXPORT MainEditorWindow : public EditorWindowBase
- {
- public:
- ~MainEditorWindow();
- /**
- * @copydoc EditorWindowBase::update
- */
- void update() override;
- /**
- * @copydoc EditorWindowBase::isMain
- */
- virtual bool isMain() const override { return true; }
- /**
- * @brief Gets the DockManager that is responsible for docking and placement
- * of EditorWidget%s on the main window.
- */
- DockManager& getDockManager() const { return *mDockManager; }
- /**
- * @brief Gets the primary menu bar element.
- */
- GUIMenuBar& getMenuBar() const { return *mMenuBar; }
- /**
- * @brief Gets status bar GUI element.
- */
- GUIStatusBar& getStatusBar() const { return *mStatusBar; }
- /**
- * @brief Creates a new main editor window. If one is already open this method
- * will return the existing one.
- *
- * @param renderWindow Previously created render window to initialize the main
- * editor window in.
- *
- * @return Instance of the main editor window.
- */
- static MainEditorWindow* create(const RenderWindowPtr& renderWindow);
- protected:
- friend class EditorWindowManager;
- MainEditorWindow(const RenderWindowPtr& renderWindow);
- protected:
- static const UINT32 MENU_BAR_HEIGHT;
- static const UINT32 STATUS_BAR_HEIGHT;
- GUIMenuBar* mMenuBar;
- DockManager* mDockManager;
- GUIStatusBar* mStatusBar;
- HProfilerOverlay mProfilerOverlay;
- /**
- * @copydoc EditorWindowBase::resized
- */
- virtual void resized() override;
- /**
- * @brief Updates the placement of child GUI elements and their non-client
- * areas (used for OS move/resize operations). Should be called after
- * window size changes.
- */
- void updateAreas();
- };
- }
|