From f877ced4107e7bcabf198cde08524a9beedb1f1c Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Mon, 27 Oct 2014 23:06:20 -0700 Subject: [PATCH] multiline --- web/app/canvas.js | 19 +++++++++++++++---- web/app/main2d.js | 9 +++++++-- web/app/tools/segment.js | 4 ++-- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/web/app/canvas.js b/web/app/canvas.js index 3487b4ba..16221a8c 100644 --- a/web/app/canvas.js +++ b/web/app/canvas.js @@ -81,9 +81,19 @@ TCAD.TWO.Viewer.prototype.addSegment = function(x1, y1, x2, y2, layer) { var b = new TCAD.TWO.EndPoint(x2, y2); var line = new TCAD.TWO.Segment(a, b); layer.objects.push(line); + line.layer = layer; return line; }; +TCAD.TWO.Viewer.prototype.remove = function(obj) { + if (obj.layer != null) { + var idx = obj.layer.objects.indexOf(obj); + if (idx != -1) { + obj.layer.objects.splice(idx, 1); + } + } +}; + TCAD.TWO.Viewer.prototype.search = function(x, y, buffer, deep, onlyPoints) { buffer *= 0.5; @@ -314,6 +324,7 @@ TCAD.TWO.SketchObject = function() { this.visible = true; this.children = []; this.linked = []; + this.layer = null; }; TCAD.TWO.SketchObject.prototype.visit = function(onlyVisible, h) { @@ -514,13 +525,13 @@ TCAD.TWO.ToolManager = function(viewer, defaultTool) { }, false); window.addEventListener("keydown", function (e) { - tm.getTool().mousewheel(e); + tm.getTool().keydown(e); }, false); window.addEventListener("keypress", function (e) { - tm.getTool().mousewheel(e); + tm.getTool().keydown(e); }, false); window.addEventListener("keyup", function (e) { - tm.getTool().mousewheel(e); + tm.getTool().keydown(e); }, false); }; @@ -532,7 +543,7 @@ TCAD.TWO.ToolManager.prototype.releaseControl = function() { if (this.stack.length == 1) { return; } - this.stack.pop().cleanup();; + this.stack.pop().cleanup(); }; TCAD.TWO.ToolManager.prototype.getTool = function() { diff --git a/web/app/main2d.js b/web/app/main2d.js index 9f92420f..8ecd7fe3 100644 --- a/web/app/main2d.js +++ b/web/app/main2d.js @@ -36,7 +36,11 @@ TCAD.App2D = function() { var actionsF = gui.addFolder('Add Object'); var actions = { addSegment : function () { - app.viewer.toolManager.takeControl(new TCAD.TWO.AddSegmentTool(app.viewer, layer)); + app.viewer.toolManager.takeControl(new TCAD.TWO.AddSegmentTool(app.viewer, layer, false)); + }, + + addMultiSegment : function () { + app.viewer.toolManager.takeControl(new TCAD.TWO.AddSegmentTool(app.viewer, layer, true)); }, addArc : function () { @@ -133,8 +137,9 @@ TCAD.App2D = function() { } }; - + actionsF.add(actions, 'addSegment'); + actionsF.add(actions, 'addMultiSegment'); actionsF.add(actions, 'addArc'); actionsF.add(actions, 'addCircle'); actionsF.add(actions, 'pan'); diff --git a/web/app/tools/segment.js b/web/app/tools/segment.js index 1e47a60a..937415da 100644 --- a/web/app/tools/segment.js +++ b/web/app/tools/segment.js @@ -65,8 +65,8 @@ TCAD.TWO.AddSegmentTool.prototype.mousewheel = function(e) { }; TCAD.TWO.AddSegmentTool.prototype.keydown = function(e) { - if (this.multi && e.keyCode == 13) { - this.line = null; + if (this.multi && e.keyCode == 27) { + this.viewer.remove(this.line); } };