Files
qt5-legatus-legacy/Lts/Viewer/SituationMap/SymbologyGui/base_symbol_lookup_dialog.h
T
2026-08-13 18:33:10 +02:00

77 lines
1.8 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Dialog for selecting (base) symbols
* $Id$
* $HeadURL$
* $Author$
* Created by Norbert Thoden, NLE, 12.12.2019
*/
#pragma once
#include <SymbologyGui/advancedsymbologygui_export.h>
#include <Symbology/symbology_type.h>
#include <Common/situation_map_logging.h>
#include <LtsWidgets/lts_frameless_dialog.h>
namespace AdvancedSymbology
{
class SymbolDictionary;
namespace Gui
{
//------------------------------------------------------------------------------
// BaseSymbolLookupDialog
//------------------------------------------------------------------------------
class ADVANCEDSYMBOLOGYGUI_EXPORT BaseSymbolLookupDialog : public LtsWidgets::LtsFramelessDialog
{
Q_OBJECT
using BaseClass = LtsWidgets::LtsFramelessDialog;
public:
static BaseSymbolLookupDialog *showInstance();
static BaseSymbolLookupDialog *createDlg(QWidget *parent = nullptr);
explicit BaseSymbolLookupDialog(QWidget *parent = nullptr);
~BaseSymbolLookupDialog();
bool init(SymbolDictionary &symbolDictionary);
bool participantMode() const;
void setParticipantMode(bool onOff);
void setValidBaseSymbolCodes(const QSet<QString> &validBaseSymbolCodes);
QString getCurrentBaseSymbolCode() const;
bool setCurrentSidc(const QString &sidc);
Q_SIGNALS:
void lookupAppliedBaseSymbolCode(const QString &sidc);
void lookupAppliedCompleteSidc(const QString &sidc);
protected:
void apply();
protected Q_SLOTS:
void onSymbolDoubleClicked(const QString &baseSymbolCode, const QString &sidc);
void onSymbolClicked(const QString &baseSymbolCode, const QString &sidc);
private:
SituationMap::LOGGER_T m_logger;
struct Private;
/**
* The private d->pointer to not break BC when changing internals of this class
*/
Private *d = nullptr;
}; // BaseSymbolLookupDialog
} // namespace Gui
} // namespace AdvancedSymbology