QElectroTech  0.70
Public Member Functions | Private Member Functions | Private Attributes | List of all members
DiagramEventAddElement Class Reference

The DiagramEventAddElement class This diagram event add a new element, for each left click button at the position of click. Space key rotate current element by 90°, right click button finish this event. More...

#include <diagrameventaddelement.h>

Public Member Functions

 DiagramEventAddElement (ElementsLocation &location, Diagram *diagram, QPointF pos=QPointF(0, 0))
 DiagramEventAddElement::DiagramEventAddElement Defaut constructor. More...
 
 ~DiagramEventAddElement () override
 DiagramEventAddElement::~DiagramEventAddElement Destructor Enable context menu for each view of diagram. More...
 
void mouseMoveEvent (QGraphicsSceneMouseEvent *event) override
 DiagramEventAddElement::mouseMoveEvent Move the element to new pos of mouse the event is always accepted. More...
 
void mousePressEvent (QGraphicsSceneMouseEvent *event) override
 DiagramEventAddElement::mousePressEvent Do nothing, but return true for not transit the event to other thing in diagram. the event is always accepted. More...
 
void mouseReleaseEvent (QGraphicsSceneMouseEvent *event) override
 DiagramEventAddElement::mouseReleaseEvent Right button finish this event (isRunning = false) and emit finish. Left button add an element to diagram the event is always accepted. More...
 
void mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) override
 DiagramEventAddElement::mouseDoubleClickEvent If mouse left double clic, finish this event (isRunning = false) and emit finish the event is always accepted. More...
 
void keyPressEvent (QKeyEvent *event) override
 DiagramEventAddElement::keyPressEvent Press space key rotate the element to 90° (return true) else call DiagramEventInterface::keyPressEvent(event), and return the value. More...
 
void init () override
 DiagramEventAddElement::init Init this event. More...
 
- Public Member Functions inherited from DiagramEventInterface
 DiagramEventInterface (Diagram *diagram)
 
 ~DiagramEventInterface () override=0
 
virtual void wheelEvent (QGraphicsSceneWheelEvent *event)
 
virtual void keyReleaseEvent (QKeyEvent *event)
 
virtual bool isRunning () const
 

Private Member Functions

bool buildElement ()
 DiagramEventAddElement::buildElement Build the element, if the element is build successfully, we return true, otherwise false. More...
 
void addElement ()
 DiagramEventAddElement::addElement Add an element at the current pos en current rotation, if project autoconductor option is enable, and the element can be wired, we do it. More...
 

Private Attributes

ElementsLocation m_location
 
Elementm_element
 
QString m_integrate_path
 

Additional Inherited Members

- Signals inherited from DiagramEventInterface
void finish ()
 
- Protected Attributes inherited from DiagramEventInterface
Diagramm_diagram
 
bool m_running
 
bool m_abort
 

Detailed Description

The DiagramEventAddElement class This diagram event add a new element, for each left click button at the position of click. Space key rotate current element by 90°, right click button finish this event.

Definition at line 31 of file diagrameventaddelement.h.

Constructor & Destructor Documentation

◆ DiagramEventAddElement()

DiagramEventAddElement::DiagramEventAddElement ( ElementsLocation location,
Diagram diagram,
QPointF  pos = QPointF(0,0) 
)

DiagramEventAddElement::DiagramEventAddElement Defaut constructor.

Parameters
location:location of diagram
diagram: diagram owner of this event
pos: first pos of item ( optional, by defaut QPointF(0,0) )

Definition at line 33 of file diagrameventaddelement.cpp.

References buildElement(), ElementsLocation::exist(), init(), ElementsLocation::isElement(), DiagramEventInterface::m_diagram, m_element, and DiagramEventInterface::m_running.

◆ ~DiagramEventAddElement()

DiagramEventAddElement::~DiagramEventAddElement ( )
override

DiagramEventAddElement::~DiagramEventAddElement Destructor Enable context menu for each view of diagram.

Definition at line 60 of file diagrameventaddelement.cpp.

References DiagramEventInterface::m_diagram, and m_element.

Member Function Documentation

◆ addElement()

void DiagramEventAddElement::addElement ( )
private

◆ buildElement()

bool DiagramEventAddElement::buildElement ( )
private

◆ init()

void DiagramEventAddElement::init ( )
overridevirtual

DiagramEventAddElement::init Init this event.

Reimplemented from DiagramEventInterface.

Definition at line 159 of file diagrameventaddelement.cpp.

References DiagramEventInterface::m_diagram.

Referenced by DiagramEventAddElement().

◆ keyPressEvent()

void DiagramEventAddElement::keyPressEvent ( QKeyEvent *  event)
overridevirtual

DiagramEventAddElement::keyPressEvent Press space key rotate the element to 90° (return true) else call DiagramEventInterface::keyPressEvent(event), and return the value.

Parameters
event

Reimplemented from DiagramEventInterface.

Definition at line 143 of file diagrameventaddelement.cpp.

References DiagramEventInterface::keyPressEvent(), and m_element.

◆ mouseDoubleClickEvent()

void DiagramEventAddElement::mouseDoubleClickEvent ( QGraphicsSceneMouseEvent *  event)
overridevirtual

DiagramEventAddElement::mouseDoubleClickEvent If mouse left double clic, finish this event (isRunning = false) and emit finish the event is always accepted.

Parameters
event

Reimplemented from DiagramEventInterface.

Definition at line 124 of file diagrameventaddelement.cpp.

References DiagramEventInterface::finish(), m_element, and DiagramEventInterface::m_running.

◆ mouseMoveEvent()

void DiagramEventAddElement::mouseMoveEvent ( QGraphicsSceneMouseEvent *  event)
overridevirtual

DiagramEventAddElement::mouseMoveEvent Move the element to new pos of mouse the event is always accepted.

Parameters
event

Reimplemented from DiagramEventInterface.

Definition at line 73 of file diagrameventaddelement.cpp.

References m_element, QetGraphicsItem::setPos(), and Diagram::snapToGrid().

◆ mousePressEvent()

void DiagramEventAddElement::mousePressEvent ( QGraphicsSceneMouseEvent *  event)
overridevirtual

DiagramEventAddElement::mousePressEvent Do nothing, but return true for not transit the event to other thing in diagram. the event is always accepted.

Parameters
event

Reimplemented from DiagramEventInterface.

Definition at line 87 of file diagrameventaddelement.cpp.

◆ mouseReleaseEvent()

void DiagramEventAddElement::mouseReleaseEvent ( QGraphicsSceneMouseEvent *  event)
overridevirtual

DiagramEventAddElement::mouseReleaseEvent Right button finish this event (isRunning = false) and emit finish. Left button add an element to diagram the event is always accepted.

Parameters
event

Reimplemented from DiagramEventInterface.

Definition at line 98 of file diagrameventaddelement.cpp.

References addElement(), DiagramEventInterface::finish(), m_element, and DiagramEventInterface::m_running.

Member Data Documentation

◆ m_element

Element* DiagramEventAddElement::m_element
private

◆ m_integrate_path

QString DiagramEventAddElement::m_integrate_path
private

Definition at line 53 of file diagrameventaddelement.h.

Referenced by addElement(), and buildElement().

◆ m_location

ElementsLocation DiagramEventAddElement::m_location
private

Definition at line 51 of file diagrameventaddelement.h.

Referenced by addElement(), and buildElement().


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