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

122 lines
2.5 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 <QtCore/QObject>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include "logging.h"
namespace AdvancedSymbology
{
class SymbolDictionary;
}
namespace SituationMap
{
class Map;
}
namespace AdvancedSymbology
{
namespace Gui
{
class BaseSymbolModel;
class BaseSymbolProxyFilter;
}
}
namespace PlanEditor
{
class PlanEditor;
class PlanEditorSession;
/**
@class LookupSymbolManager
@brief Manager class to handle symbol look up dialog and associated data model.
*/
class LookupSymbolManager : public QObject
{
Q_OBJECT
public:
/**
@name Construction & Destruction
@{
*/
explicit LookupSymbolManager(PlanEditor *planEditor
, SituationMap::Map *map
, const PlanEditorSession &session);
virtual ~LookupSymbolManager();
/** @} */
void setParticipantsSidcsInUse(const QSet<QString> &sidcs);
AdvancedSymbology::SymbolDictionary &symbolDictionary();
bool isParticipantDialog() const;
public slots:
void onOpenSymbolDialog();
void onOpenParticipantDialog();
void onCloseDialog();
void onUpdateSymbolScopes(const QStringList &scopeList);
private slots:
void onLookupSymbolDialogBeginDestroy();
void initializeSymbolLookupModelDrag();
void onSymbolDoubleClicked(const QString &baseSymbolCode);
signals:
/**
When scopes are created or removed the signal updateSymbolScopes is emitted with current list of scopes.
@param scopeList List of all scope names.
*/
void addToSymbolFavourites(const QString &scope, const QString &sidc);
void readModelFinished();
private:
class InternalData;
InternalData *m_internal;
void openDialog(const QString &title, const QString &widgetId);
}; // FavouritesActionManager
} // namespace PlanEditor