From 6ea7ca035b852e50ed2643de5ccd1ecef1acbb73 Mon Sep 17 00:00:00 2001 From: Amanda Ghassaei <amandaghassaei@gmail.com> Date: Tue, 27 Jan 2015 12:30:21 -0500 Subject: [PATCH] partmode logic --- js/menus/ImportMenuView.js | 13 +++++++++++-- js/menus/MenuWrapperView.js | 8 ++++---- js/menus/PartMenuView.js | 4 ++++ js/menus/SketchMenuView.js | 8 ++++++++ 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/js/menus/ImportMenuView.js b/js/menus/ImportMenuView.js index 0e9ccb22..d82590d1 100644 --- a/js/menus/ImportMenuView.js +++ b/js/menus/ImportMenuView.js @@ -15,10 +15,17 @@ ImportMenuView = Backbone.View.extend({ "click #removeFillGeo": "_removeMesh" }, - initialize: function(){ + currentlySelected: false, + + initialize: function(options){ + + this.lattice = options.lattice; _.bindAll(this, "render", "_onMeshLoad"); - this.listenTo(this.model, "change", this.render); + this.listenTo(this.model, "change", function(){ + if (!this.currentlySelected) return; + this.render(); + }); // this.listenTo(this.model, "change:filename change:boundingBoxHelper", this.render);//boundingBoxHelper covers orientation @@ -67,7 +74,9 @@ ImportMenuView = Backbone.View.extend({ }, render: function(){ + this.currentlySelected = true; this.$el.html(this.template(this.model.attributes)); + this.lattice.set("cellMode", "cell"); }, // makeDimensionString: function(){ diff --git a/js/menus/MenuWrapperView.js b/js/menus/MenuWrapperView.js index 674e4d71..20350660 100644 --- a/js/menus/MenuWrapperView.js +++ b/js/menus/MenuWrapperView.js @@ -9,8 +9,8 @@ function MenuWrapper(args){ //init all tab view controllers var latticeMenu = new LatticeMenuView({model:args.lattice}); - var importMenu = new ImportMenuView(); - var sketchMenu = new SketchMenuView(); + var importMenu = new ImportMenuView({lattice:args.lattice}); + var sketchMenu = new SketchMenuView({model:args.lattice}); var partMenu = new PartMenuView({model:args.lattice}); var scriptMenu = new ScriptMenuView(); @@ -46,8 +46,8 @@ function MenuWrapper(args){ function deselectAllMenus(){ latticeMenu.currentlySelected = false; -// importMenu.currentlySelected = false; -// sketchMenu.currentlySelected = false; + importMenu.currentlySelected = false; + sketchMenu.currentlySelected = false; partMenu.currentlySelected = false; // scriptMenu.currentlySelected = false; } diff --git a/js/menus/PartMenuView.js b/js/menus/PartMenuView.js index 6bdbd32a..21cdec39 100644 --- a/js/menus/PartMenuView.js +++ b/js/menus/PartMenuView.js @@ -15,6 +15,10 @@ PartMenuView = Backbone.View.extend({ _.bindAll(this, "render"); this.listenTo(this.model, "change:partType", this.render); +// this.listenTo(this.model, "change", function(){ +// if (!this.currentlySelected) return; +// this.render(); +// }); }, render: function(){ diff --git a/js/menus/SketchMenuView.js b/js/menus/SketchMenuView.js index ad61270a..2ae4c709 100644 --- a/js/menus/SketchMenuView.js +++ b/js/menus/SketchMenuView.js @@ -10,13 +10,21 @@ SketchMenuView = Backbone.View.extend({ events: { }, + currentlySelected: false, + initialize: function(){ _.bindAll(this, "render"); +// this.listenTo(this.model, "change", function(){ +// if (!this.currentlySelected) return; +// this.render(); +// }); }, render: function(){ + this.currentlySelected = true; this.$el.html(this.template()); + this.model.set("cellMode", "cell"); }, template: _.template('\ -- GitLab