#pragma once #include #include #include #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 : public QObject { Q_OBJECT public: explicit LookupSymbolManager(PlanEditor *planEditor , SituationMap::Map *map , const PlanEditorSession &session); virtual ~LookupSymbolManager(); void setParticipantsSidcsInUse(const QSet &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: void addToSymbolFavourites(const QString &scope, const QString &sidc); void readModelFinished(); private: class InternalData; InternalData *m_internal; void openDialog(const QString &title, const QString &widgetId); }; }