QElectroTech
0.70
|
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... | |
![]() | |
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 |
Element * | m_element |
QString | m_integrate_path |
Additional Inherited Members | |
![]() | |
void | finish () |
![]() | |
Diagram * | m_diagram |
bool | m_running |
bool | m_abort |
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.
DiagramEventAddElement::DiagramEventAddElement | ( | ElementsLocation & | location, |
Diagram * | diagram, | ||
QPointF | pos = QPointF(0,0) |
||
) |
DiagramEventAddElement::DiagramEventAddElement Defaut constructor.
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.
|
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.
|
private |
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.
Definition at line 197 of file diagrameventaddelement.cpp.
References QET::Icons::Conductor, Diagram::freezeNewConductors(), ElementFactory::Instance(), QETProject::isFreezeNewConductors(), Element::m_converted_text_from_xml_description, DiagramEventInterface::m_diagram, Element::m_dynamic_text_list, m_element, m_integrate_path, m_location, Element::name(), Diagram::project(), and QET::Icons::tr.
Referenced by mouseReleaseEvent().
|
private |
DiagramEventAddElement::buildElement Build the element, if the element is build successfully, we return true, otherwise false.
Definition at line 169 of file diagrameventaddelement.cpp.
References ElementsLocation::exist(), QETProject::importElement(), ElementFactory::Instance(), DiagramEventInterface::m_diagram, m_element, m_integrate_path, m_location, Diagram::project(), and ElementsLocation::projectCollectionPath().
Referenced by DiagramEventAddElement().
|
overridevirtual |
DiagramEventAddElement::init Init this event.
Reimplemented from DiagramEventInterface.
Definition at line 159 of file diagrameventaddelement.cpp.
References DiagramEventInterface::m_diagram.
Referenced by DiagramEventAddElement().
|
overridevirtual |
DiagramEventAddElement::keyPressEvent Press space key rotate the element to 90° (return true) else call DiagramEventInterface::keyPressEvent(event), and return the value.
event |
Reimplemented from DiagramEventInterface.
Definition at line 143 of file diagrameventaddelement.cpp.
References DiagramEventInterface::keyPressEvent(), and m_element.
|
overridevirtual |
DiagramEventAddElement::mouseDoubleClickEvent If mouse left double clic, finish this event (isRunning = false) and emit finish the event is always accepted.
event |
Reimplemented from DiagramEventInterface.
Definition at line 124 of file diagrameventaddelement.cpp.
References DiagramEventInterface::finish(), m_element, and DiagramEventInterface::m_running.
|
overridevirtual |
DiagramEventAddElement::mouseMoveEvent Move the element to new pos of mouse the event is always accepted.
event |
Reimplemented from DiagramEventInterface.
Definition at line 73 of file diagrameventaddelement.cpp.
References m_element, QetGraphicsItem::setPos(), and Diagram::snapToGrid().
|
overridevirtual |
DiagramEventAddElement::mousePressEvent Do nothing, but return true for not transit the event to other thing in diagram. the event is always accepted.
event |
Reimplemented from DiagramEventInterface.
Definition at line 87 of file diagrameventaddelement.cpp.
|
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.
event |
Reimplemented from DiagramEventInterface.
Definition at line 98 of file diagrameventaddelement.cpp.
References addElement(), DiagramEventInterface::finish(), m_element, and DiagramEventInterface::m_running.
|
private |
Definition at line 52 of file diagrameventaddelement.h.
Referenced by addElement(), buildElement(), DiagramEventAddElement(), keyPressEvent(), mouseDoubleClickEvent(), mouseMoveEvent(), mouseReleaseEvent(), and ~DiagramEventAddElement().
|
private |
Definition at line 53 of file diagrameventaddelement.h.
Referenced by addElement(), and buildElement().
|
private |
Definition at line 51 of file diagrameventaddelement.h.
Referenced by addElement(), and buildElement().