Initial work towards making the World Editor the main application window

This commit is contained in:
Aruki
2017-02-11 18:35:33 -07:00
parent 568cd67994
commit 9928a599be
25 changed files with 323 additions and 136 deletions

View File

@@ -1,6 +1,7 @@
#ifndef CEDITORAPPLICATION_H
#define CEDITORAPPLICATION_H
#include <Core/GameProject/CGameProject.h>
#include <QApplication>
#include <QTimer>
#include <QVector>
@@ -18,23 +19,28 @@ class CEditorApplication : public QApplication
{
Q_OBJECT
QTimer mRefreshTimer;
CGameProject *mpActiveProject;
CWorldEditor *mpWorldEditor;
CResourceBrowser *mpResourceBrowser;
CProjectOverviewDialog *mpProjectDialog;
QVector<IEditor*> mEditorWindows;
QMap<CResourceEntry*,IEditor*> mEditingMap;
QTimer mRefreshTimer;
double mLastUpdate;
public:
CEditorApplication(int& rArgc, char **ppArgv);
~CEditorApplication();
void InitEditor();
bool CloseProject();
bool OpenProject(const QString& rkProjPath);
void EditResource(CResourceEntry *pEntry);
void NotifyAssetsModified();
void CookAllDirtyPackages();
// Accessors
inline CGameProject* ActiveProject() const { return mpActiveProject; }
inline CWorldEditor* WorldEditor() const { return mpWorldEditor; }
inline CResourceBrowser* ResourceBrowser() const { return mpResourceBrowser; }
inline CProjectOverviewDialog* ProjectDialog() const { return mpProjectDialog; }
@@ -48,7 +54,9 @@ public slots:
void OnEditorClose();
signals:
void ActiveProjectChanged(CGameProject *pNewProj);
void AssetsModified();
void PackagesCooked();
};
#define gpEdApp static_cast<CEditorApplication*>(qApp)