File indexing completed on 2024-05-12 07:55:05
0001 #include "kpixmapsequenceoverlaypaintertest.h" 0002 #include "kpixmapsequence.h" 0003 #include "kpixmapsequenceoverlaypainter.h" 0004 0005 #include <QApplication> 0006 #include <QComboBox> 0007 #include <QEvent> 0008 #include <QGridLayout> 0009 #include <QSpinBox> 0010 #include <QTest> 0011 #include <QVariant> 0012 0013 Q_DECLARE_METATYPE(Qt::Alignment) 0014 0015 TestWidget::TestWidget() 0016 : QWidget() 0017 { 0018 m_draggingLeft = false; 0019 m_draggingRight = false; 0020 m_draggingTop = false; 0021 m_draggingBottom = false; 0022 0023 QGridLayout *layout = new QGridLayout(this); 0024 m_widget = new QWidget(this); 0025 m_alignment = new QComboBox(this); 0026 m_offsetX = new QSpinBox(this); 0027 m_offsetY = new QSpinBox(this); 0028 0029 layout->addWidget(m_widget, 0, 0, 1, 2); 0030 layout->addWidget(m_alignment, 1, 0, 1, 2); 0031 layout->addWidget(m_offsetX, 2, 0, 1, 1); 0032 layout->addWidget(m_offsetY, 2, 1, 1, 1); 0033 0034 m_alignment->addItem(QStringLiteral("Center"), QVariant::fromValue(Qt::Alignment(Qt::AlignCenter))); 0035 m_alignment->addItem(QStringLiteral("Top-left"), QVariant::fromValue(Qt::Alignment(Qt::AlignTop | Qt::AlignLeft))); 0036 m_alignment->addItem(QStringLiteral("Top"), QVariant::fromValue(Qt::Alignment(Qt::AlignTop | Qt::AlignHCenter))); 0037 m_alignment->addItem(QStringLiteral("Top-right"), QVariant::fromValue(Qt::Alignment(Qt::AlignTop | Qt::AlignRight))); 0038 m_alignment->addItem(QStringLiteral("Right"), QVariant::fromValue(Qt::Alignment(Qt::AlignRight | Qt::AlignVCenter))); 0039 m_alignment->addItem(QStringLiteral("Bottom-right"), QVariant::fromValue(Qt::Alignment(Qt::AlignRight | Qt::AlignBottom))); 0040 m_alignment->addItem(QStringLiteral("Bottom"), QVariant::fromValue(Qt::Alignment(Qt::AlignHCenter | Qt::AlignBottom))); 0041 m_alignment->addItem(QStringLiteral("Bottom-left"), QVariant::fromValue(Qt::Alignment(Qt::AlignLeft | Qt::AlignBottom))); 0042 m_alignment->addItem(QStringLiteral("Left"), QVariant::fromValue(Qt::Alignment(Qt::AlignLeft | Qt::AlignVCenter))); 0043 0044 connect(m_alignment, &QComboBox::activated, this, &TestWidget::alignementChanged); 0045 connect(m_offsetX, &QSpinBox::valueChanged, this, &TestWidget::offsetChanged); 0046 connect(m_offsetY, &QSpinBox::valueChanged, this, &TestWidget::offsetChanged); 0047 0048 m_painter = new KPixmapSequenceOverlayPainter(KPixmapSequence(QFINDTESTDATA("kpixmap-animation.png"), 22), this); 0049 m_painter->setWidget(m_widget); 0050 m_painter->start(); 0051 } 0052 0053 TestWidget::~TestWidget() 0054 { 0055 } 0056 0057 void TestWidget::alignementChanged(int i) 0058 { 0059 m_painter->setAlignment(m_alignment->itemData(i).value<Qt::Alignment>()); 0060 } 0061 0062 void TestWidget::offsetChanged() 0063 { 0064 m_painter->setOffset(QPoint(m_offsetX->value(), m_offsetY->value())); 0065 } 0066 0067 bool TestWidget::eventFilter(QObject *o, QEvent *e) 0068 { 0069 if (o == m_widget) { 0070 if (e->type() == QEvent::Paint) { 0071 } else if (e->type() == QEvent::MouseButtonPress) { 0072 } else if (e->type() == QEvent::MouseButtonRelease) { 0073 } else if (e->type() == QEvent::MouseMove) { 0074 } 0075 } 0076 return QWidget::eventFilter(o, e); 0077 } 0078 0079 /* --- MAIN -----------------------*/ 0080 int main(int argc, char **argv) 0081 { 0082 QApplication::setApplicationName(QStringLiteral("test")); 0083 0084 TestWidget *window; 0085 0086 QApplication testapp(argc, argv); 0087 window = new TestWidget(); 0088 window->show(); 0089 return testapp.exec(); 0090 } 0091 0092 #include "moc_kpixmapsequenceoverlaypaintertest.cpp"