1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2016 The Qt Company Ltd. 4 ** Contact: https://www.qt.io/licensing/ 5 ** 6 ** This file is part of the Qt Virtual Keyboard module of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:GPL$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see https://www.qt.io/terms-conditions. For further 15 ** information use the contact form at https://www.qt.io/contact-us. 16 ** 17 ** GNU General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU 19 ** General Public License version 3 or (at your option) any later version 20 ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 ** included in the packaging of this file. Please review the following 23 ** information to ensure the GNU General Public License requirements will 24 ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 ** 26 ** $QT_END_LICENSE$ 27 ** 28 ****************************************************************************/ 29 30 #ifndef TRACE_H 31 #define TRACE_H 32 33 #include <QObject> 34 #include <QVariant> 35 #include <QPointF> 36 37 namespace QtVirtualKeyboard { 38 39 class TracePrivate; 40 41 class Trace : public QObject 42 { 43 Q_OBJECT 44 Q_DECLARE_PRIVATE(Trace) 45 Q_PROPERTY(int traceId READ traceId WRITE setTraceId NOTIFY traceIdChanged) 46 Q_PROPERTY(QStringList channels READ channels WRITE setChannels NOTIFY channelsChanged) 47 Q_PROPERTY(int length READ length NOTIFY lengthChanged) 48 Q_PROPERTY(bool isFinal READ isFinal WRITE setFinal NOTIFY finalChanged) 49 Q_PROPERTY(bool isCanceled READ isCanceled WRITE setCanceled NOTIFY canceledChanged) 50 public: 51 explicit Trace(QObject *parent = 0); 52 ~Trace(); 53 54 int traceId() const; 55 void setTraceId(int id); 56 57 QStringList channels() const; 58 void setChannels(const QStringList &channels); 59 60 int length() const; 61 62 Q_INVOKABLE QVariantList points(int pos = 0, int count = -1) const; 63 Q_INVOKABLE int addPoint(const QPointF &point); 64 65 Q_INVOKABLE void setChannelData(const QString &channel, int index, const QVariant &data); 66 Q_INVOKABLE QVariantList channelData(const QString &channel, int pos = 0, int count = -1) const; 67 68 bool isFinal() const; 69 void setFinal(bool final); 70 71 bool isCanceled() const; 72 void setCanceled(bool canceled); 73 74 signals: 75 void traceIdChanged(int traceId); 76 void channelsChanged(); 77 void lengthChanged(int length); 78 void finalChanged(bool isFinal); 79 void canceledChanged(bool isCanceled); 80 }; 81 82 } // namespace QtVirtualKeyboard 83 84 #endif // TRACE_H 85