Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
@@ -0,0 +1,104 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* Widget for selecting (base) symbols
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Norbert Thoden, NLE, 12.12.2019
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <SymbologyGui/advancedsymbologygui_export.h>
|
||||
#include <Common/situation_map_logging.h>
|
||||
|
||||
#include <QWidget>
|
||||
#include <QVector>
|
||||
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class BaseSymbolLookupWidget;
|
||||
}
|
||||
|
||||
|
||||
namespace AdvancedSymbology
|
||||
{
|
||||
class BaseSymbolModel;
|
||||
class BaseSymbolItem;
|
||||
namespace Gui
|
||||
{
|
||||
|
||||
enum class SYMBOL_TYPE
|
||||
{
|
||||
ESRI = 0,
|
||||
XML,
|
||||
ETS
|
||||
};
|
||||
|
||||
struct ModelItem
|
||||
{
|
||||
ModelItem(SYMBOL_TYPE symbolType = SYMBOL_TYPE::ESRI,
|
||||
const QString &name = QString(),
|
||||
BaseSymbolModel *baseSymbolModel = nullptr)
|
||||
: m_symbolType(symbolType),
|
||||
m_name(name),
|
||||
m_baseSymbolModel(baseSymbolModel)
|
||||
{}
|
||||
SYMBOL_TYPE m_symbolType;
|
||||
QString m_name;
|
||||
BaseSymbolModel *m_baseSymbolModel = nullptr;
|
||||
};
|
||||
|
||||
using MODEL_CONT = QVector<ModelItem>;
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// BaseSymbolLookupWidget
|
||||
//------------------------------------------------------------------------------
|
||||
class ADVANCEDSYMBOLOGYGUI_EXPORT BaseSymbolLookupWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit BaseSymbolLookupWidget(const MODEL_CONT &modelCont, QWidget *parent);
|
||||
~BaseSymbolLookupWidget();
|
||||
|
||||
bool participantMode() const;
|
||||
void setParticipantMode(bool onOff);
|
||||
|
||||
void setValidBaseSymbolCodes(const QSet<QString> &validBaseSymbolCodes);
|
||||
|
||||
QSharedPointer<BaseSymbolItem> getCurrentBaseSymbolItem() const;
|
||||
QString getCurrentBaseSymbolCode() const; // encoded, baseSymbolCode
|
||||
QString getCurrentSidc() const; // encoded, complete
|
||||
bool setCurrentSidc(const QString &sidc); // encoded, baseSymbolCode or complete Sidc
|
||||
|
||||
Q_SIGNALS:
|
||||
void symbolClicked(const QString &baseSymbolCode, const QString &sidc);
|
||||
void symbolDoubleClicked(const QString &baseSymbolCode, const QString &sidc);
|
||||
|
||||
protected:
|
||||
bool setCurrentTab(SYMBOL_TYPE symType);
|
||||
void showHideColumns(SYMBOL_TYPE symType);
|
||||
|
||||
protected Q_SLOTS:
|
||||
void showEvent(QShowEvent *event) override;
|
||||
|
||||
void onClicked(const QModelIndex &index);
|
||||
void onDoubleClicked(const QModelIndex &index);
|
||||
|
||||
private:
|
||||
SituationMap::LOGGER_T m_logger;
|
||||
|
||||
Ui::BaseSymbolLookupWidget *m_ui;
|
||||
|
||||
struct Private;
|
||||
/**
|
||||
* The private d->pointer to not break BC when changing internals of this class
|
||||
*/
|
||||
Private *d = nullptr;
|
||||
};
|
||||
|
||||
} // namespace Gui
|
||||
} // namespace AdvancedSymbology
|
||||
Reference in new issue
Block a user