Files
qt-migration-legatus/qt5-before/dlbo/Lts/Common/LtsTimeline/timeline_utils.h
T
torstenandCopilot 7173785915 Qt6 Migration: Complete migration with DDS/RTI support and build validation
Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 18:20:26 +00:00

84 lines
2.1 KiB
C++

#pragma once
#include <LtsTimeline/ltstimeline_export.h>
#include <QString>
namespace LtsTimeline
{
struct LTSTIMELINE_EXPORT Tick
{
int pos{-1};
qint64 time{0};
QString label;
Tick() {}
explicit Tick(qint64 time) : time(time) {}
explicit Tick(int pos, qint64 time, const QString &label) : pos(pos), time(time), label(label) {}
};
typedef QVector<Tick> Ticks;
///////////////////////////////////////////////////////////////////////////////
// DateTime
namespace DateTime
{
enum Format { DTG = 0, ISODate = Qt::ISODate, Standard = 2, DTGShort = 3, DTGVeryShort, TimeOnly = 5 };
extern int numberOfDateTimeFormats();
extern LTSTIMELINE_EXPORT QString toString(qint64 time, Format format);
}
typedef DateTime::Format DateTimeFormat;
///////////////////////////////////////////////////////////////////////////////
// Zoom
namespace Zoom
{
enum Factor : int // in msecs!!!
{
FifteenSeconds = 15 * 1000, ThirtySeconds = 30 * 1000, SixtySeconds = 60 * 1000,
TwoMinutes = 2 * 60 * 1000, ThreeMinutes = 3 * 60 * 1000, FiveMinutes = 5 * 60 * 1000,
TenMinutes = 10 * 60 * 1000, FifteenMinutes = 15 * 60 * 1000, ThirtyMinutes = 30 * 60 * 1000, SixtyMinutes = 60 * 60 * 1000,
TwoHours = 2 * 60 * 60 * 1000, FourHours = 4 * 60 * 60 * 1000, EightHours = 8 * 60 * 60 * 1000, TwelveHours = 12 * 60 * 60 * 1000,
OneDay = 24 * 60 * 60 * 1000
};
extern LTSTIMELINE_EXPORT int numberOfZoomFactors();
extern LTSTIMELINE_EXPORT Factor increment(Factor factor);
extern LTSTIMELINE_EXPORT Factor decrement(Factor factor);
extern LTSTIMELINE_EXPORT Factor ceil(int value);
extern LTSTIMELINE_EXPORT Factor floor(int value);
extern LTSTIMELINE_EXPORT QVector<Factor> availableZoomFactors(Factor min, Factor max);
extern LTSTIMELINE_EXPORT QString toString(Factor factor, bool useShort = false);
extern LTSTIMELINE_EXPORT QString toShortString(Factor factor);
extern LTSTIMELINE_EXPORT int majorInterval(Factor factor);
extern LTSTIMELINE_EXPORT int mediumInterval(Factor factor);
extern LTSTIMELINE_EXPORT int minorInterval(Factor factor);
}
typedef Zoom::Factor ZoomFactor;
typedef QVector<ZoomFactor> ZoomFactors;
} // namespace LtsTimeline