Files
qt5-legatus-legacy/Lts/Plugins/PlanEditor/attribute_dialog_manager.h
T
2026-08-13 18:33:10 +02:00

138 lines
3.1 KiB
Objective-C
Executable File

/**
**
** @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 <GeometryModel/geometry_model.h>
#include <QtCore/QObject>
#include <QtCore/QString>
#include <QtCore/QStringList>
#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