Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineIndicator.h
T
torsten 950d669538 Qt6 Migration: BUILD_RTI guards und CMake fixes
- BUILD_RTI conditional compilation für RTI Connext DDS dependencies
- Namespace fixes in core_dtc.h (Core:: → DDS::Core::)
- CMakeLists.txt: BUILD_RTI option und conditional dependencies
- Handler minelayer: namespace closing mit BUILD_RTI guard
- Build erfolgreich mit BUILD_RTI=OFF validiert

Signed-off-by: Torsten Wierschin <torsten.wierschin@life-maps.com>
2026-08-21 18:37:18 +02:00

95 lines
1.7 KiB
C++

#pragma once
#include "EventTools.h"
#include "LineMap.h"
#include <QComboBox>
#include <QObject>
#include <QPair>
#include <QPoint>
#include <QWidget>
namespace NGL
{
class INGLLogger;
}
class QPushButton;
class QLabel;
namespace LtsTimelineClassic
{
class TimelineIndicatorTest;
class TimelineIndicator : public QWidget
{
Q_OBJECT
friend class TimelineIndicatorTest;
static const int s_TimeTextDistanceTolerancePixels = 10;
static const int s_pbSize = 18;
public:
explicit TimelineIndicator(QWidget* parent);
~TimelineIndicator();
qint64 zoomFactorPoints() const
{
return m_zoomFactorPoints * 1000;
}
void refreshData();
private:
QVector<qint64> m_timeArray;
qint64 m_zoomFactorPoints;
QPushButton* m_pbZoom;
QPushButton* m_pbUnzoom;
QComboBox* m_cbZoomLevel;
int m_currentTextHeight;
int m_currentTextWidth;
LineMap m_lineMap;
int m_sectionPos;
int m_sectionSize;
protected:
NGL::INGLLogger& m_logger;
void paintEvent(QPaintEvent*);
public:
// Public getter for testing
QComboBox* zoomLevelComboBox() const { return m_cbZoomLevel; }
signals:
void signalSetTimelineRange(qint64 min, qint64 max);
void signalSetZoomFactor(qint64 zoomFactor);
void signalResetLineList();
void signalAddLine(int posX, qint64 time);
void signalZoomChanged();
private slots:
void afterZoom();
public slots:
void slotSectionResized(int logicalIndex, int oldSize, int newSize);
void slotZoom();
void slotUnzoom();
void slotResetLineList();
void slotAddLine(double posX, qint64 time);
};
} // namespace LtsTimelineClassic