Past command: reset some info about the pasted element (label, comment, and text of report)

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3393 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2014-10-23 08:05:53 +00:00
parent 5ce6acb627
commit 2a4d013994
2 changed files with 42 additions and 22 deletions

View File

@@ -196,14 +196,33 @@ void PasteDiagramCommand::undo() {
foreach(QGraphicsItem *qgi, content.items(DiagramContent::Images | DiagramContent::Shapes)) diagram -> removeItem(qgi);
}
/// refait le coller
/**
* @brief PasteDiagramCommand::redo
*/
void PasteDiagramCommand::redo() {
diagram -> showMe();
if (first_redo) {
first_redo = false;
//this is the first paste, we make new uuid for each element
//because old uuid are the uuid of the copied element
foreach(Element *e, content.elements) e->newUuid();
//this is the first paste, we do some actions for the new element
foreach(Element *e, content.elements) {
//make new uuid, because old uuid are the uuid of the copied element
e -> newUuid();
//Reset the text of report element
if (e -> linkType() & Element::AllReport) {
if (e->texts().size())
e->texts().first()->setPlainText("/");
} else {
//Reset the information about the label and the comment
e -> rElementInformations().addValue("label", "");
e -> rElementInformations().addValue("comment", "");
//Reset the text field tagged "label
e -> taggedText("label") -> setPlainText("_");
}
}
}
else {
// paste the elements

View File

@@ -113,27 +113,28 @@ class Element : public QetGraphicsItem {
virtual int linkType() const {return link_type_;} // @return the linkable type
void newUuid() {uuid_ = QUuid::createUuid();} //create new uuid for this element
//ATTRIBUTES related to linked element
protected:
QList <Element *> connected_elements;
QList <QUuid> tmp_uuids_link;
QUuid uuid_;
kind link_type_;
//ATTRIBUTES related to linked element
protected:
QList <Element *> connected_elements;
QList <QUuid> tmp_uuids_link;
QUuid uuid_;
kind link_type_;
signals:
void elementInfoChange(DiagramContext);
signals:
void elementInfoChange(DiagramContext);
//METHODS related to information
public:
DiagramContext elementInformations()const {return element_informations_;}
virtual void setElementInformations(DiagramContext dc);
DiagramContext kindInformations() const {return kind_informations_;} //@kind_information_ is used to store more information
//about the herited class like contactelement for know
// kind of contact (simple tempo) or number of contact show by the element.
//METHODS related to information
public:
DiagramContext elementInformations ()const {return element_informations_;}
DiagramContext& rElementInformations () {return element_informations_;}
virtual void setElementInformations (DiagramContext dc);
DiagramContext kindInformations () const {return kind_informations_;} //@kind_information_ is used to store more information
//about the herited class like contactelement for know
// kind of contact (simple tempo) or number of contact show by the element.
//ATTRIBUTES
protected:
DiagramContext element_informations_, kind_informations_;
//ATTRIBUTES
protected:
DiagramContext element_informations_, kind_informations_;
/**
Draw this element