39 GNEChange(demandElementParent->getViewNet()->getNet(), true),
40 myDemandElementParent(demandElementParent),
41 myDemandElementChild(demandElementChild),
42 myOperation(operation),
43 myOriginalElementChildren(demandElementParent->getDemandElementChildren()),
44 myEditedElementChildren(demandElementParent->getDemandElementChildren()) {
45 myDemandElementParent->incRef(
"GNEChange_Children");
47 auto it = std::find(myEditedElementChildren.begin(), myEditedElementChildren.end(), myDemandElementChild);
49 if (it != myEditedElementChildren.end()) {
50 if ((operation == Operation::MOVE_FRONT) && (it != (myEditedElementChildren.end() - 1))) {
52 it = myEditedElementChildren.erase(it);
54 myEditedElementChildren.insert(it + 1, myDemandElementChild);
55 }
else if ((operation == Operation::MOVE_BACK) && (it != myEditedElementChildren.begin())) {
57 it = myEditedElementChildren.erase(it);
59 myEditedElementChildren.insert(it - 1, myDemandElementChild);
75 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
80 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
88 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
93 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
109 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
114 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
122 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
127 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
143 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
145 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
148 return (
"Invalid operation");
152 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
154 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
157 return (
"Invalid operation");
167 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
169 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
172 return (
"Invalid operation");
176 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
178 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
181 return (
"Invalid operation");