mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +01:00
Copy/Paste now works with Element Label Variables
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4599 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -87,6 +87,7 @@ class Diagram : public QGraphicsScene
|
|||||||
QHash <QString, QStringList> m_elmt_unitfolio_max;
|
QHash <QString, QStringList> m_elmt_unitfolio_max;
|
||||||
QHash <QString, QStringList> m_elmt_tenfolio_max;
|
QHash <QString, QStringList> m_elmt_tenfolio_max;
|
||||||
QHash <QString, QStringList> m_elmt_hundredfolio_max;
|
QHash <QString, QStringList> m_elmt_hundredfolio_max;
|
||||||
|
bool item_paste;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QGraphicsLineItem *conductor_setter_;
|
QGraphicsLineItem *conductor_setter_;
|
||||||
|
|||||||
@@ -212,8 +212,11 @@ void PasteDiagramCommand::redo()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
foreach (QGraphicsItem *item, content.items(filter))
|
foreach (QGraphicsItem *item, content.items(filter)) {
|
||||||
|
diagram->item_paste = true;
|
||||||
diagram->addItem(item);
|
diagram->addItem(item);
|
||||||
|
diagram->item_paste = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (QGraphicsItem *qgi, content.items())
|
foreach (QGraphicsItem *qgi, content.items())
|
||||||
|
|||||||
@@ -82,6 +82,7 @@ DiagramView::DiagramView(Diagram *diagram, QWidget *parent) :
|
|||||||
setSelectionMode();
|
setSelectionMode();
|
||||||
adjustSceneRect();
|
adjustSceneRect();
|
||||||
updateWindowTitle();
|
updateWindowTitle();
|
||||||
|
scene->loadElmtFolioSeq();
|
||||||
|
|
||||||
context_menu = new QMenu(this);
|
context_menu = new QMenu(this);
|
||||||
paste_here = new QAction(QET::Icons::EditPaste, tr("Coller ici", "context menu action"), this);
|
paste_here = new QAction(QET::Icons::EditPaste, tr("Coller ici", "context menu action"), this);
|
||||||
@@ -432,6 +433,7 @@ void DiagramView::paste(const QPointF &pos, QClipboard::Mode clipboard_mode) {
|
|||||||
|
|
||||||
// objet pour recuperer le contenu ajoute au schema par le coller
|
// objet pour recuperer le contenu ajoute au schema par le coller
|
||||||
DiagramContent content_pasted;
|
DiagramContent content_pasted;
|
||||||
|
this->diagram()->item_paste = true;
|
||||||
scene -> fromXml(document_xml, pos, false, &content_pasted);
|
scene -> fromXml(document_xml, pos, false, &content_pasted);
|
||||||
|
|
||||||
// si quelque chose a effectivement ete ajoute au schema, on cree un objet d'annulation
|
// si quelque chose a effectivement ete ajoute au schema, on cree un objet d'annulation
|
||||||
@@ -440,6 +442,7 @@ void DiagramView::paste(const QPointF &pos, QClipboard::Mode clipboard_mode) {
|
|||||||
scene -> undoStack().push(new PasteDiagramCommand(scene, content_pasted));
|
scene -> undoStack().push(new PasteDiagramCommand(scene, content_pasted));
|
||||||
adjustSceneRect();
|
adjustSceneRect();
|
||||||
}
|
}
|
||||||
|
this->diagram()->item_paste = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -336,10 +336,13 @@ void CustomElement::parseLabels() {
|
|||||||
rxml.readNext();
|
rxml.readNext();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//apply formula to specific label
|
//apply formula to specific label - This condition specify elements which have different labels e.g KM
|
||||||
|
//that are already specified in the element label (inside .elmt file). This method is not called if elements
|
||||||
|
//are being loaded at first time or being pasted
|
||||||
else if ((this->taggedText("label")!= NULL) && (location().projectId()!=-1) &&
|
else if ((this->taggedText("label")!= NULL) && (location().projectId()!=-1) &&
|
||||||
(!location().project()->elementAutoNumFormula().isEmpty()) &&
|
(!location().project()->elementAutoNumFormula().isEmpty()) &&
|
||||||
(this->linkType()!=Element::Slave) && (this->linkType()!=Element::Terminale)) {
|
(this->linkType()!=Element::Slave) && (this->linkType()!=Element::Terminale) &&
|
||||||
|
!this->diagram()->item_paste) {
|
||||||
QString formula = location().project()->elementAutoNumFormula();
|
QString formula = location().project()->elementAutoNumFormula();
|
||||||
DiagramContext &dc = this->rElementInformations();
|
DiagramContext &dc = this->rElementInformations();
|
||||||
QString prefix = this->taggedText("label")->toPlainText();
|
QString prefix = this->taggedText("label")->toPlainText();
|
||||||
|
|||||||
@@ -759,8 +759,6 @@ QString Element::assignVariables(QString label, Element *elmt){
|
|||||||
label.replace("%id", QString::number(elmt->diagram()->folioIndex()+1));
|
label.replace("%id", QString::number(elmt->diagram()->folioIndex()+1));
|
||||||
label.replace("%total", QString::number(elmt->diagram()->border_and_titleblock.folioTotal()));
|
label.replace("%total", QString::number(elmt->diagram()->border_and_titleblock.folioTotal()));
|
||||||
label.replace("%prefix", elmt->getPrefix());
|
label.replace("%prefix", elmt->getPrefix());
|
||||||
if (label.contains("%prefix"))
|
|
||||||
label.replace("%prefix",this->getPrefix());
|
|
||||||
label = assignSeq(label);
|
label = assignSeq(label);
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user