/* editorwindow.h This file is part of the Project::OSiRiON world editor and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_EDITOR_EDITORWINDOW__ #define __INCLUDED_EDITOR_EDITORWINDOW__ #include "zoneproperties.h" #include class QSplitter; namespace editor { class MapWidget; class SideBar; /** * @brief EditorWindow is the main zone editor window * */ class EditorWindow : public QWidget { Q_OBJECT public: EditorWindow(QWidget *parent = 0); /** * @brief name of the file being edited * */ inline const QString &filename() const { return editorwindow_filename; } virtual QSize sizeHint() const; public slots: bool loadFile(const QString &filename); bool saveFile(const QString &filename); /** * @brief add a new entity to the map * */ void addEntity(); /** * @brief delete selected entities * */ void deleteSelected(); /** * @brief duplicate selected entities * */ void duplicateSelected(); /** * @brief open the zone properties window * */ void showZoneProperties(); protected: virtual void resizeEvent (QResizeEvent *event); private: QString editorwindow_filename; MapWidget *editorwindow_mapwidget; SideBar *editorwindow_sidebar; QSplitter *editorwindow_splitter; ZoneProperties editorwindow_zoneproperties; }; } #endif // __INCLUDED_EDITOR_EDITORWINDOW__