diff options
Diffstat (limited to 'src/plugins/qmlprofiler/timelinerenderer.h')
-rw-r--r-- | src/plugins/qmlprofiler/timelinerenderer.h | 238 |
1 files changed, 0 insertions, 238 deletions
diff --git a/src/plugins/qmlprofiler/timelinerenderer.h b/src/plugins/qmlprofiler/timelinerenderer.h deleted file mode 100644 index 6bc18f2379..0000000000 --- a/src/plugins/qmlprofiler/timelinerenderer.h +++ /dev/null @@ -1,238 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing -** -** This file is part of Qt Creator. -** -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms and -** conditions see http://www.qt.io/terms-conditions. For further information -** use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 or version 3 as published by the Free -** Software Foundation and appearing in the file LICENSE.LGPLv21 and -** LICENSE.LGPLv3 included in the packaging of this file. Please review the -** following information to ensure the GNU Lesser General Public License -** requirements will be met: https://www.gnu.org/licenses/lgpl.html and -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, The Qt Company gives you certain additional -** rights. These rights are described in The Qt Company LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#ifndef TIMELINERENDERER_H -#define TIMELINERENDERER_H - -#include <QQuickPaintedItem> -#include <QJSValue> -#include "qmlprofilertimelinemodelproxy.h" -#include "timelinemodelaggregator.h" - -namespace QmlProfiler { -namespace Internal { - -class TimelineRenderer : public QQuickPaintedItem -{ - Q_OBJECT - Q_PROPERTY(qint64 startTime READ startTime WRITE setStartTime NOTIFY startTimeChanged) - Q_PROPERTY(qint64 endTime READ endTime WRITE setEndTime NOTIFY endTimeChanged) - Q_PROPERTY(QObject *profilerModelProxy READ profilerModelProxy WRITE setProfilerModelProxy NOTIFY profilerModelProxyChanged) - Q_PROPERTY(bool selectionLocked READ selectionLocked WRITE setSelectionLocked NOTIFY selectionLockedChanged) - Q_PROPERTY(int selectedItem READ selectedItem NOTIFY selectedItemChanged) - Q_PROPERTY(int selectedModel READ selectedModel NOTIFY selectedModelChanged) - Q_PROPERTY(int startDragArea READ startDragArea WRITE setStartDragArea NOTIFY startDragAreaChanged) - Q_PROPERTY(int endDragArea READ endDragArea WRITE setEndDragArea NOTIFY endDragAreaChanged) - -public: - explicit TimelineRenderer(QQuickPaintedItem *parent = 0); - - qint64 startTime() const - { - return m_startTime; - } - - qint64 endTime() const - { - return m_endTime; - } - - bool selectionLocked() const - { - return m_selectionLocked; - } - - int selectedItem() const - { - return m_selectedItem; - } - - int selectedModel() const - { - return m_selectedModel; - } - - int startDragArea() const - { - return m_startDragArea; - } - - int endDragArea() const - { - return m_endDragArea; - } - - TimelineModelAggregator *profilerModelProxy() const { return m_profilerModelProxy; } - void setProfilerModelProxy(QObject *profilerModelProxy); - - Q_INVOKABLE int getYPosition(int modelIndex, int index) const; - - Q_INVOKABLE void selectNext(); - Q_INVOKABLE void selectPrev(); - Q_INVOKABLE int nextItemFromSelectionId(int modelIndex, int selectionId) const; - Q_INVOKABLE int prevItemFromSelectionId(int modelIndex, int selectionId) const; - Q_INVOKABLE void selectFromEventIndex(int modelIndex, int index); - Q_INVOKABLE void selectNextFromSelectionId(int modelIndex, int selectionId); - Q_INVOKABLE void selectPrevFromSelectionId(int modelIndex, int selectionId); - -signals: - void startTimeChanged(qint64 arg); - void endTimeChanged(qint64 arg); - void profilerModelProxyChanged(TimelineModelAggregator *list); - void selectionLockedChanged(bool locked); - void selectedItemChanged(int itemIndex); - void selectedModelChanged(int modelIndex); - void selectionChanged(int modelIndex, int itemIndex); - void startDragAreaChanged(int startDragArea); - void endDragAreaChanged(int endDragArea); - void itemPressed(int modelIndex, int pressedItem); - -public slots: - void clearData(); - void requestPaint(); - void swapSelections(int modelIndex1, int modelIndex2); - - void setStartTime(qint64 arg) - { - if (m_startTime != arg) { - m_startTime = arg; - emit startTimeChanged(arg); - } - } - - void setEndTime(qint64 arg) - { - if (m_endTime != arg) { - m_endTime = arg; - emit endTimeChanged(arg); - } - } - - void setSelectionLocked(bool locked) - { - if (m_selectionLocked != locked) { - m_selectionLocked = locked; - update(); - emit selectionLockedChanged(locked); - } - } - - void setStartDragArea(int startDragArea) - { - if (m_startDragArea != startDragArea) { - m_startDragArea = startDragArea; - emit startDragAreaChanged(startDragArea); - } - } - - void setEndDragArea(int endDragArea) - { - if (m_endDragArea != endDragArea) { - m_endDragArea = endDragArea; - emit endDragAreaChanged(endDragArea); - } - } - -protected: - virtual void paint(QPainter *); - virtual void componentComplete(); - virtual void mousePressEvent(QMouseEvent *event); - virtual void mouseReleaseEvent(QMouseEvent *event); - virtual void mouseMoveEvent(QMouseEvent *event); - virtual void hoverMoveEvent(QHoverEvent *event); - -private: - void drawItemsToPainter(QPainter *p, int modelIndex, int fromIndex, int toIndex); - void drawSelectionBoxes(QPainter *p, int modelIndex, int fromIndex, int toIndex); - void drawBindingLoopMarkers(QPainter *p, int modelIndex, int fromIndex, int toIndex); - void drawNotes(QPainter *p); - - int modelFromPosition(int y); - int rowFromPosition(int y); - - void manageClicked(); - void manageHovered(int mouseX, int mouseY); - - void setSelectedItem(int itemIndex) - { - if (m_selectedItem != itemIndex) { - m_selectedItem = itemIndex; - update(); - emit selectedItemChanged(itemIndex); - } - } - - void setSelectedModel(int modelIndex) - { - if (m_selectedModel != modelIndex) { - m_selectedModel = modelIndex; - update(); - emit selectedModelChanged(modelIndex); - } - } - -private: - static const int OutOfScreenMargin = 3; // margin to make sure the rectangles stay invisible - static const int MinimumItemWidth = 3; - - inline void getItemXExtent(int modelIndex, int i, int ¤tX, int &itemWidth); - void resetCurrentSelection(); - - qint64 m_startTime; - qint64 m_endTime; - qreal m_spacing; - qreal m_spacedDuration; - - qint64 m_lastStartTime; - qint64 m_lastEndTime; - - TimelineModelAggregator *m_profilerModelProxy; - - struct { - qint64 startTime; - qint64 endTime; - int row; - int eventIndex; - int modelIndex; - } m_currentSelection; - - int m_selectedItem; - int m_selectedModel; - bool m_selectionLocked; - int m_startDragArea; - int m_endDragArea; -}; - -} // namespace Internal -} // namespace QmlProfiler - -QML_DECLARE_TYPE(QmlProfiler::Internal::TimelineRenderer) - -#endif // TIMELINERENDERER_H |