Seamly2D
Code documentation
VAbstractSpline Class Reference

#include <vabstractspline.h>

Inheritance diagram for VAbstractSpline:
Collaboration diagram for VAbstractSpline:

Public Types

enum  { Type = UserType + static_cast<int>(Tool::AbstractSpline) }
 

Public Slots

virtual void FullUpdateFromFile () Q_DECL_OVERRIDE
 FullUpdateFromFile update tool data form file. More...
 
virtual void Disable (bool disable, const QString &draftBlockName) Q_DECL_OVERRIDE
 
virtual void piecesMode (bool mode) Q_DECL_OVERRIDE
 
virtual void AllowHover (bool enabled) Q_DECL_OVERRIDE
 
virtual void AllowSelecting (bool enabled) Q_DECL_OVERRIDE
 
virtual QString makeToolTip () const Q_DECL_OVERRIDE
 
- Public Slots inherited from VDrawTool
virtual void activeBlockChanged (const QString &newName)
 activeBlockChanged disable or enable context menu after change active draft block. More...
 
void blockNameChanged (const QString &oldName, const QString &newName)
 blockNameChanged save new name active draft block. More...
 
virtual void EnableToolMove (bool move)
 
virtual void Disable (bool disable, const QString &draftBlockName)=0
 
virtual void piecesMode (bool mode)
 
- Public Slots inherited from VInteractiveTool
void FullUpdateFromGuiOk (int result)
 FullUpdateFromGuiOk refresh tool data after change in options. More...
 
void FullUpdateFromGuiApply ()
 FullUpdateFromGuiApply refresh tool data after change in options but do not delete dialog. More...
 
- Public Slots inherited from VAbstractTool
virtual void FullUpdateFromFile ()=0
 FullUpdateFromFile update tool data form file. More...
 
virtual void AllowHover (bool enabled)=0
 
virtual void AllowSelecting (bool enabled)=0
 
virtual void ToolSelectionType (const SelectionType &type)
 

Signals

void setEnabledPoint (bool enable)
 setEnabledPoint disable control points. More...
 
- Signals inherited from VDrawTool
void ChangedToolSelection (bool selected, quint32 object, quint32 tool)
 
- Signals inherited from VAbstractTool
void toolHasChanges ()
 toolHasChanges emit if tool create change that need save. More...
 
void chosenTool (quint32 id, SceneObject type)
 chosenTool emit if object was clicked. More...
 
void LiteUpdateTree (const Document &parse)
 FullUpdateTree emit if need reparse pattern file. More...
 
void ToolTip (const QString &toolTip)
 

Public Member Functions

 VAbstractSpline (VAbstractPattern *doc, VContainer *data, quint32 id, QGraphicsItem *parent=nullptr)
 
virtual ~VAbstractSpline () Q_DECL_EQ_DEFAULT
 
virtual QPainterPath shape () const Q_DECL_OVERRIDE
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) Q_DECL_OVERRIDE
 
virtual int type () const Q_DECL_OVERRIDE
 
virtual QString getTagName () const Q_DECL_OVERRIDE
 
void ShowHandles (bool show)
 
QString getLineColor () const
 
void setLineColor (const QString &value)
 
QString GetPenStyle () const
 
void SetPenStyle (const QString &value)
 
QString getLineWeight () const
 getLineWeight return line weight of the spline More...
 
void setLineWeight (const QString &value)
 setLineWeight set line weight of the spline More...
 
QString name () const
 
virtual void GroupVisibility (quint32 object, bool visible) Q_DECL_OVERRIDE
 
- Public Member Functions inherited from VDrawTool
 VDrawTool (VAbstractPattern *doc, VContainer *data, quint32 id, QObject *parent=nullptr)
 VDrawTool constructor. More...
 
virtual ~VDrawTool () Q_DECL_EQ_DEFAULT
 
QString getLineType () const
 
virtual void setLineType (const QString &value)
 
QString getLineWeight () const
 
virtual bool isPointNameVisible (quint32 id) const
 
- Public Member Functions inherited from VInteractiveTool
 VInteractiveTool (VAbstractPattern *doc, VContainer *data, quint32 id, QObject *parent=nullptr)
 
virtual ~VInteractiveTool () Q_DECL_EQ_DEFAULT
 
