diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
index 7414c08..4041213 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
@@ -104,6 +104,7 @@
+
@@ -202,6 +203,7 @@
+
diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
index 835a354..b43e857 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
@@ -258,6 +258,9 @@
Source Files
+
+ Source Files
+
@@ -522,6 +525,9 @@
Header Files
+
+ Header Files
+
diff --git a/ArchitectureColoredPainting/src/Editor/DataManager/ProjectDataManager.cpp b/ArchitectureColoredPainting/src/Editor/DataManager/ProjectDataManager.cpp
new file mode 100644
index 0000000..1bddf5a
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Editor/DataManager/ProjectDataManager.cpp
@@ -0,0 +1,38 @@
+#include "ProjectDataManager.h"
+
+using namespace std;
+
+ProjectDataManager* ProjectDataManager::instance = nullptr;
+
+ProjectDataManager* ProjectDataManager::Instance()
+{
+ if (instance == nullptr)
+ instance = new ProjectDataManager();
+ return instance;
+}
+
+void ProjectDataManager::addProjectData(ProjectData data)
+{
+ projectDataList.push_back(data);
+}
+
+void ProjectDataManager::setZoom(double x, double y, EditorWidgetItem* item)
+{
+ for (auto& data : projectDataList) {
+ if (data.item == item) {
+ data.zoomX = x;
+ data.zoomY = y;
+ return;
+ }
+ }
+}
+
+QPointF ProjectDataManager::getZoomByPainterDeivce(QPaintDevice* device)
+{
+ for (auto& data : projectDataList) {
+ if (data.item->previewWindow == device) {
+ return QPointF(data.zoomX, data.zoomY);
+ }
+ }
+ return QPointF(1, 1);
+}
diff --git a/ArchitectureColoredPainting/src/Editor/DataManager/ProjectDataManager.h b/ArchitectureColoredPainting/src/Editor/DataManager/ProjectDataManager.h
new file mode 100644
index 0000000..8c5ffbf
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Editor/DataManager/ProjectDataManager.h
@@ -0,0 +1,30 @@
+#pragma once
+#include