Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanEditor/symbol_favourites.h
T

153 lines
2.1 KiB
C++
Executable File

#pragma once
#include <QtCore/QObject>
#include <QtCore/QString>
#include "logging.h"
class QIODevice;
namespace PlanEditor
{
class PlanEditor;
class SymbolFavourites : public QObject
{
Q_OBJECT
public:
SymbolFavourites();
virtual ~SymbolFavourites() = default;
virtual QStringList sidcList() const = 0;
virtual QStringList scopeList() const = 0;
virtual void addScope(const QString &scope) = 0;
virtual void addSymbolFavourite(const QString &sidc, const QString &scope, const QString &name) = 0;
virtual bool isFavourite(const QString &sidc) const = 0;
virtual QString scope(const QString &sidc) const = 0;
virtual QString name(const QString &sidc) const = 0;
virtual void removeSymbolFavourite(const QString &sidc) = 0;
virtual void removeScope(const QString &scope) = 0;
virtual void includeSymbolFavourites(const SymbolFavourites &) = 0;
virtual QString toString() = 0;
virtual bool contentFromString(const QString &) = 0;
virtual bool contentFromDevice(QIODevice *) = 0;
virtual bool copyScope(const QString &scope, SymbolFavourites &dest) = 0;
static SymbolFavourites *create();
static SymbolFavourites *createFromString(const QString &);
static SymbolFavourites *createFromDevice(QIODevice *);
class SymbolVisitor
{
public:
SymbolVisitor() = default;
virtual ~SymbolVisitor() = default;
SymbolVisitor(const SymbolVisitor &) = delete;
SymbolVisitor &operator = (const SymbolVisitor &) = delete;
private:
friend class VisitorVisitor;
virtual bool apply(const QString &scope) const;
virtual bool apply(const QString &scope, const QString &name, const QString &sidc) const;
};
virtual void traverse(const SymbolVisitor &) = 0;
signals:
void signalNewScope(const QString &scope);
void signalNewSymbol(const QString &scope, const QString &sidc);
void signalDeleteScope(const QString &scope);
void signalDeleteSymbol(const QString &sidc);
};
}