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