52 #ifndef VABSTRACTOPERATION_H
53 #define VABSTRACTOPERATION_H
56 #include <qcompilerdetection.h>
58 #include <QMetaObject>
62 #include <QGraphicsLineItem>
64 #include "../vdrawtool.h"
65 #include "../vwidgets/vsimplecurve.h"
66 #include "../vwidgets/vsimplepoint.h"
87 bool showPointName{
true};
98 Q_INTERFACES(QGraphicsItem)
107 virtual QString
getTagName() const Q_DECL_OVERRIDE;
112 virtual
void GroupVisibility(quint32
object,
bool visible) Q_DECL_OVERRIDE;
113 virtual
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) Q_DECL_OVERRIDE;
126 virtual
void AllowHover(
bool enabled) Q_DECL_OVERRIDE;
149 virtual
void Disable(
bool disable, const QString &draftBlockName) Q_DECL_OVERRIDE;
165 QGraphicsItem *parent =
nullptr);
167 virtual
void AddToFile() Q_DECL_OVERRIDE;
177 template <typename T>
182 template <typename T>
197 template <typename T>
204 AddVisualization<T>();
209 if (T *visual = qobject_cast<T *>(
vis))
222 template <
typename T>
void AllowArcSelecting(bool enabled)
virtual void AllowHover(bool enabled) Q_DECL_OVERRIDE
virtual void FullUpdateFromFile() Q_DECL_OVERRIDE
virtual void SaveOptions(QDomElement &tag, QSharedPointer< VGObject > &obj) Q_DECL_OVERRIDE
virtual void ToolSelectionType(const SelectionType &type) Q_DECL_OVERRIDE
virtual ~VAbstractOperation() Q_DECL_EQ_DEFAULT
QMap< quint32, VAbstractSimple * > operatedObjects
void updatePointNamePosition(quint32 id, const QPointF &pos)
virtual void setPointNamePosition(quint32 id, const QPointF &pos) Q_DECL_OVERRIDE
void AllowElArcSelecting(bool enabled)
QVector< SourceItem > source
virtual void AddToFile() Q_DECL_OVERRIDE
AddToFile add tag with Information about tool into file.
static const QString TagDestination
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) Q_DECL_OVERRIDE
void pointNamePositionChanged(const QPointF &pos, quint32 labelId)
void AllowArcHover(bool enabled)
static void initOperationToolConnections(VMainGraphicsScene *scene, T *tool)
static const QString TagItem
void SaveSourceDestination(QDomElement &tag)
void AllowPointLabelSelecting(bool enabled)
void AllowPointSelecting(bool enabled)
static void ExtractData(const QDomElement &domElement, QVector< SourceItem > &source, QVector< DestinationItem > &destination)
void AllowCurveSelecting(bool enabled, GOType type)
virtual void AllowSelecting(bool enabled) Q_DECL_OVERRIDE
virtual void Disable(bool disable, const QString &draftBlockName) Q_DECL_OVERRIDE
void ObjectSelected(bool selected, quint32 objId)
void ShowToolVisualization(bool show)
void AllowSplinePathHover(bool enabled)
void InitOperatedObjects()
virtual void ReadToolAttributes(const QDomElement &domElement) Q_DECL_OVERRIDE
void setSuffix(const QString &suffix)
void AllowPointLabelHover(bool enabled)
virtual void GroupVisibility(quint32 object, bool visible) Q_DECL_OVERRIDE
void AllowSplineHover(bool enabled)
QString complexPointToolTip(quint32 itemId) const
void AllowPointHover(bool enabled)
virtual void EnableToolMove(bool move) Q_DECL_OVERRIDE
QVector< DestinationItem > destination
static const QString TagSource
virtual void setPointNameVisiblity(quint32 id, bool visible) Q_DECL_OVERRIDE
void AllowSplinePathSelecting(bool enabled)
virtual void updatePointNameVisibility(quint32 id, bool visible) Q_DECL_OVERRIDE
virtual bool isPointNameVisible(quint32 id) const Q_DECL_OVERRIDE
QString complexCurveToolTip(quint32 itemId) const
void AllowCurveHover(bool enabled, GOType type)
virtual QString getTagName() const Q_DECL_OVERRIDE
void AllowSplineSelecting(bool enabled)
void InitCurve(quint32 id, VContainer *data, GOType curveType, SceneObject sceneType)
void AllowElArcHover(bool enabled)
The VContainer class container of all variables.
The VGObject class keep information graphical objects.
The VMainGraphicsScene class main scene.
void EnableSplinePathItemHover(bool enable)
void EnableArcItemHover(bool enable)
void EnablePointItemSelection(bool enable)
void EnableElArcItemHover(bool enable)
void enableTextItemSelection(bool enable)
void EnableSplineItemSelection(bool enable)
void EnablePointItemHover(bool enable)
void EnableArcItemSelection(bool enable)
void enableTextItemHover(bool enable)
void EnableElArcItemSelection(bool enable)
void EnableSplineItemHover(bool enable)
void EnableSplinePathItemSelection(bool enable)
QVector< quint32 > sourceToObjects(const QVector< SourceItem > &source)
Q_DECLARE_TYPEINFO(SourceItem, Q_MOVABLE_TYPE)