QTabletEvent/manual widgets test: Port to C++ 11

Change-Id: If5ebb45ce286d6a96c9f8bfe1fac70661d065460
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
This commit is contained in:
Friedemann Kleint 2017-10-16 15:23:05 +02:00
parent c5b7a3c922
commit dc03ac15b0

View File

@ -63,46 +63,36 @@ class EventReportWidget : public QWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
EventReportWidget(); EventReportWidget() { startTimer(1000); }
public slots: public slots:
void clearPoints() { m_points.clear(); update(); } void clearPoints() { m_points.clear(); update(); }
signals: signals:
void stats(QString s); void stats(QString s, int timeOut = 0);
protected: protected:
void mouseDoubleClickEvent(QMouseEvent *event) { outputMouseEvent(event); } void mouseDoubleClickEvent(QMouseEvent *event) override { outputMouseEvent(event); }
void mouseMoveEvent(QMouseEvent *event) { outputMouseEvent(event); } void mouseMoveEvent(QMouseEvent *event) override { outputMouseEvent(event); }
void mousePressEvent(QMouseEvent *event) { outputMouseEvent(event); } void mousePressEvent(QMouseEvent *event) override { outputMouseEvent(event); }
void mouseReleaseEvent(QMouseEvent *event) { outputMouseEvent(event); } void mouseReleaseEvent(QMouseEvent *event) override { outputMouseEvent(event); }
void tabletEvent(QTabletEvent *); void tabletEvent(QTabletEvent *) override;
void paintEvent(QPaintEvent *); void paintEvent(QPaintEvent *) override;
void timerEvent(QTimerEvent *); void timerEvent(QTimerEvent *) override;
private: private:
void outputMouseEvent(QMouseEvent *event); void outputMouseEvent(QMouseEvent *event);
bool m_lastIsMouseMove; bool m_lastIsMouseMove = false;
bool m_lastIsTabletMove; bool m_lastIsTabletMove = false;
Qt::MouseButton m_lastButton; Qt::MouseButton m_lastButton = Qt::NoButton;
QVector<TabletPoint> m_points; QVector<TabletPoint> m_points;
int m_tabletMoveCount; int m_tabletMoveCount = 0;
int m_paintEventCount; int m_paintEventCount = 0;
}; };
EventReportWidget::EventReportWidget()
: m_lastIsMouseMove(false)
, m_lastIsTabletMove(false)
, m_lastButton(Qt::NoButton)
, m_tabletMoveCount(0)
, m_paintEventCount(0)
{
startTimer(1000);
}
void EventReportWidget::paintEvent(QPaintEvent *) void EventReportWidget::paintEvent(QPaintEvent *)
{ {
QPainter p(this); QPainter p(this);
@ -114,7 +104,7 @@ void EventReportWidget::paintEvent(QPaintEvent *)
p.setPen(Qt::white); p.setPen(Qt::white);
QPainterPath ellipse; QPainterPath ellipse;
ellipse.addEllipse(0, 0, halfLineSpacing * 5, halfLineSpacing); ellipse.addEllipse(0, 0, halfLineSpacing * 5, halfLineSpacing);
foreach (const TabletPoint &t, m_points) { for (const TabletPoint &t : qAsConst(m_points)) {
if (geom.contains(t.pos)) { if (geom.contains(t.pos)) {
QPainterPath pp; QPainterPath pp;
pp.addEllipse(t.pos, halfLineSpacing, halfLineSpacing); pp.addEllipse(t.pos, halfLineSpacing, halfLineSpacing);
@ -218,10 +208,10 @@ int main(int argc, char *argv[])
EventReportWidget *widget = new EventReportWidget; EventReportWidget *widget = new EventReportWidget;
widget->setMinimumSize(640, 480); widget->setMinimumSize(640, 480);
QMenu *fileMenu = mainWindow.menuBar()->addMenu("File"); QMenu *fileMenu = mainWindow.menuBar()->addMenu("File");
QObject::connect(fileMenu->addAction("Clear"), SIGNAL(triggered()), widget, SLOT(clearPoints())); fileMenu->addAction("Clear", widget, &EventReportWidget::clearPoints);
QObject::connect(widget, SIGNAL(stats(QString)), mainWindow.statusBar(), SLOT(showMessage(QString))); QObject::connect(widget, &EventReportWidget::stats,
QAction *quitAction = fileMenu->addAction("Quit"); mainWindow.statusBar(), &QStatusBar::showMessage);
QObject::connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); QAction *quitAction = fileMenu->addAction("Quit", qApp, &QCoreApplication::quit);
quitAction->setShortcut(Qt::CTRL + Qt::Key_Q); quitAction->setShortcut(Qt::CTRL + Qt::Key_Q);
mainWindow.setCentralWidget(widget); mainWindow.setCentralWidget(widget);
mainWindow.show(); mainWindow.show();