diff --git a/css/main.css b/css/main.css index b1ef03a8e609293c697e5187b834095f0f5c6399..a50982c9d7e3cf262f895c931f404675fcea6d57 100644 --- a/css/main.css +++ b/css/main.css @@ -177,6 +177,12 @@ hr { background-color: rgba(255, 255, 0, 0.35); } +#postWarning { + background-color: rgba(255,0,0,0.15); + padding: 10px 15px 15px 15px; + margin: 20px 0; +} + input.numberInput{ width:22%; display: inline; diff --git a/js/cam/Assembler.js b/js/cam/Assembler.js index 5a147cf91e2108752a8f64f9dc7140cc4bdfb034..91dd96c621b36f2210bf21547492afe5e69e7065 100644 --- a/js/cam/Assembler.js +++ b/js/cam/Assembler.js @@ -201,6 +201,7 @@ Assembler = Backbone.Model.extend({ data += exporter.makeFooter(); this.set("dataOut", data); + this.set("editsMadeToProgram", false); this.set("exporter", exporter); this.set("simLineNumber", 0); return {data:data, exporter:exporter}; diff --git a/js/menus/AnimationMenuView.js b/js/menus/AnimationMenuView.js index 006fd058731eee730e4dbbb27835e1e5b1b106a3..ccf8328e8ef28257445a7d420b634467a755ba75 100644 --- a/js/menus/AnimationMenuView.js +++ b/js/menus/AnimationMenuView.js @@ -12,7 +12,7 @@ AnimationMenuView = Backbone.View.extend({ "click #pauseStockSim": "_pauseStockSim", "click #resetStockSim": "_resetStockSim", "click #saveSendMenu": "_save", - "click #overrideEdits": "_postProcess", + "click .overrideEdits": "_postProcess", "slideStop #speedSlider": "_changeSpeedSlider" }, @@ -44,10 +44,10 @@ AnimationMenuView = Backbone.View.extend({ }, _codeEdit: function(e){ - var textarea = $("#gcodeEditor"); - if (!textarea.is(":focus")) return; + var editor = $("#gcodeEditor"); + if (!editor.is(":focus")) return; e.preventDefault(); - dmaGlobals.assembler.makeProgramEdits(textarea.val()); + dmaGlobals.assembler.makeProgramEdits(editor.text()); }, _playStockSim: function(e){ @@ -91,7 +91,7 @@ AnimationMenuView = Backbone.View.extend({ render: function(){ if (this.model.get("currentTab") != "animate") return; - if (dmaGlobals.assembler.get("needsPostProcessing")) dmaGlobals.assembler.postProcess(); + if (dmaGlobals.assembler.get("needsPostProcessing") && !dmaGlobals.assembler.get("editsMadeToProgram")) dmaGlobals.assembler.postProcess(); this.$el.html(this.template(_.extend(this.model.toJSON(), dmaGlobals.assembler.toJSON()))); if (!dmaGlobals.appState.get("stockSimulationPlaying")) this._drawGcodeHighlighter();//in case of code pause @@ -117,9 +117,13 @@ AnimationMenuView = Backbone.View.extend({ <% } %>\ <input id="speedSlider" data-slider-id="speedSlider" type="text" data-slider-min="1" data-slider-max="10" data-slider-step="1" data-slider-value="<%= simSpeed %>"/>\ <br/><a href="#" id="saveSendMenu" class=" btn btn-block btn-lg btn-default">Save</a><br/>\ - Assembly Time: <br/><br/>\ + Assembly Time: <br/>\ + <% if (editsMadeToProgram && needsPostProcessing){ %>\ + <div id="postWarning">You have made the following changes that require post processing:<br/>\ + This will override edits you have made to the G-code. OK to override? <a href="#" class="overrideEdits btn btn-block btn-lg btn-danger">OK</a></div>\ + <% } %>\ <div id="gcodeEditor" contenteditable><%= dataOut %></div><br/>\ - <a href="#" id="overrideEdits" class=" btn btn-block btn-lg btn-default">Undo Changes</a><br/>\ + <a href="#" class="overrideEdits btn btn-block btn-lg btn-default">Undo Changes</a><br/>\ ') });