Warning, file /frameworks/kwidgetsaddons/tests/kpixmapsequenceoverlaypaintertest.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

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, qOverload<int>(&QComboBox::activated), this, &TestWidget::alignementChanged);
0045     connect(m_offsetX, qOverload<int>(&QSpinBox::valueChanged), this, &TestWidget::offsetChanged);
0046     connect(m_offsetY, qOverload<int>(&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     QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true);
0084 
0085     TestWidget *window;
0086 
0087     QApplication testapp(argc, argv);
0088     window = new TestWidget();
0089     window->show();
0090     return testapp.exec();
0091 }
0092 
0093 #include "moc_kpixmapsequenceoverlaypaintertest.cpp"