File indexing completed on 2025-02-23 04:11:15

0001 /*
0002  *  SPDX-FileCopyrightText: 2015 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "TestNodeView.h"
0008 
0009 #include <QTest>
0010 #include <QDialog>
0011 #include <QVBoxLayout>
0012 #include <QGridLayout>
0013 #include <QLabel>
0014 
0015 #include <NodeView.h>
0016 
0017 #include "KisDocument.h"
0018 #include "KisPart.h"
0019 #include "kis_name_server.h"
0020 #include "flake/kis_shape_controller.h"
0021 #include "kis_undo_adapter.h"
0022 #include "kis_node_model.h"
0023 #include "kis_color_filter_combo.h"
0024 
0025 #include <testresources.h>
0026 
0027 void NodeViewTest::init()
0028 {
0029     m_doc = KisPart::instance()->createDocument();
0030 
0031     m_nameServer = new KisNameServer();
0032     m_shapeController = new KisShapeController(m_nameServer, m_doc->undoStack());
0033 
0034     initBase();
0035 }
0036 
0037 void NodeViewTest::cleanup()
0038 {
0039     cleanupBase();
0040 
0041     delete m_shapeController;
0042     delete m_nameServer;
0043     delete m_doc;
0044 }
0045 
0046 
0047 void NodeViewTest::testLayers()
0048 {
0049 #ifndef ENABLE_GUI_TESTS
0050     return;
0051 #endif
0052 
0053     QDialog dlg;
0054 
0055     QFont font;
0056     font.setPointSizeF(8);
0057     dlg.setFont(font);
0058 
0059     KisNodeModel *model = new KisNodeModel(0);
0060     NodeView *view = new NodeView(&dlg);
0061 
0062     view->setModel(model);
0063 
0064     constructImage();
0065     addSelectionMasks();
0066     m_shapeController->setImage(m_image);
0067 
0068     model->setDummiesFacade(m_shapeController, m_image, m_shapeController, 0, 0);
0069 
0070     QVBoxLayout *layout = new QVBoxLayout(&dlg);
0071     KisColorFilterCombo *cb = new KisColorFilterCombo(&dlg);
0072 
0073     QSet<int> labels;
0074     for (int i = 0; i < 6; i++) {
0075         labels.insert(i);
0076     }
0077     cb->updateAvailableLabels(labels);
0078 
0079     QHBoxLayout *hbox = new QHBoxLayout(&dlg);
0080     hbox->addStretch(1);
0081     hbox->addWidget(cb);
0082     layout->addLayout(hbox);
0083     layout->addWidget(view);
0084 
0085     dlg.resize(280, 400);
0086     view->expandAll();
0087 
0088     dlg.exec();
0089 }
0090 
0091 #include "kis_color_label_selector_widget.h"
0092 
0093 void NodeViewTest::testColorLabels()
0094 {
0095 #ifndef ENABLE_GUI_TESTS
0096     return;
0097 #endif
0098 
0099 
0100     QDialog dlg;
0101 
0102     QFont font;
0103     font.setPointSizeF(8);
0104     dlg.setFont(font);
0105 
0106     KisColorLabelSelectorWidget *widget = new KisColorLabelSelectorWidget(&dlg);
0107     QSizePolicy policy(QSizePolicy::Preferred, QSizePolicy::Preferred);
0108     widget->setSizePolicy(policy);
0109 
0110     QVBoxLayout *layout = new QVBoxLayout(&dlg);
0111     layout->addWidget(widget);
0112     layout->addStretch(1);
0113 
0114     dlg.resize(280, 400);
0115     dlg.exec();
0116 }
0117 
0118 KISTEST_MAIN(NodeViewTest)