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(); + } + }; }