diff --git a/simulator/src/circuit.js b/simulator/src/circuit.js index 9bd00c6bfe..c86f6d99be 100755 --- a/simulator/src/circuit.js +++ b/simulator/src/circuit.js @@ -35,6 +35,9 @@ import { changeClockEnable } from './sequential'; import { changeInputSize } from './modules'; import { verilogModeGet, verilogModeSet } from './Verilog2CV'; import { updateTestbenchUI } from './testbench'; +import load, { removeBugNodes } from './data/load'; +import redo from './data/redo'; +import undo from './data/undo'; export const circuitProperty = { toggleLayoutMode, setProjectName, changeCircuitName, changeClockTime, deleteCurrentCircuit, changeClockEnable, changeInputSize, changeLightMode, @@ -374,4 +377,26 @@ export default class Scope { this.ox = (-minX) * this.scale + (width - (maxX - minX) * this.scale) / 2; this.oy = (-minY) * this.scale + (height - ytoolbarOffset - (maxY - minY) * this.scale) / 2; } + + loadCircuit(data) { + if(data) { + load(data); + } + else{ + alert("Invalid data"); + } + } + + removeBug() { + removeBugNodes(globalScope); + } + + next() { + redo(globalScope); + } + + previous() { + undo(globalScope); + } + } diff --git a/simulator/src/data/load.js b/simulator/src/data/load.js index 17719881d6..1487b99b57 100755 --- a/simulator/src/data/load.js +++ b/simulator/src/data/load.js @@ -75,10 +75,10 @@ function loadModule(data, scope) { * for some issues while loading nodes. * @category data */ -function removeBugNodes(scope = globalScope) { +export function removeBugNodes(scope = globalScope) { let x = scope.allNodes.length; for (let i = 0; i < x; i++) { - if (scope.allNodes[i].type !== 2 && scope.allNodes[i].parent.objectType === 'CircuitElement') { scope.allNodes[i].delete(); } + if (scope.allNodes[i].type === 2 && scope.allNodes[i].parent.objectType === 'CircuitElement') { scope.allNodes[i].delete(); } if (scope.allNodes.length !== x) { i = 0; x = scope.allNodes.length; diff --git a/simulator/src/data/save.js b/simulator/src/data/save.js index ea7fe50855..9b926198e0 100755 --- a/simulator/src/data/save.js +++ b/simulator/src/data/save.js @@ -85,7 +85,7 @@ export function generateSaveData(name, setName = true) { data.projectId = projectId; data.focussedCircuit = globalScope.id; data.orderedTabs = getTabsOrder(); - + // Project Circuits, each scope is one circuit data.scopes = []; const dependencyList = {};