void DialogLinkDestroy ()
 
- Public Member Functions inherited from VAbstractTool
 VAbstractTool (VAbstractPattern *doc, VContainer *data, quint32 id, QObject *parent=nullptr)
 VAbstractTool container. More...
 
virtual ~VAbstractTool () Q_DECL_OVERRIDE
 
quint32 getId () const
 getId return object id. More...
 
const VContainergetData () const
 getData return pointer to data container. More...
 
QMap< QString, quint32 > PointsList () const
 
virtual void ShowVisualization (bool show)=0
 
virtual void setPointNamePosition (quint32 id, const QPointF &pos)
 
virtual void setPointNameVisiblity (quint32 id, bool visible)
 
- Public Member Functions inherited from VDataTool
 VDataTool (VContainer *data, QObject *parent=nullptr)
 VDataTool constructor. More...
 
virtual ~VDataTool () Q_DECL_EQ_DEFAULT
 
VContainer getData () const
 getData return data container. More...
 
void setData (const VContainer *value)
 setData set data container. More...
 
virtual quint32 referens () const
 referens return count of referens. More...
 
virtual void incrementReferens ()
 incrementReferens increment referens. More...
 
virtual void decrementReferens ()
 decrementReferens decrement referens. More...
 

Protected Member Functions

virtual void RefreshGeometry ()
 RefreshGeometry refresh item on scene. More...
 
virtual void ShowTool (quint32 id, bool enable) Q_DECL_OVERRIDE
 ShowTool highlight tool. More...
 
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event) Q_DECL_OVERRIDE
 hoverEnterEvent handle hover enter events. More...
 
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event) Q_DECL_OVERRIDE
 hoverLeaveEvent handle hover leave events. More...
 
virtual QVariant itemChange (GraphicsItemChange change, const QVariant &value) Q_DECL_OVERRIDE
 itemChange hadle item change. More...
 
virtual void keyReleaseEvent (QKeyEvent *event) Q_DECL_OVERRIDE
 keyReleaseEvent handle key release events. More...
 
virtual void mousePressEvent (QGraphicsSceneMouseEvent *event) Q_DECL_OVERRIDE
 
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) Q_DECL_OVERRIDE
 mouseReleaseEvent handle mouse release events. More...
 
virtual void ReadToolAttributes (const QDomElement &domElement) Q_DECL_OVERRIDE
 
virtual void SaveOptions (QDomElement &tag, QSharedPointer< VGObject > &obj) Q_DECL_OVERRIDE
 
virtual void refreshCtrlPoints ()
 
virtual void contextMenuEvent (QGraphicsSceneContextMenuEvent *event) Q_DECL_OVERRIDE
 
VSpline CorrectedSpline (const VSpline &spline, const SplinePointPosition &position, const QPointF &pos) const
 
template<typename T >
void ShowToolVisualization (bool show)
 
- Protected Member Functions inherited from VDrawTool
void AddToCalculation (const QDomElement &domElement)
 typeLine line weight. More...
 
void addDependence (QList< quint32 > &list, quint32 objectId) const
 
virtual void SaveDialog (QDomElement &domElement)=0
 SaveDialog save options into file after change in dialog. More...
 
virtual void SaveDialogChange () Q_DECL_FINAL
 
virtual void AddToFile () Q_DECL_OVERRIDE
 AddToFile add tag with Information about tool into file. More...
 
void SaveOption (QSharedPointer< VGObject > &obj)
 
virtual QString makeToolTip () const
 
bool CorrectDisable (bool disable, const QString &draftBlockName) const
 
void ReadAttributes ()
 
virtual void updatePointNameVisibility (quint32 id, bool visible)
 
template<typename Dialog >
void ContextMenu (QGraphicsSceneContextMenuEvent *event, quint32 itemId=NULL_ID, const RemoveOption &showRemove=RemoveOption::Enable, const Referens &ref=Referens::Follow)
 ContextMenu show context menu for tool. More...
 
template<typename Item >
void ShowItem (Item *item, quint32 id, bool enable)
 ShowItem highlight tool. More...
 
template<typename T >
QString ObjectName (quint32 id) const
 ObjectName get object (point, curve, arc) name. More...
 
- Protected Member Functions inherited from VInteractiveTool
virtual void setDialog ()
 setDialog set dialog when user want change tool option. More...
 
