124 lines
1.6 KiB
C++
Executable File
124 lines
1.6 KiB
C++
Executable File
|
|
|
|
|
|
#pragma once
|
|
|
|
#include <LtsTimelineClassic/ltstimelineclassic_export.h>
|
|
|
|
#include "Range.h"
|
|
#include <NGLLogger/INGLLogger.h>
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
namespace Ui
|
|
{
|
|
class Timeline;
|
|
}
|
|
|
|
|
|
namespace LtsTimelineClassic
|
|
{
|
|
class AbstractTimelineModel;
|
|
class EventGraphic;
|
|
class TimelineHeaderView;
|
|
|
|
|
|
|
|
class LTSTIMELINECLASSIC_EXPORT TimelineWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
|
|
explicit TimelineWidget(QWidget *parent = nullptr);
|
|
|
|
~TimelineWidget();
|
|
|
|
|
|
|
|
void setPositionMarkerTime(const qint64 time);
|
|
|
|
qint64 getRangeMinimum() const;
|
|
qint64 getRangeMaximum() const;
|
|
|
|
void setPos(qint64 pos);
|
|
void setMaxPos();
|
|
int getPos() const;
|
|
int getMaxPos() const;
|
|
|
|
void knownRangesChanged(const QVector<Range> &newRanges);
|
|
void hideDebugWidget();
|
|
void setLiveTime(qint64 time);
|
|
|
|
|
|
private:
|
|
|
|
|
|
void setTimelineRange(qint64 min, qint64 max);
|
|
|
|
void refreshData();
|
|
|
|
NGL::INGLLogger &m_logger;
|
|
Ui::Timeline *m_timelineUi;
|
|
|
|
|
|
qint64 m_min;
|
|
qint64 m_max;
|
|
qint64 m_sbPos;
|
|
qint64 m_zoomFactor;
|
|
|
|
TimelineHeaderView *m_headerView;
|
|
AbstractTimelineModel *m_model;
|
|
|
|
|
|
signals:
|
|
|
|
|
|
void signalLoadNewEvents(qint64 from, qint64 to);
|
|
|
|
|
|
|
|
|
|
|
|
void signalEventAction(EventGraphic *eg, int);
|
|
void signalRangeChanged();
|
|
void signalArm(bool arm);
|
|
void signalZoomChanged();
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
|
|
void scrollBarFilter1(int x);
|
|
|
|
|
|
|
|
void scrollBarFilter2();
|
|
|
|
|
|
|
|
void slotSetZoomFactor(qint64 zoomFactor);
|
|
|
|
|
|
|
|
void slotSectionResized(int logicalIndex, int oldSize, int newSize);
|
|
|
|
|
|
|
|
void setTimelineModel(AbstractTimelineModel *model);
|
|
|
|
|
|
|
|
|
|
void slotUpdateTimeline();
|
|
|
|
|
|
void slotRefreshData();
|
|
|
|
};
|
|
|
|
}
|