diff --git a/js/menus/ImportMenuView.js b/js/menus/ImportMenuView.js index 0e9ccb224c2a809244bdbdf644ed4a073b1ce250..d82590d177c997277ea593f02900dda573b0b1ef 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 674e4d71075d875163cb211090581c183182b359..203506604d5c2a6ac5efbce60c319e66f3aba634 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 6bdbd32a9a269bffe4402fbe7618a091e5592470..21cdec39b060392058cd6b86553223038c0e094b 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 ad61270a962054feffd55775615017ae595162be..2ae4c70976161cddc3842885293c5ad48bd23013 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('\