77 lines
1.8 KiB
C++
Executable File
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
|