/** * @RDE_HEADER@ * symbol_modification_wdiget for sidc configuration * $Id$ * $HeadURL$ * $Author$ * Created by Karwat, SLSE, 2017-09-07 */ #pragma once #include #include #include #include #include #include #include #include #include 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 &fieldAttrMap); const QMap 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