Skip to content
Snippets Groups Projects
Commit b4eebe78 authored by amandaghassaei's avatar amandaghassaei
Browse files

merge edit and preview ui

parent ad24f8d8
Branches
No related tags found
No related merge requests found
...@@ -9,40 +9,64 @@ AnimationMenuView = Backbone.View.extend({ ...@@ -9,40 +9,64 @@ AnimationMenuView = Backbone.View.extend({
events: { events: {
"click #playStockSim": "_playStockSim", "click #playStockSim": "_playStockSim",
"click #pauseStockSim": "_pauseStockSim" "click #pauseStockSim": "_pauseStockSim",
"click #saveSendMenu": "_save",
"click #overrideEdits": "_postProcess"
}, },
initialize: function(options){ initialize: function(){
this.appState = options.appState; _.bindAll(this, "render", "_codeEdit");
//bind events //bind events
this.listenTo(this.model, "change:currentScene", this.render); this.listenTo(this.model, "change:stockSimulationPlaying", this.render);
this.listenTo(dmaGlobals.assembler, "change", this.render);
$(document).bind('keyup', {state:false}, this._codeEdit);
}, },
_playStockSim: function(e){ _save: function(e){
e.preventDefault(); e.preventDefault();
dmaGlobals.appState.set("stockSimulationPlaying", true); dmaGlobals.assembler.save();
}, },
_pauseStockSim: function(e){ _postProcess: function(e){
e.preventDefault();
dmaGlobals.assembler.postProcess();
},
_codeEdit: function(e){
var textarea = $("#gcodeEditor");
if (!textarea.is(":focus")) return;
e.preventDefault(); e.preventDefault();
dmaGlobals.appState.set("stockSimulationPlaying", false); dmaGlobals.assembler.makeProgramEdits(textarea.val());
}, },
_changeScene: function(e){ _playStockSim: function(e){
e.preventDefault();
this.model.set("stockSimulationPlaying", true);
},
_pauseStockSim: function(e){
e.preventDefault(); e.preventDefault();
this.model.set("currentScene", $(e.target).data("type")); this.model.set("stockSimulationPlaying", false);
}, },
render: function(){ render: function(){
if (this.appState.get("currentTab") != "animate") return; if (this.model.get("currentTab") != "animate") return;
this.$el.html(this.template(this.model.toJSON())); if (dmaGlobals.assembler.get("needsPostProcessing")) dmaGlobals.assembler.postProcess();
this.$el.html(this.template(_.extend(this.model.toJSON(), dmaGlobals.assembler.toJSON())));
}, },
template: _.template('\ template: _.template('\
<a href="#" id="playStockSim" class=" btn btn-block btn-lg btn-default">Play</a><br/>\ <% if (stockSimulationPlaying){ %>\
<a href="#" id="pauseStockSim" class=" btn btn-block btn-lg btn-default">Pause</a><br/>\ <a href="#" id="pauseStockSim" class=" btn btn-block btn-lg btn-warning">Pause</a><br/>\
<% } else { %>\
<a href="#" id="playStockSim" class=" btn btn-block btn-lg btn-success">Play</a><br/>\
<% } %>\
<a href="#" id="saveSendMenu" class=" btn btn-block btn-lg btn-default">Save</a><br/>\
Assembly Time:&nbsp;&nbsp;<br/><br/>\
<textarea id="gcodeEditor"><%= dataOut %></textarea><br/><br/>\
<a href="#" id="overrideEdits" class=" btn btn-block btn-lg btn-default">Undo Changes</a><br/>\
') ')
}); });
......
...@@ -24,8 +24,7 @@ LatticeMenuView = Backbone.View.extend({ ...@@ -24,8 +24,7 @@ LatticeMenuView = Backbone.View.extend({
this.lattice = options.lattice; this.lattice = options.lattice;
_.bindAll(this, "render"); _.bindAll(this, "render", "_onKeyup");
_.bindAll(this, "_onKeyup");
//bind events //bind events
this.listenTo(this.lattice, "change", this.render); this.listenTo(this.lattice, "change", this.render);
$(document).bind('keyup', {state:false}, this._onKeyup); $(document).bind('keyup', {state:false}, this._onKeyup);
......
...@@ -27,7 +27,7 @@ MenuWrapper = Backbone.View.extend({ ...@@ -27,7 +27,7 @@ MenuWrapper = Backbone.View.extend({
this.materialMenu = new MaterialMenuView({model:this.model}); this.materialMenu = new MaterialMenuView({model:this.model});
this.optimizeMenu = new OptimizationMenuView({model:this.model}); this.optimizeMenu = new OptimizationMenuView({model:this.model});
this.assemblerMenu = new AssemblerMenuView({model:this.model, assembler: dmaGlobals.assembler}); this.assemblerMenu = new AssemblerMenuView({model:this.model, assembler: dmaGlobals.assembler});
this.animationMenu = new AnimationMenuView({model:lattice.get("basePlane"), appState:this.model}); this.animationMenu = new AnimationMenuView({model:this.model});
this.camMenu = new CamMenuView({model:this.model, lattice:lattice, assembler:dmaGlobals.assembler}); this.camMenu = new CamMenuView({model:this.model, lattice:lattice, assembler:dmaGlobals.assembler});
this.sendMenu = new SendMenuView({model:this.model}); this.sendMenu = new SendMenuView({model:this.model});
......
...@@ -7,46 +7,21 @@ SendMenuView = Backbone.View.extend({ ...@@ -7,46 +7,21 @@ SendMenuView = Backbone.View.extend({
el: "#menuContent", el: "#menuContent",
events: { events: {
"click #saveSendMenu": "_save",
"click #overrideEdits": "_postProcess"
}, },
initialize: function(){ initialize: function(){
//bind events //bind events
this.listenTo(dmaGlobals.assembler, "change", this.render);
$(document).bind('keyup', {state:false}, this._codeEdit);
_.bindAll(this, "render"); _.bindAll(this, "render");
}, },
_save: function(e){
e.preventDefault();
dmaGlobals.assembler.save();
},
_postProcess: function(e){
e.preventDefault();
dmaGlobals.assembler.postProcess();
},
_codeEdit: function(e){
var textarea = $("#gcodeEditor");
if (!textarea.is(":focus")) return;
e.preventDefault();
dmaGlobals.assembler.makeProgramEdits(textarea.val());
},
render: function(){ render: function(){
if (this.model.get("currentTab") != "send") return; if (this.model.get("currentTab") != "send") return;
if (dmaGlobals.assembler.get("needsPostProcessing")) dmaGlobals.assembler.postProcess(); this.$el.html(this.template(this.model.toJSON()));
this.$el.html(this.template(dmaGlobals.assembler.toJSON()));
}, },
template: _.template('\
<a href="#" id="saveSendMenu" class=" btn btn-block btn-lg btn-default">Save</a><br/>\ template: _.template('')
<textarea id="gcodeEditor"><%= dataOut %></textarea><br/><br/>\
<a href="#" id="overrideEdits" class=" btn btn-block btn-lg btn-default">Undo Changes</a><br/>\
')
}); });
\ No newline at end of file
...@@ -38,7 +38,7 @@ AppState = Backbone.Model.extend({ ...@@ -38,7 +38,7 @@ AppState = Backbone.Model.extend({
assembler:"Assembler", assembler:"Assembler",
cam: "Process", cam: "Process",
animate:"Preview", animate:"Preview",
send: "Edit" send: "Send"
} }
}, },
...@@ -162,7 +162,7 @@ AppState = Backbone.Model.extend({ ...@@ -162,7 +162,7 @@ AppState = Backbone.Model.extend({
$(document).bind('keyup', {state:false}, this._handleKeyStroke); $(document).bind('keyup', {state:false}, this._handleKeyStroke);
$(document).bind('mousewheel', {}, this._handleScroll); $(document).bind('mousewheel', {}, this._handleScroll);
this.listenTo(this, "change:currentTab", this._storeTab); this.listenTo(this, "change:currentTab", this._tabChanged);
this.listenTo(this, "change:currentNav", this._updateCurrentTabForNav); this.listenTo(this, "change:currentNav", this._updateCurrentTabForNav);
this.listenTo(this, "change:currentTab", this._updateCellMode); this.listenTo(this, "change:currentTab", this._updateCellMode);
...@@ -188,9 +188,13 @@ AppState = Backbone.Model.extend({ ...@@ -188,9 +188,13 @@ AppState = Backbone.Model.extend({
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
_storeTab: function(){ _tabChanged: function(){
var currentNav = this.get("currentNav");
var currentTab = this.get("currentTab"); var currentTab = this.get("currentTab");
if (currentTab != "animate") this.set("stockSimulationPlaying", false);
this._storeTab(this.get("currentNav"), currentTab);
},
_storeTab: function(currentNav, currentTab){
if (currentNav == "navDesign") this.set("lastDesignTab", currentTab); if (currentNav == "navDesign") this.set("lastDesignTab", currentTab);
else if (currentNav == "navSim") this.set("lastSimulationTab", currentTab); else if (currentNav == "navSim") this.set("lastSimulationTab", currentTab);
else if (currentNav == "navAssemble") this.set("lastAssembleTab", currentTab); else if (currentNav == "navAssemble") this.set("lastAssembleTab", currentTab);
...@@ -259,7 +263,7 @@ AppState = Backbone.Model.extend({ ...@@ -259,7 +263,7 @@ AppState = Backbone.Model.extend({
if (e.shiftKey){ if (e.shiftKey){
$("#saveAsModel").modal("show"); $("#saveAsModel").modal("show");
} else { } else {
dmaGlobals.lattice.saveJSON(); dmaGlobals.appState.saveJSON();
} }
} }
break; break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment