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