/** ** ** @RDE_HEADER@ ** Used to manage symbol look up dialog. ** $Id$ ** $HeadURL$ ** $Author$ ** ** ----------------------------------------------------------------------------------------------- ** ** Hardware-Environment: Intel-PC ** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 ** ** Language ........: C++ 11 ** ** ----------------------------------------------------------------------------------------------- ** ** Author ...........: Jörg Turla, SPD G, Tel. 3132 ** ** ----------------------------------------------------------------------------------------------- ** ** Notes .........: ** ** 17.08.2016, JT : First edition for use with Qt5 ** ** ----------------------------------------------------------------------------------------------- */ #pragma once #include #include #include #include #include "logging.h" namespace SituationMap { class Map; } namespace LtsWidgets { class LtsBaseLayoutWidget; class LtsDialog; } namespace PlanEditor { class PlanEditor; class PlanEditorSession; /** @class LookupSymbolManager @brief Manager class to handle symbol look up dialog and associated data model. */ class AttributeDialogManager : public QObject { Q_OBJECT public: /** @name Construction & Destruction @{ */ explicit AttributeDialogManager(PlanEditor *planEditor , SituationMap::Map *map , SituationMap::GeometryModel *geoModel , const PlanEditorSession &session); virtual ~AttributeDialogManager(); /** @} */ const QString &textLines() const; public slots: void onOpenDialog(const SituationMap::GeometryModel::Node &node); void onCloseDialog(); void addStyleAttributes(const SituationMap::GeometryModel::Node &node, bool prepareUndo, bool changedAttrOnly = true); void getStyleAttributes(const SituationMap::GeometryModel::Node &node); private: class InternalData; InternalData *m_internal; void updateSelectedFeature(const QString &undoToken, SituationMap::GeometryModel::Attribute changedAttribute = SituationMap::GeometryModel::Attribute::None); bool attributeNeedsUpdate(SituationMap::GeometryModel::Attribute attribute); private slots: void onResetDialog(); void onResetWidgets(); void onDrawColorEdit(); void onFillColorEdit(); void onFontColorEdit(); void onSymbolChanged(); void onUpdateParticipantColors(); void onSetLinePattern(int index); void onSetFillPattern(int index); void onSetFillStyle(int index); void onSetLineWidth(int width); void onSetLineArrowBegin(bool on); void onSetLineArrowEnd(bool on); void onSetFilling(bool on); void onEditTextLines(); void onSetFontSize(double value); void onSetFontFace(int index); void onSetFontBold(bool on); void onSetFontItalic(bool on); void onSetTextAnchor(bool on); void onRotateText(int value); void onRotateTextSp(int value); void onChangedParticipant(); }; // FavouritesActionManager } // namespace PlanEditor