Seamly2D
Code documentation
VToolBasePoint Class Reference

The VToolBasePoint class tool for creation pattern base point. Only base point can move. All object pattern peace depend on base point. More...

#include <vtoolbasepoint.h>

Inheritance diagram for VToolBasePoint:
Collaboration diagram for VToolBasePoint:

Public Types

enum  { Type = UserType + static_cast<int>(Tool::BasePoint) }
 
- Public Types inherited from VToolSinglePoint
enum  { Type = UserType + static_cast<int>(Tool::SinglePoint) }
 
- Public Types inherited from VScenePoint
enum  { Type = UserType + static_cast<int>(Vis::ScenePoint) }
 

Public Slots

virtual void FullUpdateFromFile () Q_DECL_OVERRIDE
 FullUpdateFromFile update tool data form file. More...
 
virtual void EnableToolMove (bool move) Q_DECL_OVERRIDE
 
- Public Slots inherited from VToolSinglePoint
void pointnameChangedPosition (const QPointF &pos)
 pointnameChangedPosition handle change position point text. More...
 
virtual void Disable (bool disable, const QString &draftBlockName) Q_DECL_OVERRIDE
 
virtual void EnableToolMove (bool move) Q_DECL_OVERRIDE
 
void pointChosen ()
 
void pointSelected (bool selected)
 
virtual void FullUpdateFromFile () Q_DECL_OVERRIDE
 FullUpdateFromFile update tool data form file. More...
 
virtual void AllowHover (bool enabled) Q_DECL_OVERRIDE
 
virtual void AllowSelecting (bool enabled) Q_DECL_OVERRIDE
 
void allowTextHover (bool enabled)
 
void allowTextSelectable (bool enabled)
 
virtual void ToolSelectionType (const SelectionType &type) Q_DECL_OVERRIDE
 
- Public Slots inherited from VAbstractPoint
virtual void ShowTool (quint32 id, bool enable) Q_DECL_OVERRIDE
 ShowTool highlight tool. More...
 
void deletePoint ()
 
- Public Slots inherited from VDrawTool
virtual void ShowTool (quint32 id, bool enable)
 ShowTool highlight tool. More...
 
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 LiteUpdateTree ()
 FullUpdateTree handle if need update pattern file. 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

virtual ~VToolBasePoint ()=default
 
virtual void setDialog () Q_DECL_OVERRIDE
 setDialog set dialog when user want change tool option. More...
 
virtual int type () const Q_DECL_OVERRIDE
 
virtual void ShowVisualization (bool show) Q_DECL_OVERRIDE
 
virtual void decrementReferens () Q_DECL_OVERRIDE
 decrementReferens decrement referens parents objects. More...
 
QPointF GetBasePointPos () const
 
void SetBasePointPos (const QPointF &pos)
 
- Public Member Functions inherited from VToolSinglePoint
 VToolSinglePoint (VAbstractPattern *doc, VContainer *data, quint32 id, const QColor &lineColor, QGraphicsItem *parent=nullptr)
 VToolSinglePoint constructor. More...
 
virtual ~VToolSinglePoint () Q_DECL_EQ_DEFAULT
 
QString name () const
 
void setName (const QString &name)
 
void SetEnabled (bool enabled)
 
virtual void GroupVisibility (quint32 object, bool visible) Q_DECL_OVERRIDE
 
virtual bool isPointNameVisible (quint32 id) const Q_DECL_OVERRIDE
 
virtual void setPointNameVisiblity (quint32 id, bool visible) Q_DECL_OVERRIDE
 
virtual void setPointNamePosition (quint32 id, const QPointF &pos) Q_DECL_OVERRIDE
 
- Public Member Functions inherited from VAbstractPoint
 VAbstractPoint (VAbstractPattern *doc, VContainer *data, quint32 id)
 
virtual ~VAbstractPoint () Q_DECL_EQ_DEFAULT
 
virtual QString getTagName () const Q_DECL_OVERRIDE
 
template<typename T >
void ShowToolVisualization (bool show)
 
- 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 void setLineWeight (const QString &value)
 
- 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
 
- 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...
 
- Public Member Functions inherited from VScenePoint
 VScenePoint (const QColor &lineColor, QGraphicsItem *parent=nullptr)
 
virtual ~VScenePoint ()=default
 
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget=nullptr) Q_DECL_OVERRIDE
 
virtual void refreshPointGeometry (const VPointF &point)
 
void refreshLeader ()
 

Static Public Member Functions

static VToolBasePointCreate (quint32 _id, const QString &activeDraftBlock, VPointF *point, VMainGraphicsScene *scene, VAbstractPattern *doc, VContainer *data, const Document &parse, const Source &typeCreation)
 
- 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

static const QString ToolType = QStringLiteral("single")
 
- Static Public Attributes inherited from VAbstractTool
static bool m_suppressContextMenu = false
 
static const QString AttrInUse = QStringLiteral("inUse")
 

Protected Slots

virtual void showContextMenu (QGraphicsSceneContextMenuEvent *event, quint32 id=NULL_ID) Q_DECL_OVERRIDE
 showContextMenu handle context menu events. More...
 
