WIP: Copy / Paste now accounts for position
This commit is contained in:
parent
3c55bd3c19
commit
50320ff533
@ -155,8 +155,16 @@ function KeybindToString(binding) {
|
||||
|
||||
function GetCopyObject() {
|
||||
if (logicEngine?.ActiveContainer?.Selected?.length > 0) {
|
||||
let copyObject = {};
|
||||
let copyObject = {Paste: true,LogicParts: Version};
|
||||
copyObject.Elements = logicEngine.ActiveContainer.Selected;
|
||||
let copyObjectString = JSON.stringify(copyObject);
|
||||
copyObject = JSON.parse(copyObjectString);
|
||||
for (let a = 0; a < copyObject.Elements.length; a++) {
|
||||
console.log("Adaptering X: " + copyObject.Elements[a].X + " to " + (copyObject.Elements[a].X + logicEngine.Panning.OffsetX));
|
||||
console.log("Adaptering Y: " + copyObject.Elements[a].Y + " to " + (copyObject.Elements[a].Y + logicEngine.Panning.OffsetY));
|
||||
copyObject.Elements[a].X = copyObject.Elements[a].X + logicEngine.Panning.OffsetX;
|
||||
copyObject.Elements[a].Y = copyObject.Elements[a].Y + logicEngine.Panning.OffsetY;
|
||||
}
|
||||
return copyObject;
|
||||
} else {
|
||||
return false;
|
||||
@ -373,6 +381,8 @@ function loadActiveContainer(Elements) {
|
||||
let newElement = new classRef(logicEngine.ActiveContainer,Elements[a],logicEngine,getElementInfo(Elements[a].Name).Args[0]);
|
||||
|
||||
logicEngine.ActiveContainer.AddElement(newElement);
|
||||
newElement.X -= logicEngine.Panning.OffsetX;
|
||||
newElement.Y -= logicEngine.Panning.OffsetY;
|
||||
designatorMap.push({Old: Elements[a].Designator, New: newElement.Designator});
|
||||
|
||||
if (Elements[a].Outputs) {
|
||||
|
@ -45,6 +45,15 @@ document.addEventListener('paste', function(evt) {
|
||||
if (evt.clipboardData.getData('logicparts/json')) {
|
||||
//console.log(evt.clipboardData.getData('logicparts/json'));
|
||||
loadActiveContainer(JSON.parse(evt.clipboardData.getData('logicparts/json')).Elements);
|
||||
} else {
|
||||
// Lets see if they pasted a proper LogicParts format atleast
|
||||
if (evt.clipboardData.getData('text')) {
|
||||
let jsonObj = JSON.parse(evt.clipboardData.getData('text'));
|
||||
if (jsonObj?.LogicParts && jsonObj?.Paste) {
|
||||
console.log("We got a paste of a general text object that is valid");
|
||||
loadActiveContainer(jsonObj.Elements);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user