122 lines
2.5 KiB
Objective-C
Executable File
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
|