- Protected Member Functions inherited from VAbstractTool
virtual void RefreshDataInFile ()
 RefreshDataInFile refresh attributes in file. If attributes don't exist create them. More...
 
virtual void RemoveReferens ()
 RemoveReferens decrement value of reference. More...
 
virtual void deleteTool (bool ask=true)
 deleteTool full delete object form scene and file. More...
 
template<typename T >
void AddVisualization ()
 
virtual void SetVisualization ()=0
 
virtual void ToolCreation (const Source &typeCreation)
 

Static Protected Member Functions

template<typename T >
static void InitSplineToolConnections (VMainGraphicsScene *scene, T *tool)
 
template<typename T >
static void InitSplinePathToolConnections (VMainGraphicsScene *scene, T *tool)
 
template<typename T >
static void InitArcToolConnections (VMainGraphicsScene *scene, T *tool)
 
template<typename T >
static void InitElArcToolConnections (VMainGraphicsScene *scene, T *tool)
 
- Static Protected Member Functions inherited from VDrawTool
template<typename T >
static void InitDrawToolConnections (VMainGraphicsScene *scene, T *tool)
 
- Static Protected Member Functions inherited from VAbstractTool
static int ConfirmDeletion ()
 
static QDomElement AddSANode (VAbstractPattern *doc, const QString &tagName, const VPieceNode &node)
 
static void AddNode (VAbstractPattern *doc, QDomElement &domElement, const VPieceNode &node)
 
static QVector< VPieceNodePrepareNodes (const VPiecePath &path, VMainGraphicsScene *scene, VAbstractPattern *doc, VContainer *data)
 
static quint32 PrepareNode (const VPieceNode &node, VMainGraphicsScene *scene, VAbstractPattern *doc, VContainer *data)
 

Protected Attributes

QVector< VControlPointSpline * > controlPoints
 controlPoints list pointers of control points. More...
 
SceneObject sceneType
 
bool m_isHovered
 
bool m_piecesMode
 
- Protected Attributes inherited from VDrawTool
QString activeBlockName
 
QString m_lineType
 activeBlockName name of tool's pattern peace. More...
 
QString m_lineWeight
 typeLine line type. More...
 
- Protected Attributes inherited from VInteractiveTool
QSharedPointer< DialogToolm_dialog
 m_dialog tool's dialog options. More...
 
- Protected Attributes inherited from VAbstractTool
VAbstractPatterndoc
 doc dom document container More...
 
const quint32 m_id
 id object id. More...
 
QPointer< Visualizationvis
 
SelectionType selectionType
 
- Protected Attributes inherited from VDataTool
VContainer data
 data container with data More...
 
quint32 _referens
 _referens keep count tools what use this tool. If value more than 1 you can't delete tool. More...
 

Private Member Functions

void InitDefShape ()
 

Additional Inherited Members

- Static Public Member Functions inherited from VAbstractTool
static qreal CheckFormula (const quint32 &toolId, QString &formula, VContainer *data)
 CheckFormula check formula. More...
 
static const QStringList Colors ()
 
static QMap< QString, QString > ColorsList ()
 
static QMap< QString, QString > supportColorsList ()
 
static QMap< QString, QString > backgroundColorsList ()
 
static QPixmap createColorIcon (const int w, const int h, const QString &color)
 
static const QStringList fills ()
 
static void AddRecord (const quint32 id, const Tool &toolType, VAbstractPattern *doc)
 AddRecord add record about tool in history. More...
 
static void AddNodes (VAbstractPattern *doc, QDomElement &domElement, const VPiecePath &path)
 
static void AddNodes (VAbstractPattern *doc, QDomElement &domElement, const VPiece &piece)
 
template<typename T >
static quint32 CreateNode (VContainer *data, quint32 id)
 CreateNode create new node for detail. More...
 
- Static Public Attributes inherited from VAbstractTool
static bool m_suppressContextMenu = false
 
static const QString AttrInUse = QStringLiteral("inUse")
 
- Protected Types inherited from VDrawTool
enum class  RemoveOption : bool { Disable = false , Enable = true }
 
enum class  Referens : bool { Follow = true , Ignore = false }
 
