diff --git a/css/serialMonitor.css b/css/serialMonitor.css index 17fb0a908b90ecae525f73b8f0ace5eb43c1f612..8b8df806ea96125aba5aac662940eb93815adde9 100644 --- a/css/serialMonitor.css +++ b/css/serialMonitor.css @@ -1,5 +1,7 @@ body { overflow: hidden; + min-height: 400px; + min-width: 500px; } #sendSerialMessage { @@ -8,50 +10,73 @@ body { border-radius: 0px; border: none; border-top: 2px solid #bdc3c7; + left: 0; + right: 0; } - #serialMonitorOutput { +#wrapper { width: 100%; height: 100%; overflow: auto; - padding: 10px 20px 100px 20px; + padding: 0 0 85px 0; +} + +#serialMonitorOutput { + width: 100%; + height: 100%; + overflow: auto; + padding: 10px 20px; font-family: Courier, monospace; font-size: 13px; line-height: 25px; - } +} - #serialMonitorView { - overflow: hidden; - } +#serialMonitorView { + display: block; + height: 100%; + overflow: hidden; + position:relative; +} - .btn { +.btn { padding: 5px 10px; margin: 5px 10px; - } +} - #controlPanel { +#controlPanel { background: #eee; width: 100%; position: absolute; bottom: 40px; - } + left: 0; + right: 0; +} - .checkbox input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked, .radio input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked, .checkbox input[type="radio"].custom-radio:checked + .icons .icon-checked, .radio input[type="radio"].custom-radio:checked + .icons .icon-checked { +.checkbox input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked, .radio input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked, .checkbox input[type="radio"].custom-radio:checked + .icons .icon-checked, .radio input[type="radio"].custom-radio:checked + .icons .icon-checked { color: #888; - } +} - #autoscrollCheckbox { +#autoscrollCheckbox { display: inline-block; position: absolute; margin-left: 10px; margin-top: 12px; - } +} - span.incoming { - color: #999; - } +span.incoming { + color: #999; +} + +span.outgoing { + font-weight:700; +} - span.outgoing { - font-weight:700; - } \ No newline at end of file +#positionPanel { + width: 300px; + height: 100%; + background-color: red; + border-left: 2px solid #bdc3c7; + background-color: #fdfdfd; + display: inline-block; +} \ No newline at end of file diff --git a/dmaPush.sh b/dmaPush.sh index 68db3183dcf9aceaaadbefaa158b208baa8a1c67..ba4a605e3fc69a89dfac7651b2649b262b8e1001 100755 --- a/dmaPush.sh +++ b/dmaPush.sh @@ -1,4 +1,9 @@ #!/bin/sh +cd ~/Research/CBAStuff/git/dmdesign +git co master +git fetch upstream +git merge upstream/master +git push origin master cd ~/Research/CBAStuff/git/archives/dma git subtree pull -P Web/dmdesign fabpeople:people/amanda.ghassaei/dmdesign master --squash diff --git a/js/SerialMonitor/SerialMonitorController.js b/js/SerialMonitor/SerialMonitorController.js index 58d6163908ffb459adefebff9eaa80aa65ab044b..92f42cdd13c8e80c7faf06d5cec1aba515a2cf29 100644 --- a/js/SerialMonitor/SerialMonitorController.js +++ b/js/SerialMonitor/SerialMonitorController.js @@ -23,7 +23,7 @@ define(['jquery', 'underscore', 'backbone'], function($, _, Backbone){ this.popup.focus(); return; } - this.popup = window.open('js/SerialMonitor/', '', 'height=400, width=400, titlebar=no, toolbar=no, menubar=yes, scrollbars=no, resizable=yes, location=no, directories=no, status=no'); + this.popup = window.open('js/SerialMonitor/', '', 'height=400, width=600, titlebar=no, toolbar=no, menubar=yes, scrollbars=no, resizable=yes, location=no, directories=no, status=no'); var self = this; $(this.popup).unload(function(){ self.onClose(); diff --git a/js/SerialMonitor/SerialMonitorView.html b/js/SerialMonitor/SerialMonitorView.html index a3985bfd8105c75aa8a06243aca2415f27a59475..10730032c3721cf4ed77a656bf5ca2bf6cb4709b 100644 --- a/js/SerialMonitor/SerialMonitorView.html +++ b/js/SerialMonitor/SerialMonitorView.html @@ -1,4 +1,7 @@ -<div id="serialMonitorOutput"></div> +<div id="wrapper"> + <div id="serialMonitorOutput"></div> +</div> +<div> <div id="controlPanel"> <label id="autoscrollCheckbox" class="checkbox" for="autoscroll"> <input id="autoscroll" data-property="autoscroll" type="checkbox" <% if (autoscroll){ %> checked="checked"<% } %> value="" data-toggle="checkbox" class="serialMonitor custom-checkbox"> @@ -6,4 +9,5 @@ Autoscroll</label> <a href="#" id="clearMonitor" class="pull-right btn btn-lg btn-default">Clear</a><br/> </div> -<input id="sendSerialMessage" value="" placeholder="Send Message" class="form-control" type="text"> \ No newline at end of file +<input id="sendSerialMessage" value="" placeholder="Send Message" class="form-control" type="text"> +</div> \ No newline at end of file diff --git a/js/SerialMonitor/index.html b/js/SerialMonitor/index.html index 8c5a15a611a47c3668c5fe61e44e650e739b3ce4..6a97699853a1504b50f5e8fd88f51bb7e0f9d4ec 100644 --- a/js/SerialMonitor/index.html +++ b/js/SerialMonitor/index.html @@ -8,5 +8,8 @@ <script data-main="main" src="../../dependencies/require/require.js"></script> </head> <html> - <div id="serialMonitorView"></div> + <div> + <div class="pull-right" id="positionPanel"></div> + <div id="serialMonitorView"></div> + </div> </html> \ No newline at end of file diff --git a/js/cam/Cam.js b/js/cam/Cam.js index 7fd68bb62787fc14352f20d24593903c240a80b7..23fe573781183255da6f3e165524d876f858b7f8 100644 --- a/js/cam/Cam.js +++ b/js/cam/Cam.js @@ -47,7 +47,7 @@ define(['underscore', 'three', 'backbone', 'appState', 'latticeCAM', 'threeModel initialize: function(){ - _.bindAll(this, "postProcess"); + _.bindAll(this, "postProcess", "_stockSimulation"); //bind events this.listenTo(appState, "change:currentTab", this._tabChanged); @@ -299,6 +299,7 @@ define(['underscore', 'three', 'backbone', 'appState', 'latticeCAM', 'threeModel scaledSettings, function(){ currentLine++; self.set("simLineNumber", currentLine); + console.log(self); self._stockSimulation(); }); } else { diff --git a/js/menus/AnimationMenuView.js b/js/menus/AnimationMenuView.js index aeba19e663d14df4c532e5b1f4f9f3d2a11ec098..229c32e251c9b4124eff3d439b537198d7ed57d0 100644 --- a/js/menus/AnimationMenuView.js +++ b/js/menus/AnimationMenuView.js @@ -29,7 +29,7 @@ define(['jquery', 'underscore', 'menuParent', 'cam', 'text!animationMenuTemplate self.render(); }); this.listenTo(cam, "change:simLineNumber", this._drawGcodeHighlighter); - $(document).bind('keyup', {state:false}, this._codeEdit); +// $(document).bind('keyup', {state:false}, this._codeEdit); //this.$el.bind('resize', this._setEditorHeight); }, diff --git a/js/menus/SendMenuView.js b/js/menus/SendMenuView.js index 34566d913b356b44b487992ec5363bba9dee6334..a4d1e807f0db139b9d50e5486720514a2cbc4882 100644 --- a/js/menus/SendMenuView.js +++ b/js/menus/SendMenuView.js @@ -20,6 +20,8 @@ define(['jquery', 'underscore', 'menuParent', 'serialComm', 'commPlist', 'text!s __initialize: function(){ this.isStreaming = false; + this.listenTo(this.model, "change:stockSimulationPlaying", this.render); + this.listenTo(cam, "change:simLineNumber", this._drawGcodeHighlighter); }, _startStream: function(e){ @@ -59,12 +61,29 @@ define(['jquery', 'underscore', 'menuParent', 'serialComm', 'commPlist', 'text!s serialComm.openSerialMonitor(); }, + _drawGcodeHighlighter: function(){ + var lineNum = cam.get("simLineNumber"); + console.log(lineNum); + if (lineNum == 0) return; + var code = cam.get("dataOut").split("\n"); + code[lineNum] = "<span id='gcodeHighlighter'>" + code[lineNum] + " </span>"; + var newText = code.join("\n"); + var $editor = $('#gcodeEditor'); + $editor.html(newText); + var $highlighter = $("#gcodeHighlighter"); + if (!$editor.position() || !$highlighter.position()) return;//todo weird bug + var highlighterHeight = $highlighter.position().top - $editor.position().top; + var desiredHeight = $editor.height()/2; + if (highlighterHeight > desiredHeight) $editor.scrollTop($editor.scrollTop()+highlighterHeight-desiredHeight); + }, + _makeTemplateJSON: function(){ return _.extend(serialComm.toJSON(), commPlist, cam.toJSON(), camPlist, {streaming: this.isStreaming}); }, _render: function(){ if (serialComm.get("lastMessageReceived") === null) $("#incomingSerialMessage").hide(); + this._drawGcodeHighlighter(); }, template: _.template(template) diff --git a/modPush.sh b/modPush.sh index a004939860f1be6192133dc34d357626278683d5..663cff2750aa5e3182bfb0be12943e234c52a38f 100755 --- a/modPush.sh +++ b/modPush.sh @@ -1,4 +1,9 @@ #!/bin/sh +cd ~/Research/CBAStuff/git/dmdesign +git co master +git fetch upstream +git merge upstream/master +git push origin master cd ~/Research/CBAStuff/git/archives/dma git subtree pull -P Web/mod/dmdesign fabpeople:people/amanda.ghassaei/dmdesign master --squash