CmEditorApplication.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "CmEditorPrerequisites.h"
  3. #include <QtCore/QString>
  4. namespace CamelotEditor
  5. {
  6. class EditorApplication
  7. {
  8. struct PImpl;
  9. public:
  10. EditorApplication();
  11. ~EditorApplication();
  12. void startUp();
  13. void run();
  14. void shutDown();
  15. void loadProject(const QString& absProjPath);
  16. void createProject(const QString& absProjDir, const QString& projName);
  17. void deleteProject(const QString& absProjPath);
  18. bool isValidProject(const QString& absProjDir) const;
  19. bool isValidProjectName(const QString& name) const;
  20. QString getFullProjectPath(const QString& absProjDir, const QString& projName) const;
  21. bool projectExists(const QString& absProjPath) const;
  22. QString getEditorRootPath() const;
  23. private:
  24. static const QString PROJECT_PREFS_FILE_NAME;
  25. static const QString EDITOR_PREFS_FILE_NAME;
  26. PImpl* p;
  27. QString getProjectPrefsPath(const QString& absProjPath) const;
  28. QString getEditorPrefsPath() const;
  29. };
  30. EditorApplication& gEditorApp();
  31. }