- Protected Slots inherited from VDrawTool
virtual void showContextMenu (QGraphicsSceneContextMenuEvent *event, quint32 id=NULL_ID)=0
 

Detailed Description

Definition at line 80 of file vabstractspline.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Type 

Definition at line 92 of file vabstractspline.h.

Constructor & Destructor Documentation

◆ VAbstractSpline()

VAbstractSpline::VAbstractSpline ( VAbstractPattern doc,
VContainer data,
quint32  id,
QGraphicsItem *  parent = nullptr 
)

Definition at line 80 of file vabstractspline.cpp.

References InitDefShape(), and Unknown.

◆ ~VAbstractSpline()

virtual VAbstractSpline::~VAbstractSpline ( )
virtual

Member Function Documentation

◆ AllowHover

void VAbstractSpline::AllowHover ( bool  enabled)
virtualslot

Definition at line 183 of file vabstractspline.cpp.

◆ AllowSelecting

void VAbstractSpline::AllowSelecting ( bool  enabled)
virtualslot

Definition at line 189 of file vabstractspline.cpp.

◆ contextMenuEvent()

void VAbstractSpline::contextMenuEvent ( QGraphicsSceneContextMenuEvent *  event)
protectedvirtual

◆ CorrectedSpline()

◆ Disable

void VAbstractSpline::Disable ( bool  disable,
const QString &  draftBlockName 
)
virtualslot

Definition at line 167 of file vabstractspline.cpp.

References VDrawTool::CorrectDisable(), and setEnabledPoint().

◆ FullUpdateFromFile

void VAbstractSpline::FullUpdateFromFile ( )
virtualslot

FullUpdateFromFile update tool data form file.

Definition at line 160 of file vabstractspline.cpp.

References VDrawTool::ReadAttributes(), and RefreshGeometry().

◆ getLineColor()

◆ getLineWeight()

◆ GetPenStyle()

◆ getTagName()

QString VAbstractSpline::getTagName ( ) const
virtual

Implements VAbstractTool.

Reimplemented in VToolEllipticalArc, VToolArcWithLength, and VToolArc.

Definition at line 151 of file vabstractspline.cpp.

References VAbstractPattern::TagSpline.

◆ GroupVisibility()

void VAbstractSpline::GroupVisibility ( quint32  object,
bool  visible 
)
virtual

Implements VDataTool.

Definition at line 504 of file vabstractspline.cpp.

◆ hoverEnterEvent()

void VAbstractSpline::hoverEnterEvent ( QGraphicsSceneHoverEvent *  event)
protectedvirtual

hoverEnterEvent handle hover enter events.

Parameters
eventhover enter event.

Reimplemented in VToolSplinePath, and VToolSpline.

Definition at line 237 of file vabstractspline.cpp.

References m_isHovered, and makeToolTip().

Referenced by VToolSpline::hoverEnterEvent(), and VToolSplinePath::hoverEnterEvent().

◆ hoverLeaveEvent()

void VAbstractSpline::hoverLeaveEvent ( QGraphicsSceneHoverEvent *  event)
protectedvirtual

hoverLeaveEvent handle hover leave events.

Parameters
eventhover leave event.

Reimplemented in VToolSplinePath, and VToolSpline.

Definition at line 250 of file vabstractspline.cpp.

References m_isHovered.

Referenced by VToolSpline::hoverLeaveEvent(), and VToolSplinePath::hoverLeaveEvent().

◆ InitArcToolConnections()

template<typename T >
void VAbstractSpline::InitArcToolConnections ( VMainGraphicsScene scene,
T *  tool 
)
staticprotected

◆ InitDefShape()

void VAbstractSpline::InitDefShape ( )
private

◆ InitElArcToolConnections()

template<typename T >
void VAbstractSpline::InitElArcToolConnections ( VMainGraphicsScene scene,
T *  tool 
)
staticprotected

◆ InitSplinePathToolConnections()

template<typename T >
void VAbstractSpline::InitSplinePathToolConnections ( VMainGraphicsScene scene,
T *  tool 
)
staticprotected

◆ InitSplineToolConnections()

template<typename T >
void VAbstractSpline::InitSplineToolConnections ( VMainGraphicsScene scene,
T *  tool 
)
staticprotected

◆ itemChange()

QVariant VAbstractSpline::itemChange ( GraphicsItemChange  change,
const QVariant &  value 
)
protectedvirtual

