From f578fe61844e626585a0a75fc203cd897d1420c6 Mon Sep 17 00:00:00 2001
From: "yang.yongquan" <3395816735@qq.com>
Date: Tue, 7 Mar 2023 16:24:38 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=85=83=E7=B4=A0=E6=B1=A0?=
=?UTF-8?q?=EF=BC=8C=E5=BE=85=E6=B5=8B=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ArchitectureColoredPainting.vcxproj | 2 +
...rchitectureColoredPainting.vcxproj.filters | 6 +++
.../ElementPoolWidget.cpp | 38 ++++++++++++++
.../src/Editor/ElementPoolWidget.h | 20 ++++++++
UnitTest/UnitTest.cpp | 49 +++++++++++--------
5 files changed, 95 insertions(+), 20 deletions(-)
create mode 100644 ArchitectureColoredPainting/ElementPoolWidget.cpp
create mode 100644 ArchitectureColoredPainting/src/Editor/ElementPoolWidget.h
diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
index f933123..ff05038 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj
@@ -104,6 +104,7 @@
+
@@ -188,6 +189,7 @@
+
diff --git a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
index b433451..107068b 100644
--- a/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
+++ b/ArchitectureColoredPainting/ArchitectureColoredPainting.vcxproj.filters
@@ -213,6 +213,9 @@
Source Files\Editor
+
+ Source Files\Editor
+
@@ -248,6 +251,9 @@
Header Files
+
+ Header Files\Editor
+
diff --git a/ArchitectureColoredPainting/ElementPoolWidget.cpp b/ArchitectureColoredPainting/ElementPoolWidget.cpp
new file mode 100644
index 0000000..5a1ff72
--- /dev/null
+++ b/ArchitectureColoredPainting/ElementPoolWidget.cpp
@@ -0,0 +1,38 @@
+#include "ElementPoolWidget.h"
+
+ElementPoolWidget::ElementPoolWidget(QWidget* parent)
+ : QWidget(parent)
+{
+ iconWidth = 30, iconHeight = 40;
+ pictureList = new QListWidget(this);
+ pictureList->setIconSize(QSize(iconWidth, iconHeight));
+ pictureList->setResizeMode(QListView::Adjust);
+ pictureList->setViewMode(QListView::IconMode);
+ pictureList->setMovement(QListView::Static);
+ pictureList->setSpacing(10);
+
+ setVisible(true);
+
+ connect(pictureList, SIGNAL(vitemClicked(QListWidgetItem*)), this, SLOT(pictureItemClicked(QListWidgetItem*)));
+}
+
+void ElementPoolWidget::setElementList(std::vector elements) {
+ pictureList->clear();
+ for (int index = 0; index < elements.size(); index++) {
+ QString strPath = QString("D:\\BigC\\Project\\ArchitectureColoredPainting\\svg\\test.svg");
+ QPixmap itemPixmap(strPath);
+ QListWidgetItem* pItem = new QListWidgetItem(
+ itemPixmap.scaled(QSize(iconWidth, iconHeight)),
+ elements[index]->name);
+ pItem->setSizeHint(QSize(iconWidth, iconHeight));
+ pictureList->insertItem(index, pItem);
+ }
+}
+
+ElementPoolWidget::~ElementPoolWidget() {
+
+}
+
+int ElementPoolWidget::pictureItemClicked(QListWidgetItem* item) {
+ return pictureList->currentRow();
+}
\ No newline at end of file
diff --git a/ArchitectureColoredPainting/src/Editor/ElementPoolWidget.h b/ArchitectureColoredPainting/src/Editor/ElementPoolWidget.h
new file mode 100644
index 0000000..a3e3caf
--- /dev/null
+++ b/ArchitectureColoredPainting/src/Editor/ElementPoolWidget.h
@@ -0,0 +1,20 @@
+#pragma once
+#include
+#include
+#include
+#include
+class ElementPoolWidget : public QWidget
+{
+ Q_OBJECT
+private:
+ //std::vector elements;
+ QListWidget* pictureList;
+ int iconWidth, iconHeight;
+public:
+ ElementPoolWidget(QWidget* parent = NULL);
+ void setElementList(std::vector elementList);
+ ~ElementPoolWidget();
+public slots:
+ int pictureItemClicked(QListWidgetItem* item);
+};
+
diff --git a/UnitTest/UnitTest.cpp b/UnitTest/UnitTest.cpp
index d24ce02..d669f95 100644
--- a/UnitTest/UnitTest.cpp
+++ b/UnitTest/UnitTest.cpp
@@ -1,11 +1,12 @@
#include "CppUnitTest.h"
-#include "MainWindow.h"
+//#include "MainWindow.h"
#include
#include
#include
#include
#include "Renderer/Painting/CubicBezier.h"
#include
+#include
using namespace Microsoft::VisualStudio::CppUnitTestFramework;
@@ -43,24 +44,24 @@ namespace UnitTest
TEST_CLASS(UnitTest)
{
public:
- TEST_METHOD(TestMethod1)
- {
- FRAMELESSHELPER_USE_NAMESPACE
- FramelessHelper::Core::initialize();
- //QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
- char arg[] = "";
- char* argv[] = { arg };
- int argc = 1;
- QApplication a(argc, argv);
- FramelessHelper::Core::setApplicationOSThemeAware();
- FramelessConfig::instance()->set(Global::Option::ForceNonNativeBackgroundBlur);
- FramelessConfig::instance()->set(Global::Option::EnableBlurBehindWindow);
- FramelessConfig::instance()->set(Global::Option::CenterWindowBeforeShow);
- MainWindow w;
- w.show();
- a.exec();
- }
+ //TEST_METHOD(TestMethod1)
+ //{
+ // FRAMELESSHELPER_USE_NAMESPACE
+ // FramelessHelper::Core::initialize();
+ // //QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ // QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
+ // char arg[] = "";
+ // char* argv[] = { arg };
+ // int argc = 1;
+ // QApplication a(argc, argv);
+ // FramelessHelper::Core::setApplicationOSThemeAware();
+ // FramelessConfig::instance()->set(Global::Option::ForceNonNativeBackgroundBlur);
+ // FramelessConfig::instance()->set(Global::Option::EnableBlurBehindWindow);
+ // FramelessConfig::instance()->set(Global::Option::CenterWindowBeforeShow);
+ // MainWindow w;
+ // w.show();
+ // a.exec();
+ //}
};
TEST_CLASS(SvgLoaderTest)
@@ -94,5 +95,13 @@ namespace UnitTest
}
};
-
+ TEST_CLASS(ElementPoolTest)
+ {
+ public:
+ TEST_METHOD(ElementPool) {
+ qInstallMessageHandler(messageHandler);
+ ElementPoolWidget wi;
+ wi.show();
+ }
+ };
}