- Protected Slots inherited from VDrawTool
virtual void showContextMenu (QGraphicsSceneContextMenuEvent *event, quint32 id=NULL_ID)=0
 

Protected Member Functions

virtual void AddToFile () Q_DECL_OVERRIDE
 AddToFile add tag with Information about tool into file. More...
 
virtual QVariant itemChange (GraphicsItemChange change, const QVariant &value) Q_DECL_OVERRIDE
 itemChange handle tool change. More...
 
virtual void deleteTool (bool ask=true) Q_DECL_OVERRIDE
 deleteTool full delete object form scene and file. More...
 
virtual void SaveDialog (QDomElement &domElement) Q_DECL_OVERRIDE
 SaveDialog save options into file after change in dialog. More...
 
virtual void hoverEnterEvent (QGraphicsSceneHoverEvent *event) Q_DECL_OVERRIDE
 
virtual void hoverLeaveEvent (QGraphicsSceneHoverEvent *event) Q_DECL_OVERRIDE
 
virtual void mousePressEvent (QGraphicsSceneMouseEvent *event) Q_DECL_OVERRIDE
 
virtual void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) Q_DECL_OVERRIDE
 mouseReleaseEvent handle mouse release events. More...
 
virtual void SaveOptions (QDomElement &tag, QSharedPointer< VGObject > &obj) Q_DECL_OVERRIDE
 
virtual void ReadToolAttributes (const QDomElement &domElement) Q_DECL_OVERRIDE
 
virtual void SetVisualization () Q_DECL_OVERRIDE
 
virtual QString makeToolTip () const Q_DECL_OVERRIDE
 
- Protected Member Functions inherited from VToolSinglePoint
virtual void updatePointNameVisibility (quint32 id, bool visible) Q_DECL_OVERRIDE
 
virtual void updatePointNamePosition (quint32 id, const QPointF &pos) Q_DECL_OVERRIDE
 updatePointNamePosition save new position text to the pattern file. More...
 
virtual void keyReleaseEvent (QKeyEvent *event) Q_DECL_OVERRIDE
 keyReleaseEvent handle key release events. More...
 
virtual void contextMenuEvent (QGraphicsSceneContextMenuEvent *event) Q_DECL_OVERRIDE
 
- Protected Member Functions inherited from VAbstractPoint
void SetPointName (quint32 id, const QString &name)
 
- 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 SaveDialogChange () Q_DECL_FINAL
 
void SaveOption (QSharedPointer< VGObject > &obj)
 
bool CorrectDisable (bool disable, const QString &draftBlockName) const
 
void ReadAttributes ()
 
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 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...
 
template<typename T >
void AddVisualization ()
 
virtual void ToolCreation (const Source &typeCreation)
 
- Protected Member Functions inherited from VScenePoint
void setOnlyPoint (bool value)
 
bool isOnlyPoint () const
 
void setPointColor (const QString &value)
 

Private Member Functions

 VToolBasePoint (VAbstractPattern *doc, VContainer *data, quint32 id, const Source &typeCreation, const QString &draftBlockName, QGraphicsItem *parent=nullptr)
 VToolBasePoint constructor. More...
 

Private Attributes

QString draftBlockName
 

Additional Inherited Members

- Protected Types inherited from VDrawTool
enum class  RemoveOption : bool { Disable = false , Enable = true }
 
enum class  Referens : bool { Follow = true , Ignore = false }
 