itemChange hadle item change.

Parameters
changechange.
valuevalue.
Returns
value.

Definition at line 263 of file vabstractspline.cpp.

References VDrawTool::ChangedToolSelection(), and VAbstractTool::m_id.

◆ keyReleaseEvent()

void VAbstractSpline::keyReleaseEvent ( QKeyEvent *  event)
protectedvirtual

keyReleaseEvent handle key release events.

Parameters
eventkey release event.

Definition at line 278 of file vabstractspline.cpp.

References VAbstractTool::deleteTool().

◆ makeToolTip

QString VAbstractSpline::makeToolTip ( ) const
virtualslot

◆ mousePressEvent()

void VAbstractSpline::mousePressEvent ( QGraphicsSceneMouseEvent *  event)
protectedvirtual

Reimplemented in VToolSplinePath, and VToolSpline.

Definition at line 300 of file vabstractspline.cpp.

Referenced by VToolSpline::mousePressEvent(), and VToolSplinePath::mousePressEvent().

◆ mouseReleaseEvent()

void VAbstractSpline::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  event)
protectedvirtual

mouseReleaseEvent handle mouse release events.

Parameters
eventmouse release event.

Reimplemented in VToolSplinePath, and VToolSpline.

Definition at line 319 of file vabstractspline.cpp.

References VAbstractTool::chosenTool(), VAbstractTool::m_id, and sceneType.

Referenced by VToolSpline::mouseReleaseEvent(), and VToolSplinePath::mouseReleaseEvent().

◆ name()

◆ paint()

◆ piecesMode

void VAbstractSpline::piecesMode ( bool  mode)
virtualslot

Definition at line 175 of file vabstractspline.cpp.

References m_piecesMode, RefreshGeometry(), and ShowHandles().

◆ ReadToolAttributes()

void VAbstractSpline::ReadToolAttributes ( const QDomElement &  domElement)
protectedvirtual

Implements VDrawTool.

Definition at line 329 of file vabstractspline.cpp.

◆ refreshCtrlPoints()

void VAbstractSpline::refreshCtrlPoints ( )
protectedvirtual

Reimplemented in VToolSplinePath, and VToolSpline.

Definition at line 346 of file vabstractspline.cpp.

Referenced by paint(), and RefreshGeometry().

◆ RefreshGeometry()

void VAbstractSpline::RefreshGeometry ( )
protectedvirtual

RefreshGeometry refresh item on scene.

Reimplemented in VToolCubicBezierPath, and VToolCubicBezier.

Definition at line 224 of file vabstractspline.cpp.

References InitDefShape(), refreshCtrlPoints(), and VAbstractTool::SetVisualization().

Referenced by FullUpdateFromFile(), and piecesMode().

◆ SaveOptions()

◆ setEnabledPoint

void VAbstractSpline::setEnabledPoint ( bool  enable)
signal

setEnabledPoint disable control points.

Parameters
enableenable or diasable points.

Referenced by Disable(), VToolSpline::VToolSpline(), and VToolSplinePath::VToolSplinePath().

◆ setLineColor()

◆ setLineWeight()

◆ SetPenStyle()

◆ shape()

◆ ShowHandles()

void VAbstractSpline::ShowHandles ( bool  show)

◆ ShowTool()

void VAbstractSpline::ShowTool ( quint32  id,
bool  enable 
)
protectedvirtual

ShowTool highlight tool.

Parameters
idobject id in container
enableenable or disable highlight.

Reimplemented from VDrawTool.

Definition at line 218 of file vabstractspline.cpp.

References VDrawTool::ShowItem().

◆ ShowToolVisualization()

template<typename T >
void VAbstractSpline::ShowToolVisualization ( bool  show)
inlineprotected

◆ type()

virtual int VAbstractSpline::type ( ) const
inlinevirtual

Member Data Documentation

◆ controlPoints

◆ m_isHovered

bool VAbstractSpline::m_isHovered
protected

Definition at line 132 of file vabstractspline.h.

Referenced by hoverEnterEvent(), hoverLeaveEvent(), paint(), and shape().

◆ m_piecesMode

bool VAbstractSpline::m_piecesMode
protected

◆ sceneType


The documentation for this class was generated from the following files: