138 lines
3.1 KiB
Objective-C
Executable File
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
|