- Static Protected Member Functions inherited from VAbstractPoint
template<typename T >
static void InitToolConnections (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 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...
 
- Protected Attributes inherited from VScenePoint
VGraphicsSimpleTextItemm_pointName
 
VScaledLinem_pointLeader
 namePoint point text. More...
 
QColor m_pointColor
 pointL line that we see if Text is moved too away from point. More...
 
bool m_onlyPoint
 m_pointColor color of point. More...
 
bool m_isHovered
 
bool m_showPointName
 

Detailed Description

The VToolBasePoint class tool for creation pattern base point. Only base point can move. All object pattern peace depend on base point.

Definition at line 75 of file vtoolbasepoint.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Type 

Definition at line 88 of file vtoolbasepoint.h.

Constructor & Destructor Documentation

◆ ~VToolBasePoint()

virtual VToolBasePoint::~VToolBasePoint ( )
virtualdefault

◆ VToolBasePoint()

VToolBasePoint::VToolBasePoint ( VAbstractPattern doc,
VContainer data,
quint32  id,
const Source typeCreation,
const QString &  draftBlockName,
QGraphicsItem *  parent = nullptr 
)
private

VToolBasePoint constructor.

Parameters
docdom document container.
datacontainer with variables.
idobject id in container.
typeCreationway we create this tool.
parentparent object.

Definition at line 106 of file vtoolbasepoint.cpp.

References VAbstractTool::ToolCreation().

Referenced by Create().

Member Function Documentation

◆ AddToFile()

◆ Create()

◆ decrementReferens()

void VToolBasePoint::decrementReferens ( )
virtual

decrementReferens decrement referens parents objects.

Reimplemented from VDataTool.

Definition at line 260 of file vtoolbasepoint.cpp.

References VDataTool::_referens.

◆ deleteTool()

void VToolBasePoint::deleteTool ( bool  ask = true)
protectedvirtual

deleteTool full delete object form scene and file.

Reimplemented from VAbstractTool.

Definition at line 289 of file vtoolbasepoint.cpp.

References VDrawTool::activeBlockName, VAbstractTool::ConfirmDeletion(), DeleteDraftBlock, VAbstractTool::doc, VAbstractPattern::NeedFullParsing(), VUndoCommand::NeedFullParsing(), and qApp.

◆ EnableToolMove

void VToolBasePoint::EnableToolMove ( bool  move)
virtualslot

Definition at line 455 of file vtoolbasepoint.cpp.

References VToolSinglePoint::EnableToolMove().

◆ FullUpdateFromFile

void VToolBasePoint::FullUpdateFromFile ( )
virtualslot

FullUpdateFromFile update tool data form file.

Definition at line 449 of file vtoolbasepoint.cpp.

References VDataTool::data, VAbstractTool::m_id, and VScenePoint::refreshPointGeometry().

◆ GetBasePointPos()

◆ hoverEnterEvent()

void VToolBasePoint::hoverEnterEvent ( QGraphicsSceneHoverEvent *  event)
protectedvirtual

◆ hoverLeaveEvent()

void VToolBasePoint::hoverLeaveEvent ( QGraphicsSceneHoverEvent *  event)
protectedvirtual

Reimplemented from VScenePoint.

Definition at line 341 of file vtoolbasepoint.cpp.

References VScenePoint::hoverLeaveEvent().

◆ itemChange()

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

◆ LiteUpdateTree

void VToolBasePoint::LiteUpdateTree ( )
signal

FullUpdateTree handle if need update pattern file.

◆ makeToolTip()

QString VToolBasePoint::makeToolTip ( ) const
protectedvirtual

Reimplemented from VDrawTool.

Definition at line 398 of file vtoolbasepoint.cpp.

References VDataTool::data, VContainer::GeometricObject(), and VAbstractTool::m_id.

◆ mousePressEvent()

void VToolBasePoint::mousePressEvent ( QGraphicsSceneMouseEvent *  event)
protectedvirtual

◆ mouseReleaseEvent()

void VToolBasePoint::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  event)
protectedvirtual

mouseReleaseEvent handle mouse release events.

Parameters
eventmouse release event.

Reimplemented from VToolSinglePoint.

Definition at line 365 of file vtoolbasepoint.cpp.

References cursorArrowOpenHand, VToolSinglePoint::mouseReleaseEvent(), and SetItemOverrideCursor().

◆ ReadToolAttributes()

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

Implements VDrawTool.

Definition at line 391 of file vtoolbasepoint.cpp.

◆ SaveDialog()

void VToolBasePoint::SaveDialog ( QDomElement &  domElement)
protectedvirtual

SaveDialog save options into file after change in dialog.

Implements VDrawTool.

Definition at line 317 of file vtoolbasepoint.cpp.

References AttrName, AttrX, AttrY, VAbstractTool::doc, VInteractiveTool::m_dialog, VToolSinglePoint::name(), qApp, SCASSERT, and VDomDocument::SetAttribute().

◆ SaveOptions()

void VToolBasePoint::SaveOptions ( QDomElement &  tag,
QSharedPointer< VGObject > &  obj 
)
protectedvirtual

◆ SetBasePointPos()

void VToolBasePoint::SetBasePointPos ( const QPointF &  pos)

◆ setDialog()

void VToolBasePoint::setDialog ( )
virtual

setDialog set dialog when user want change tool option.

Reimplemented from VInteractiveTool.

Definition at line 121 of file vtoolbasepoint.cpp.

References VDataTool::data, VContainer::GeometricObject(), VInteractiveTool::m_dialog, VAbstractTool::m_id, and SCASSERT.

◆ SetVisualization()

virtual void VToolBasePoint::SetVisualization ( )
inlineprotectedvirtual

Implements VAbstractTool.

Definition at line 120 of file vtoolbasepoint.h.

◆ showContextMenu

void VToolBasePoint::showContextMenu ( QGraphicsSceneContextMenuEvent *  event,
quint32  id = NULL_ID 
)
protectedvirtualslot

showContextMenu handle context menu events.

Parameters
eventcontext menu event.

Definition at line 415 of file vtoolbasepoint.cpp.

References VDrawTool::Disable, VAbstractTool::doc, VAbstractPattern::draftBlockCount(), VDrawTool::Enable, and VDrawTool::Ignore.

◆ ShowVisualization()

void VToolBasePoint::ShowVisualization ( bool  show)
virtual

◆ type()

virtual int VToolBasePoint::type ( ) const
inlinevirtual

Reimplemented from VToolSinglePoint.

Definition at line 87 of file vtoolbasepoint.h.

References Type.

Member Data Documentation

◆ draftBlockName

QString VToolBasePoint::draftBlockName
private

Definition at line 126 of file vtoolbasepoint.h.

Referenced by AddToFile().

◆ ToolType

const QString VToolBasePoint::ToolType = QStringLiteral("single")
static

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