Files
T
torstenandCopilot 7a6be7474e Qt6 migration: Fix BUILD_RTI=OFF build errors in TrainingAreaBase
- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document

C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+

Build status: BUILD_RTI=OFF successful (0 errors, warnings only)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-23 20:49:23 +02:00

142 lines
3.1 KiB
C++
Executable File

#pragma once
#include <QtWidgets/QFrame>
#include <QtGui/QColor>
#include <QtWidgets/QWidget>
#include <QtWidgets/QDockWidget>
#include "ui_viewwidget.h"
#include "viewerinterface.h"
#include <string>
#include "dtEntity/entityid.h"
namespace osgViewer {
class View;
}
namespace VCtrl
{
class ViewWidget
: public QFrame,
public Ui::ViewWidget
{
Q_OBJECT
public:
explicit ViewWidget(unsigned int contextid,
dtEntity::EntityId bid = 0,
const std::string &strFeatureID = std::string(),
bool usesExactPos = false,
QWidget *parent = nullptr);
static const QColor ColorBorder;
static const QColor ColorSelected;
static const QColor ColorHighlighted;
void setView(QWidget *view);
QWidget* accessView();
void setText(const QString &strText);
void closeEvent(QCloseEvent *e) override;
void setViewerInterface(ViewerInterface *v) { mViewerInterface = v; }
bool isOpenGlWindowExposed() const;
inline bool isMaximized() const
{
return m_isMaximized;
}
void setMaximized(bool maximized);
void setSelected(bool selected);
inline bool isSelected() const
{
return m_isSelected;
}
inline unsigned int contextID() const
{
return mContextId;
}
inline dtEntity::EntityId entityID() const
{
return m_entityID;
}
inline const std::string featureID() const
{
return m_featureID;
}
inline const std::string description() const
{
return m_label_description->text().toStdString();
}
double transparency() const;
bool lockedRotation() const;
bool dotModeActive() const;
bool nameModeActive() const;
ViewMode viewMode() const;
bool exactPos() const;
signals:
void signal_Zoom(ViewWidget *pWidget, bool zoomIn);
void signal_MaximizeRequest(ViewWidget *pWidget);
void signal_MinimizeRequest(ViewWidget *pWidget);
void signal_CloseRequest(ViewWidget *pWidget);
void signal_FocusRequest(ViewWidget *pWidget);
void signal_ViewIsShown(ViewWidget *pWidget);
public slots:
void setLockRotationCheckbox(bool);
void setDotModeCheckbox(bool);
void setNameModeCheckbox(bool);
void setDisplayedViewMode(ViewMode);
void setTransparency(float value);
void closeByAPI();
void highlightBorder(bool highlight);
protected slots:
void viewModeChanged();
void transparencyChanged(int);
void lockRotationToggled();
void dotModeToggled();
void nameModeToggled(bool);
void slotShowMore(bool);
void OnButtonMaximize(bool);
void OnButtonClose(bool);
private:
void updateTlwTransientParent();
void mouseMoveEvent(QMouseEvent *event) override;
bool eventFilter(QObject *obj, QEvent *event) override;
void showEvent(QShowEvent *event) override;
bool m_isMaximized = false;
bool m_isSelected = false;
void drawBorder(const QColor &col);
bool m_locked, m_useDotMode;
ViewMode m_viewmode = ViewMode::ISOMETRIC;
dtEntity::EntityId m_entityID;
std::string m_featureID;
unsigned int mContextId;
bool m_usesExactPos;
ViewerInterface *mViewerInterface;
bool mClosedByAPI;
QWidget* m_pView;
};
}