diff --git a/index.html b/index.html
index 82cabae..7c708b3 100644
--- a/index.html
+++ b/index.html
@@ -52,9 +52,9 @@
Undo
Redo
- Cut
- Copy
- Paste
+ Cut
+ Copy
+ Paste
Delete
Disconnect
diff --git a/js/elements/BasicElements.js b/js/elements/BasicElements.js
index 2fba696..89249a7 100644
--- a/js/elements/BasicElements.js
+++ b/js/elements/BasicElements.js
@@ -51,7 +51,7 @@ class LogicNAND extends LogicAND {
constructor(_Container, RestoreData = null, logicengine,Inputs) {
super(_Container, RestoreData,logicengine,Inputs);
this.Name = "NAND";
- this.Width = this.Width + 10;
+ this.Width = 110;
}
getOutput(Output=0) {
@@ -162,7 +162,7 @@ class LogicNOR extends LogicOR {
constructor(_Container, RestoreData = null, logicengine,Inputs) {
super(_Container, RestoreData,logicengine,Inputs);
this.Name = "NOR";
- this.Width = this.Width + 10;
+ this.Width = 110;
}
getOutput(Output=0) {
if (super.getOutput() === 0) return false;
@@ -289,7 +289,7 @@ class LogicXNOR extends Element {
super(_Container, RestoreData,logicengine,2); // Only 2 inputs on XOR
this.Name = "XNOR";
this.removeProperty("Inputs");
- this.Width += 10;
+ this.Width = 110;
}
getOutput(Output=0) {
@@ -368,7 +368,7 @@ class LogicNOT extends Element {
super(_Container, RestoreData,logicengine,1); // Only 1 inputs on NOT
this.Name = "NOT";
this.removeProperty("Inputs");
- this.Width += 10;
+ this.Width = 110;
}
getOutput(Output=0) {
diff --git a/js/globalfunctions.js b/js/globalfunctions.js
index 0f72efa..ae9ff5e 100644
--- a/js/globalfunctions.js
+++ b/js/globalfunctions.js
@@ -428,9 +428,7 @@ function loadActiveContainer(Elements) {
logicEngine.MovingElement = new Array(logicEngine.ActiveContainer.Selected.length);
for (let b = 0; b < logicEngine.ActiveContainer.Selected.length; b++) {
- //logicEngine.ActiveContainer.Selected[b].X = (logicEngine.ActiveContainer.Selected[b].X - ((highestX-lowestX)/2)) + logicEngine.Mouse.x;
logicEngine.ActiveContainer.Selected[b].X = (logicEngine.ActiveContainer.Selected[b].X - lowestX) + logicEngine.Mouse.x - ((highestX-lowestX)/2);
- //logicEngine.ActiveContainer.Selected[b].Y = (logicEngine.ActiveContainer.Selected[b].Y - ((highestY-lowestY)/2)) + logicEngine.Mouse.y;
logicEngine.ActiveContainer.Selected[b].Y = (logicEngine.ActiveContainer.Selected[b].Y - lowestY) + logicEngine.Mouse.y - ((highestY-lowestY)/2);
logicEngine.MovingElement[b] = {
StartX: logicEngine.ActiveContainer.Selected[b].X,
diff --git a/js/logicengine.js b/js/logicengine.js
index 142ce8f..a0a6d25 100644
--- a/js/logicengine.js
+++ b/js/logicengine.js
@@ -162,8 +162,31 @@ class LogicEngineSettings {
Meta: false,
Name: "Help Window",
Description: "Opens help window",
- Category: "Other"}
-
+ Category: "Other"},
+ Cut: {Key: "x", // lowercase
+ Alt: false,
+ Shift: false,
+ Ctrl: true,
+ Meta: false,
+ Name: "Cut",
+ Description: "Cuts selected elements to clipboard",
+ Category: "Invisible"},
+ Copy: {Key: "c", // lowercase
+ Alt: false,
+ Shift: false,
+ Ctrl: true,
+ Meta: false,
+ Name: "Copy",
+ Description: "Copy selected elements to clipboard",
+ Category: "Invisible"},
+ Paste: {Key: "v", // lowercase
+ Alt: false,
+ Shift: false,
+ Ctrl: true,
+ Meta: false,
+ Name: "Paste",
+ Description: "pastes selected elements from clipboard",
+ Category: "Invisible"}
/*
keybind_name: {Key: "", // lowercase
diff --git a/js/main.js b/js/main.js
index b2113bc..1135198 100644
--- a/js/main.js
+++ b/js/main.js
@@ -176,6 +176,28 @@ rcm_Delete.addEventListener('click', function(evt) {
disableSelectedRCMs(true);
});
+let tfm_Cut = document.getElementById("tfm_Cut");
+tfm_Cut.addEventListener('click', function(evt) {
+ document.execCommand('cut');
+ disableSelectedRCMs(true);
+ setTimeout(function(){hideMenus()},10);
+});
+
+let tfm_Copy = document.getElementById("tfm_Copy");
+tfm_Copy.addEventListener('click', function(evt) {
+ document.execCommand('copy');
+ disableSelectedRCMs(true);
+ setTimeout(function(){hideMenus()},10);
+});
+
+let tfm_Paste = document.getElementById("tfm_Paste");
+tfm_Paste.addEventListener('click', function(evt) {
+ document.execCommand('paste');
+ disableSelectedRCMs(true);
+ setTimeout(function(){hideMenus()},10);
+});
+
+
let tfm_Delete = document.getElementById("tfm_Delete");
tfm_Delete.addEventListener('click', function(evt) {
logicEngine.Key_Press({ctrlKey: false, key: "Delete"});