src/documentmanager.h

changeset 8
44679e468ba9
parent 5
593a658cba8e
child 12
fe67489523b5
equal deleted inserted replaced
7:68443f5be176 8:44679e468ba9
3 #include "model.h" 3 #include "model.h"
4 4
5 class DocumentManager : public QObject 5 class DocumentManager : public QObject
6 { 6 {
7 Q_OBJECT 7 Q_OBJECT
8 using ModelPointer = std::unique_ptr<Model>;
8 public: 9 public:
9 DocumentManager(QObject* parent = nullptr); 10 DocumentManager(QObject* parent = nullptr);
10 DocumentManager(const DocumentManager&) = delete; 11 DocumentManager(const DocumentManager&) = delete;
11 DocumentManager(DocumentManager&&) = default; 12 DocumentManager(DocumentManager&&) = default;
12 DocumentManager& operator=(const DocumentManager&) = delete; 13 DocumentManager& operator=(const DocumentManager&) = delete;
13 DocumentManager& operator=(DocumentManager&&) = default; 14 DocumentManager& operator=(DocumentManager&&) = default;
14 Model* newModel(); 15 QString newModel();
16 Model* findModelByName(const QString& name);
17 QString openModel(const QString& path, QTextStream& errorStream);
18 QString makeNewModelName();
15 private: 19 private:
16 std::vector<std::unique_ptr<Model>> openModels; 20 int untitledNameCounter = 0;
21 std::map<QString, ModelPointer> openModels;
17 }; 22 };

mercurial