From 85afe6d6febfa4dabc212eebbf340f3213db9992 Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Mon, 18 Feb 2019 22:14:46 -0800 Subject: [PATCH] create default sketcher layers in viewer constructor --- web/app/sketcher.js | 9 --------- web/app/sketcher/viewer2d.js | 16 ++++++++++++++-- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/web/app/sketcher.js b/web/app/sketcher.js index 76aa78fc..a3d8129f 100644 --- a/web/app/sketcher.js +++ b/web/app/sketcher.js @@ -19,15 +19,6 @@ function initializeSketcherApplication() { app.loadFromLocalStorage(); app.fit(); - function addLayer(name, style) { - if (app.viewer.findLayerByName(name) === null) { - app.viewer.layers.push(new Layer(name, style)); - } - } - - addLayer("sketch", Styles.DEFAULT); - addLayer("_construction_", Styles.CONSTRUCTION); - var actionsWin = new ui.Window($('#actions'), app.winManager); ui.bindOpening( $('#showActions'), actionsWin ); diff --git a/web/app/sketcher/viewer2d.js b/web/app/sketcher/viewer2d.js index 03d5fd1b..5496aeb6 100644 --- a/web/app/sketcher/viewer2d.js +++ b/web/app/sketcher/viewer2d.js @@ -53,7 +53,10 @@ function Viewer(canvas, IO) { this.bus = new Bus(); this.ctx = this.canvas.getContext("2d"); this._activeLayer = null; - this.layers = []; + this.layers = [ + new Layer("sketch", Styles.DEFAULT), + new Layer("_construction_", Styles.CONSTRUCTION) + ]; this.dimLayer = new Layer("_dim", Styles.DIM); this.dimLayers = [this.dimLayer]; this.bus.defineObservable(this, 'dimScale', 1); @@ -401,12 +404,21 @@ Viewer.prototype.getActiveLayer = function() { } } if (layer == null) { - layer = new Layer("JustALayer", Styles.DEFAULT); + layer = new Layer("sketch", Styles.DEFAULT); this.layers.push(layer); } return layer; }; +Viewer.prototype.setActiveLayerName = function(layerName) { + let layer = this.findLayerByName(layerName); + if (layer) { + this.activeLayer = layer; + } else { + console.warn("layer doesn't exist: " + layerName); + } +}; + Viewer.prototype.setActiveLayer = function(layer) { if (!layer.readOnly) { this._activeLayer = layer;