trunk/web/index.html
r25472 | r25473 | |
16 | 16 | </head> |
17 | 17 | <body> |
18 | 18 | <script language="javascript" type="text/javascript"> |
| 19 | |
| 20 | function updateStatusBar(connectionStatus, isPaused, driverText) { |
| 21 | if (connectionStatus) { |
| 22 | // Update every page's connection statusbar. |
| 23 | $("td#main_statusbar_connectionstatus").html(connectionStatus); |
| 24 | $("td#command_statusbar_connectionstatus").html(connectionStatus); |
| 25 | $("td#option_statusbar_connectionstatus").html(connectionStatus); |
| 26 | $("td#slider_statusbar_connectionstatus").html(connectionStatus); |
| 27 | $("td#driver_statusbar_connectionstatus").html(connectionStatus); |
| 28 | $("td#image_statusbar_connectionstatus").html(connectionStatus); |
| 29 | $("td#info_statusbar_connectionstatus").html(connectionStatus); |
| 30 | $("td#logs_statusbar_connectionstatus").html(connectionStatus); |
| 31 | } |
| 32 | if (isPaused) { |
| 33 | // Update every page's running/paused statusbar. |
| 34 | $("td#main_statusbar_ispaused").html(isPaused); |
| 35 | $("td#command_statusbar_ispaused").html(isPaused); |
| 36 | $("td#option_statusbar_ispaused").html(isPaused); |
| 37 | $("td#slider_statusbar_ispaused").html(isPaused); |
| 38 | $("td#driver_statusbar_ispaused").html(isPaused); |
| 39 | $("td#image_statusbar_ispaused").html(isPaused); |
| 40 | $("td#info_statusbar_ispaused").html(isPaused); |
| 41 | $("td#logs_statusbar_ispaused").html(isPaused); |
| 42 | } |
| 43 | if (driverText) { |
| 44 | // Update every page's running driver statusbar. |
| 45 | $("td#main_statusbar_runningdriver").html(driverText); |
| 46 | $("td#command_statusbar_runningdriver").html(driverText); |
| 47 | $("td#option_statusbar_runningdriver").html(driverText); |
| 48 | $("td#slider_statusbar_runningdriver").html(driverText); |
| 49 | $("td#driver_statusbar_runningdriver").html(driverText); |
| 50 | $("td#image_statusbar_runningdriver").html(driverText); |
| 51 | $("td#info_statusbar_runningdriver").html(driverText); |
| 52 | $("td#logs_statusbar_runningdriver").html(driverText); |
| 53 | } |
| 54 | |
| 55 | } |
19 | 56 | |
20 | | var writeConnectionStatus = function(message) { |
21 | | // Update the statusbar on each subpage at the same time. |
22 | | $("td#main_statusbar_connectionstatus").html(message); |
23 | | $("td#command_statusbar_connectionstatus").html(message); |
24 | | $("td#option_statusbar_connectionstatus").html(message); |
25 | | $("td#slider_statusbar_connectionstatus").html(message); |
26 | | $("td#driver_statusbar_connectionstatus").html(message); |
27 | | $("td#image_statusbar_connectionstatus").html(message); |
28 | | $("td#info_statusbar_connectionstatus").html(message); |
29 | | $("td#logs_statusbar_connectionstatus").html(message); |
30 | | }; |
31 | | |
32 | 57 | function takeScreenshot() |
33 | 58 | { |
34 | 59 | // First, we need to generate a random number to make absolutely sure we bypass browser caching. |
r25472 | r25473 | |
48 | 73 | }, |
49 | 74 | error: function (request, status, error) { alert(status + ", " + error); } |
50 | 75 | }); |
51 | | startWebSocket(); |
| 76 | if (command !== 'exit') { |
| 77 | startWebSocket(); |
| 78 | } else { |
| 79 | updateStatusBar('<b style="color: red;">Disconnected</b>','Exited','No Driver'); |
| 80 | } |
52 | 81 | } |
53 | 82 | |
54 | 83 | function executeHardReset() |
r25472 | r25473 | |
70 | 99 | executeCommands("exit"); |
71 | 100 | $('.ui-dialog').dialog('close'); |
72 | 101 | } |
73 | | |
| 102 | |
74 | 103 | function executeSlider() |
75 | 104 | { |
76 | 105 | $.ajax({ |
r25472 | r25473 | |
92 | 121 | }, |
93 | 122 | error: function (request, status, error) { alert(status + ", " + error); } |
94 | 123 | }); |
95 | | window.location.hash='#slidermenu'; |
| 124 | window.location.hash='#slidermenu'; // Just making sure we're on the slider screen. |
96 | 125 | } |
97 | 126 | |
98 | 127 | function setSliderValue(id,val) |
r25472 | r25473 | |
112 | 141 | var url = docbase.replace("http://","ws://"); |
113 | 142 | websocket = new WebSocket(url); |
114 | 143 | websocket.onopen = function(ev) { |
115 | | writeConnectionStatus('<b style="color: green;">Connected</b>'); |
| 144 | updateStatusBar('<b style="color: green;">Connected</b>','',''); |
116 | 145 | }; |
117 | 146 | websocket.onclose = function(ev) { |
118 | | writeConnectionStatus('<b style="color: red;">Disconnected</b>'); |
| 147 | updateStatusBar('<b style="color: red;">Disconnected</b>','',''); |
119 | 148 | }; |
120 | 149 | websocket.onmessage = function(ev) { |
121 | 150 | if (ev.data=='update_machine') |
r25472 | r25473 | |
149 | 178 | maindesc_manufacturer.push(data.manufacturer); |
150 | 179 | maindesc_parent.push(data.parent); |
151 | 180 | maindesc_sourcefile.push(data.source_file); |
152 | | |
153 | | $("td#main_statusbar_runningdriver").html(statusbar_runningdriver.join('')); |
154 | | $("td#main_statusbar_ispaused").html(statusbar_ispaused.join('')); |
155 | | $("td#command_statusbar_runningdriver").html(statusbar_runningdriver.join('')); |
156 | | $("td#command_statusbar_ispaused").html(statusbar_ispaused.join('')); |
157 | | $("td#option_statusbar_runningdriver").html(statusbar_runningdriver.join('')); |
158 | | $("td#option_statusbar_ispaused").html(statusbar_ispaused.join('')); |
159 | | $("td#slider_statusbar_runningdriver").html(statusbar_runningdriver.join('')); |
160 | | $("td#slider_statusbar_ispaused").html(statusbar_ispaused.join('')); |
161 | | $("td#driver_statusbar_runningdriver").html(statusbar_runningdriver.join('')); |
162 | | $("td#driver_statusbar_ispaused").html(statusbar_ispaused.join('')); |
163 | | $("td#image_statusbar_runningdriver").html(statusbar_runningdriver.join('')); |
164 | | $("td#image_statusbar_ispaused").html(statusbar_ispaused.join('')); |
165 | | $("td#info_statusbar_runningdriver").html(statusbar_runningdriver.join('')); |
166 | | $("td#info_statusbar_ispaused").html(statusbar_ispaused.join('')); |
167 | | $("td#logs_statusbar_runningdriver").html(statusbar_runningdriver.join('')); |
168 | | $("td#logs_statusbar_ispaused").html(statusbar_ispaused.join('')); |
169 | 181 | $("#maindesc_name").html(maindesc_name.join('')); |
170 | 182 | $("#maindesc_description").html(maindesc_description.join('')); |
171 | 183 | $("#maindesc_year").html(maindesc_year.join('')); |
172 | 184 | $("#maindesc_manufacturer").html(maindesc_manufacturer.join('')); |
173 | 185 | $("#maindesc_parent").html(maindesc_parent.join('')); |
174 | 186 | $("#maindesc_sourcefile").html(maindesc_sourcefile.join('')); |
| 187 | |
| 188 | // Now, actually update the status bar.. |
| 189 | updateStatusBar('',statusbar_ispaused.join(''),statusbar_runningdriver.join('')); |
175 | 190 | }, |
176 | 191 | error: function (request, status, error) { alert(status + ", " + error); } |
177 | 192 | }); |
r25472 | r25473 | |
179 | 194 | |
180 | 195 | }; |
181 | 196 | websocket.onerror = function(ev) { |
182 | | writeConnectionStatus('<b style="color: red; ">Error</b>'); |
| 197 | updateStatusBar('<b style="color: red; ">Error</b>',' ',' '); |
183 | 198 | }; |
184 | 199 | } |
185 | 200 | |
r25472 | r25473 | |
187 | 202 | startWebSocket(); |
188 | 203 | }; |
189 | 204 | </script> |
| 205 | |
190 | 206 | <!-- This begins the MAIN MENU page -------------------------------------------------------------------> |
191 | 207 | <div data-role="page" id="mainmenu"> |
192 | 208 | <div data-theme="a" data-role="header"> |
r25472 | r25473 | |
660 | 676 | <a href="#optionmenu" data-transition="fade" data-icon="gear">Options</a> |
661 | 677 | </li> |
662 | 678 | <li> |
663 | | <a href="#imagemenu" data-transition="fade" data-icon="grid">Image</a> |
| 679 | <a href="#mainmenu" data-transition="fade" data-icon="home">Main Menu</a> |
664 | 680 | </li> |
665 | 681 | <li> |
666 | 682 | <a href="#commandmenu" data-transition="fade" data-icon="star">Commands</a> |
r25472 | r25473 | |
729 | 745 | <div data-role="navbar" data-iconpos="top"> |
730 | 746 | <ul> |
731 | 747 | <li> |
732 | | <a href="#infomenu" data-transition="fade" data-icon="info">Info</a> |
| 748 | <a href="#mainmenu" data-transition="fade" data-icon="home">Main Menu</a> |
733 | 749 | </li> |
734 | 750 | <li> |
735 | 751 | <a href="#logsmenu" data-transition="fade" data-icon="check">Logs</a> |
r25472 | r25473 | |
787 | 803 | <a href="#infomenu" data-transition="fade" data-icon="info">Info</a> |
788 | 804 | </li> |
789 | 805 | <li> |
790 | | <a href="#logsmenu" data-transition="fade" data-icon="check">Logs</a> |
| 806 | <a href="#mainmenu" data-transition="fade" data-icon="home">Main Menu</a> |
791 | 807 | </li> |
792 | 808 | <li> |
793 | 809 | <a href="javascript:takeScreenshot();" data-transition="fade" data-icon="search">Screenshot</a> |