38 GNEChange(demandElementParent->getViewNet()->getNet(), true),
39 myParentDemandElement(demandElementParent),
40 myChildDemandElement(demandElementChild),
41 myOperation(operation),
42 myOriginalChildElements(demandElementParent->getChildDemandElements()),
43 myEditedChildElements(demandElementParent->getChildDemandElements()) {
44 myParentDemandElement->incRef(
"GNEChange_Children");
46 auto it = std::find(myEditedChildElements.begin(), myEditedChildElements.end(), myChildDemandElement);
48 if (it != myEditedChildElements.end()) {
49 if ((operation == Operation::MOVE_FRONT) && (it != (myEditedChildElements.end() - 1))) {
51 it = myEditedChildElements.erase(it);
53 myEditedChildElements.insert(it + 1, myChildDemandElement);
54 }
else if ((operation == Operation::MOVE_BACK) && (it != myEditedChildElements.begin())) {
56 it = myEditedChildElements.erase(it);
58 myEditedChildElements.insert(it - 1, myChildDemandElement);
74 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
79 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
87 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
92 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
108 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
113 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
121 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
126 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
142 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
144 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
147 return (
"Invalid operation");
151 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
153 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
156 return (
"Invalid operation");
166 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
168 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
171 return (
"Invalid operation");
175 if (
myOperation == GNEChange_Children::Operation::MOVE_FRONT) {
177 }
else if (
myOperation == GNEChange_Children::Operation::MOVE_BACK) {
180 return (
"Invalid operation");