simplify some code

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5299 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2018-04-05 09:37:35 +00:00
parent 9c96f2b6d7
commit 22f95c22f0
6 changed files with 26 additions and 83 deletions

View File

@@ -24,14 +24,12 @@
#include "diagramcommands.h" #include "diagramcommands.h"
#include "diagramcontent.h" #include "diagramcontent.h"
#include "diagramposition.h" #include "diagramposition.h"
#include "elementsmover.h"
#include "exportdialog.h" #include "exportdialog.h"
#include "qetgraphicsitem/ghostelement.h" #include "qetgraphicsitem/ghostelement.h"
#include "qetgraphicsitem/independenttextitem.h" #include "qetgraphicsitem/independenttextitem.h"
#include "qetgraphicsitem/diagramimageitem.h" #include "qetgraphicsitem/diagramimageitem.h"
#include "qetgraphicsitem/qetshapeitem.h" #include "qetgraphicsitem/qetshapeitem.h"
#include "terminal.h" #include "terminal.h"
#include "elementtextsmover.h"
#include "diagrameventinterface.h" #include "diagrameventinterface.h"
#include "qetapp.h" #include "qetapp.h"
#include "elementcollectionhandler.h" #include "elementcollectionhandler.h"
@@ -81,10 +79,6 @@ Diagram::Diagram(QETProject *project) :
QPen pen(Qt::NoBrush, 1.5, Qt::DashLine); QPen pen(Qt::NoBrush, 1.5, Qt::DashLine);
pen.setColor(Qt::black); pen.setColor(Qt::black);
conductor_setter_ -> setPen(pen); conductor_setter_ -> setPen(pen);
//Init object for manage movement
elements_mover_ = new ElementsMover();
m_element_texts_mover = new ElementTextsMover();
connect(&border_and_titleblock, SIGNAL(needTitleBlockTemplate(const QString &)), this, SLOT(setTitleBlockTemplate(const QString &))); connect(&border_and_titleblock, SIGNAL(needTitleBlockTemplate(const QString &)), this, SLOT(setTitleBlockTemplate(const QString &)));
connect(&border_and_titleblock, SIGNAL(diagramTitleChanged(const QString &)), this, SLOT(titleChanged(const QString &))); connect(&border_and_titleblock, SIGNAL(diagramTitleChanged(const QString &)), this, SLOT(titleChanged(const QString &)));
@@ -110,10 +104,6 @@ Diagram::~Diagram()
delete qgi_manager_; delete qgi_manager_;
// remove of conductor setter // remove of conductor setter
delete conductor_setter_; delete conductor_setter_;
// delete of object for manage movement
delete elements_mover_;
delete m_element_texts_mover;
if (m_event_interface) if (m_event_interface)
delete m_event_interface; delete m_event_interface;
@@ -345,8 +335,8 @@ void Diagram::keyPressEvent(QKeyEvent *event)
if (!movement.isNull() && !focusItem()) if (!movement.isNull() && !focusItem())
{ {
beginMoveElements(); m_elements_mover.beginMovement(this);
continueMoveElements(movement); m_elements_mover.continueMovement(movement);
event->accept(); event->accept();
return; return;
} }
@@ -402,7 +392,7 @@ void Diagram::keyReleaseEvent(QKeyEvent *e)
e -> key() == Qt::Key_Up || e -> key() == Qt::Key_Down) && e -> key() == Qt::Key_Up || e -> key() == Qt::Key_Down) &&
!e -> isAutoRepeat() !e -> isAutoRepeat()
) { ) {
endMoveElements(); m_elements_mover.endMovement();
e -> accept(); e -> accept();
transmit_event = false; transmit_event = false;
} }
@@ -1438,56 +1428,12 @@ QList <Conductor *> Diagram::conductors() const {
return (cnd_list); return (cnd_list);
} }
/** ElementsMover &Diagram::elementsMover() {
Initialise un deplacement d'elements, conducteurs et champs de texte sur le return m_elements_mover;
schema.
@param driver_item Item deplace par la souris et ne necessitant donc pas
d'etre deplace lors des appels a continueMovement.
@see ElementsMover
*/
int Diagram::beginMoveElements(QGraphicsItem *driver_item) {
return(elements_mover_ -> beginMovement(this, driver_item));
} }
/** ElementTextsMover &Diagram::elementTextsMover() {
Prend en compte un mouvement composant un deplacement d'elements, return m_element_texts_mover;
conducteurs et champs de texte
@param movement mouvement a ajouter au deplacement en cours
@see ElementsMover
*/
void Diagram::continueMoveElements(const QPointF &movement) {
elements_mover_ -> continueMovement(movement);
}
/**
Finalise un deplacement d'elements, conducteurs et champs de texte
@see ElementsMover
*/
void Diagram::endMoveElements() {
elements_mover_ -> endMovement();
}
/**
Initialise un deplacement d'ElementTextItems
@param driver_item Item deplace par la souris et ne necessitant donc pas
d'etre deplace lors des appels a continueMovement.
@see ElementTextsMover
*/
int Diagram::beginMoveElementTexts(QGraphicsItem *driver_item) {
return(m_element_texts_mover -> beginMovement(this, driver_item));
}
void Diagram::continueMoveElementTexts(QGraphicsSceneMouseEvent *event)
{
m_element_texts_mover->continueMovement(event);
}
/**
Finalise un deplacement d'ElementTextItems
@see ElementTextsMover
*/
void Diagram::endMoveElementTexts() {
m_element_texts_mover -> endMovement();
} }
/** /**

View File

@@ -27,6 +27,8 @@
#include "numerotationcontext.h" #include "numerotationcontext.h"
#include "qetproject.h" #include "qetproject.h"
#include "properties/xrefproperties.h" #include "properties/xrefproperties.h"
#include "elementsmover.h"
#include "elementtextsmover.h"
class Conductor; class Conductor;
class CustomElement; class CustomElement;
@@ -35,11 +37,9 @@ class DiagramPosition;
class DiagramTextItem; class DiagramTextItem;
class Element; class Element;
class ElementsLocation; class ElementsLocation;
class ElementsMover;
class QETProject; class QETProject;
class Terminal; class Terminal;
class DiagramImageItem; class DiagramImageItem;
class ElementTextsMover;
class DiagramEventInterface; class DiagramEventInterface;
/** /**
@@ -92,8 +92,8 @@ class Diagram : public QGraphicsScene
private: private:
QGraphicsLineItem *conductor_setter_; QGraphicsLineItem *conductor_setter_;
ElementsMover *elements_mover_; ElementsMover m_elements_mover;
ElementTextsMover *m_element_texts_mover; ElementTextsMover m_element_texts_mover;
QGIManager *qgi_manager_; QGIManager *qgi_manager_;
QETProject *m_project; QETProject *m_project;
@@ -190,12 +190,8 @@ class Diagram : public QGraphicsScene
QSet<Conductor *> selectedConductors() const; QSet<Conductor *> selectedConductors() const;
DiagramContent content() const; DiagramContent content() const;
bool canRotateSelection() const; bool canRotateSelection() const;
int beginMoveElements(QGraphicsItem * = nullptr); ElementsMover &elementsMover();
void continueMoveElements(const QPointF &); ElementTextsMover &elementTextsMover();
void endMoveElements();
int beginMoveElementTexts(QGraphicsItem * = nullptr);
void continueMoveElementTexts(QGraphicsSceneMouseEvent *event);
void endMoveElementTexts();
bool usesElement(const ElementsLocation &); bool usesElement(const ElementsLocation &);
bool usesTitleBlockTemplate(const QString &); bool usesTitleBlockTemplate(const QString &);

View File

@@ -286,7 +286,7 @@ void DiagramTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
//This is first move, we signal it to parent diagram //This is first move, we signal it to parent diagram
if(diagram_ && m_first_move) if(diagram_ && m_first_move)
diagram_ -> beginMoveElements(this); diagram_->elementsMover().beginMovement(diagram_, this);
QPointF old_pos = pos(); QPointF old_pos = pos();
@@ -297,7 +297,7 @@ void DiagramTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
//Update the actual movement for other selected item //Update the actual movement for other selected item
if (diagram_) if (diagram_)
diagram_ -> continueMoveElements(pos() - old_pos); diagram_->elementsMover().continueMovement(pos() - old_pos);
} }
else event -> ignore(); else event -> ignore();
@@ -312,7 +312,7 @@ void DiagramTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
void DiagramTextItem::mouseReleaseEvent (QGraphicsSceneMouseEvent *event) { void DiagramTextItem::mouseReleaseEvent (QGraphicsSceneMouseEvent *event) {
//Signal to diagram movement is finish //Signal to diagram movement is finish
if (diagram()) if (diagram())
diagram() -> endMoveElements(); diagram()->elementsMover().endMovement();
if (!(event -> modifiers() & Qt::ControlModifier)) if (!(event -> modifiers() & Qt::ControlModifier))
QGraphicsTextItem::mouseReleaseEvent(event); QGraphicsTextItem::mouseReleaseEvent(event);

View File

@@ -506,7 +506,7 @@ void DynamicElementTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
if((event->buttons() & Qt::LeftButton) && (flags() & ItemIsMovable)) if((event->buttons() & Qt::LeftButton) && (flags() & ItemIsMovable))
{ {
if(diagram() && m_first_move) if(diagram() && m_first_move)
diagram()->beginMoveElementTexts(this); diagram()->elementTextsMover().beginMovement(diagram(), this);
if(m_first_move) if(m_first_move)
{ {
@@ -524,7 +524,7 @@ void DynamicElementTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
event->modifiers() == Qt::ControlModifier ? setPos(new_pos) : setPos(Diagram::snapToGrid(new_pos)); event->modifiers() == Qt::ControlModifier ? setPos(new_pos) : setPos(Diagram::snapToGrid(new_pos));
if(diagram()) if(diagram())
diagram()->continueMoveElementTexts(event); diagram()->elementTextsMover().continueMovement(event);
} else { } else {
event->ignore(); event->ignore();
} }
@@ -543,7 +543,7 @@ void DynamicElementTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
m_parent_element->setHighlighted(false); m_parent_element->setHighlighted(false);
if(m_parent_element && m_parent_element->diagram()) if(m_parent_element && m_parent_element->diagram())
m_parent_element->diagram()->endMoveElementTexts(); m_parent_element.data()->diagram()->elementTextsMover().endMovement();
if(!(event->modifiers() & Qt::ControlModifier)) if(!(event->modifiers() & Qt::ControlModifier))
QGraphicsTextItem::mouseReleaseEvent(event); QGraphicsTextItem::mouseReleaseEvent(event);

View File

@@ -490,7 +490,7 @@ void ElementTextItemGroup::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
if((event->buttons() & Qt::LeftButton) && (flags() & ItemIsMovable)) if((event->buttons() & Qt::LeftButton) && (flags() & ItemIsMovable))
{ {
if(diagram() && m_first_move) if(diagram() && m_first_move)
diagram()->beginMoveElementTexts(this); diagram()->elementTextsMover().beginMovement(diagram(), this);
if(m_first_move) if(m_first_move)
{ {
@@ -508,7 +508,7 @@ void ElementTextItemGroup::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
event->modifiers() == Qt::ControlModifier ? setPos(new_pos) : setPos(Diagram::snapToGrid(new_pos)); event->modifiers() == Qt::ControlModifier ? setPos(new_pos) : setPos(Diagram::snapToGrid(new_pos));
if(diagram()) if(diagram())
diagram()->continueMoveElementTexts(event); diagram()->elementTextsMover().continueMovement(event);
} else { } else {
event->ignore(); event->ignore();
} }
@@ -525,7 +525,7 @@ void ElementTextItemGroup::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{ {
if(diagram()) if(diagram())
{ {
diagram()->endMoveElementTexts(); diagram()->elementTextsMover().endMovement();
if(parentElement()) if(parentElement())
parentElement()->setHighlighted(false); parentElement()->setHighlighted(false);
} }

View File

@@ -106,7 +106,7 @@ void QetGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *e) {
//Item is moving //Item is moving
if(diagram() && first_move_) { if(diagram() && first_move_) {
//It's the first movement, we signal it to parent diagram //It's the first movement, we signal it to parent diagram
diagram() -> beginMoveElements(this); diagram()->elementsMover().beginMovement(diagram(), this);
} }
//we apply the mouse movement //we apply the mouse movement
@@ -122,7 +122,7 @@ void QetGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *e) {
if (diagram()) { if (diagram()) {
//we signal the real movement apply to diagram, //we signal the real movement apply to diagram,
//who he apply to other selected item //who he apply to other selected item
diagram() -> continueMoveElements(effective_movement); diagram()->elementsMover().continueMovement(effective_movement);
} }
} else e -> ignore(); } else e -> ignore();
@@ -135,7 +135,8 @@ void QetGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *e) {
* @param e * @param e
*/ */
void QetGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) { void QetGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
if (diagram()) diagram() -> endMoveElements(); if (diagram())
diagram()->elementsMover().endMovement();
if (!(e -> modifiers() & Qt::ControlModifier)) if (!(e -> modifiers() & Qt::ControlModifier))
QGraphicsItem::mouseReleaseEvent(e); QGraphicsItem::mouseReleaseEvent(e);