mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 22:00:35 +01:00
improve the copy/paste of DiagramImageItem
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2476 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -252,7 +252,7 @@ PasteDiagramCommand::PasteDiagramCommand(
|
|||||||
QUndoCommand(parent),
|
QUndoCommand(parent),
|
||||||
content(c),
|
content(c),
|
||||||
diagram(dia),
|
diagram(dia),
|
||||||
filter(DiagramContent::Elements|DiagramContent::TextFields|DiagramContent::ConductorsToMove),
|
filter(DiagramContent::Elements|DiagramContent::TextFields|DiagramContent::Images|DiagramContent::ConductorsToMove),
|
||||||
first_redo(true)
|
first_redo(true)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -274,32 +274,39 @@ PasteDiagramCommand::~PasteDiagramCommand() {
|
|||||||
|
|
||||||
/// annule le coller
|
/// annule le coller
|
||||||
void PasteDiagramCommand::undo() {
|
void PasteDiagramCommand::undo() {
|
||||||
// enleve les conducteurs
|
// remove the conductors
|
||||||
foreach(Conductor *c, content.conductorsToMove) diagram -> removeConductor(c);
|
foreach(Conductor *c, content.conductorsToMove) diagram -> removeConductor(c);
|
||||||
|
|
||||||
// enleve les elements
|
// remove the elements
|
||||||
foreach(Element *e, content.elements) diagram -> removeElement(e);
|
foreach(Element *e, content.elements) diagram -> removeElement(e);
|
||||||
|
|
||||||
// enleve les textes
|
// remove the texts
|
||||||
foreach(IndependentTextItem *t, content.textFields) diagram -> removeIndependentTextItem(t);
|
foreach(IndependentTextItem *t, content.textFields) diagram -> removeIndependentTextItem(t);
|
||||||
|
|
||||||
|
// remove the images
|
||||||
|
foreach(DiagramImageItem *dii, content.images) diagram -> removeItem(dii);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// refait le coller
|
/// refait le coller
|
||||||
void PasteDiagramCommand::redo() {
|
void PasteDiagramCommand::redo() {
|
||||||
if (first_redo) first_redo = false;
|
if (first_redo) first_redo = false;
|
||||||
else {
|
else {
|
||||||
// pose les elements
|
// paste the elements
|
||||||
foreach(Element *e, content.elements) diagram -> addElement(e);
|
foreach(Element *e, content.elements) diagram -> addElement(e);
|
||||||
|
|
||||||
// pose les conducteurs
|
// paste the conductors
|
||||||
foreach(Conductor *c, content.conductorsToMove) diagram -> addConductor(c);
|
foreach(Conductor *c, content.conductorsToMove) diagram -> addConductor(c);
|
||||||
|
|
||||||
// pose les textes
|
// paste the texts
|
||||||
foreach(IndependentTextItem *t, content.textFields) diagram -> addIndependentTextItem(t);
|
foreach(IndependentTextItem *t, content.textFields) diagram -> addIndependentTextItem(t);
|
||||||
|
|
||||||
|
// paste the images
|
||||||
|
foreach(DiagramImageItem *dii, content.images) diagram -> addDiagramImageItem(dii);
|
||||||
}
|
}
|
||||||
foreach(Element *e, content.elements) e -> setSelected(true);
|
foreach(Element *e, content.elements) e -> setSelected(true);
|
||||||
foreach(Conductor *c, content.conductorsToMove) c -> setSelected(true);
|
foreach(Conductor *c, content.conductorsToMove) c -> setSelected(true);
|
||||||
foreach(IndependentTextItem *t, content.textFields) t -> setSelected(true);
|
foreach(IndependentTextItem *t, content.textFields) t -> setSelected(true);
|
||||||
|
foreach(DiagramImageItem *dii, content.images) dii -> setSelected(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user