136 lines
2.8 KiB
C++
Executable File
136 lines
2.8 KiB
C++
Executable File
/**
|
|
* @RDE_HEADER@
|
|
* symbol_modification_wdiget for sidc configuration
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Karwat, SLSE, 2017-09-07
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <SymbologyGui/advancedsymbologygui_export.h>
|
|
|
|
|
|
#include <QWidget>
|
|
#include <Map/map.h>
|
|
#include <MapObjects/participant.h>
|
|
#include <Common/simple_value.h>
|
|
|
|
#include <QtCore/QMap>
|
|
#include <QVBoxLayout>
|
|
#include <QFormLayout>
|
|
#include <QLabel>
|
|
|
|
class QLabel;
|
|
class QBoxLayout;
|
|
|
|
namespace AdvancedSymbology
|
|
{
|
|
|
|
namespace Gui
|
|
{
|
|
|
|
class ADVANCEDSYMBOLOGYGUI_EXPORT SymbolModificationWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit SymbolModificationWidget(SituationMap::Map *map, bool isParticipant, SymbolDictionary &symbolDictionary, QWidget *parent = nullptr);
|
|
~SymbolModificationWidget();
|
|
|
|
bool setSidc(const QString &sidc);
|
|
bool setFieldAttributes(const QMap<QString, QVariant> &fieldAttrMap);
|
|
|
|
const QMap<QString, QVariant> fieldAttributes();
|
|
bool analyze(SymbologyType symbologyType, const QString &sidc);
|
|
QString originalSidc() const;
|
|
QString modifiedSidc() const;
|
|
QString lastModifiedSidc() const;
|
|
QString symbolName() const;
|
|
|
|
SymbologyType symbologyType() const;
|
|
|
|
protected:
|
|
|
|
void retranslate();
|
|
|
|
void setSymbolPixmap(QLabel *, const QString &sidc);
|
|
|
|
void buildSidcModifierTab_MIL2525D(QWidget *widget);
|
|
void buildSidcModifierTab_APP6(QWidget *widget);
|
|
|
|
void buildFieldModifierTab(QWidget *widget);
|
|
void buildParticipantTab(QWidget *widget);
|
|
void buildPreview(QWidget *widget);
|
|
|
|
void emitChanged();
|
|
|
|
class Internal;
|
|
|
|
Internal *m_internal;
|
|
|
|
struct PreviewTab
|
|
{
|
|
explicit PreviewTab(QWidget *widget)
|
|
: layout(new QVBoxLayout(widget))
|
|
, layoutPreview(new QFormLayout())
|
|
, lbBaseSymbolId(new QLabel(widget))
|
|
, lbBaseSymbolName(new QLabel(widget))
|
|
, lbSidcOutTxt(new QLabel(widget))
|
|
, lbSidcInTxt(new QLabel(widget))
|
|
, lbSidcOutImg(new QLabel(widget))
|
|
, lbSidcInImg(new QLabel(widget))
|
|
{}
|
|
QVBoxLayout *layout;
|
|
QFormLayout *layoutPreview;
|
|
|
|
QLabel *lbBaseSymbolId;
|
|
QLabel *lbBaseSymbolName;
|
|
QLabel *lbSidcOutTxt;
|
|
QLabel *lbSidcInTxt;
|
|
QLabel *lbSidcOutImg;
|
|
QLabel *lbSidcInImg;
|
|
};
|
|
PreviewTab *m_previewTab = nullptr;
|
|
|
|
|
|
signals:
|
|
|
|
void changed();
|
|
|
|
|
|
public Q_SLOTS:
|
|
|
|
void updatePreviewTab();
|
|
void onRevert();
|
|
|
|
|
|
private Q_SLOTS:
|
|
|
|
void onContextChanged();
|
|
void onIdentityChanged();
|
|
void onSymbolSetChanged();
|
|
void onStatusChanged();
|
|
|
|
void onHQTFDummyChanged();
|
|
|
|
void onAmplifierGroupChanged();
|
|
void onAmplifierDesriptorChanged(int);
|
|
|
|
void onSector1ModifierChanged(int);
|
|
void onSector2ModifierChanged(int);
|
|
|
|
void onFieldAttributeAdd(bool);
|
|
void onFieldAttributeRemove(bool);
|
|
|
|
void onSetFieldTitle(const QString &);
|
|
void onFieldItemActived(const QModelIndex &);
|
|
|
|
void onChangeApp6SizeMobility();
|
|
};
|
|
} //namespace Gui
|
|
|
|
} //namespace AdvancedSymbology
|