1 <?xml version="1.0" encoding="UTF-8"?>
3 <!-- interface-requires gtk+ 3.0 -->
4 <object class="GtkTextBuffer" id="log_buff"/>
5 <object class="GtkWindow" id="window">
6 <property name="can_focus">False</property>
7 <property name="border_width">5</property>
8 <property name="title" translatable="yes">LMC1</property>
9 <property name="window_position">center-always</property>
10 <property name="default_width">700</property>
11 <property name="default_height">600</property>
13 <object class="GtkBox" id="body">
14 <property name="visible">True</property>
15 <property name="can_focus">False</property>
16 <property name="orientation">vertical</property>
17 <property name="spacing">5</property>
19 <object class="GtkFrame" id="port_body">
20 <property name="visible">True</property>
21 <property name="can_focus">False</property>
22 <property name="label_xalign">0</property>
23 <property name="shadow_type">in</property>
25 <object class="GtkAlignment" id="port_body_alignment">
26 <property name="visible">True</property>
27 <property name="can_focus">False</property>
28 <property name="top_padding">10</property>
29 <property name="bottom_padding">10</property>
30 <property name="left_padding">10</property>
31 <property name="right_padding">10</property>
33 <object class="GtkBox" id="port_columns">
34 <property name="visible">True</property>
35 <property name="can_focus">False</property>
36 <property name="spacing">5</property>
38 <object class="GtkButton" id="send">
39 <property name="label" translatable="yes">Send</property>
40 <property name="use_action_appearance">False</property>
41 <property name="visible">True</property>
42 <property name="can_focus">True</property>
43 <property name="receives_default">True</property>
44 <property name="use_action_appearance">False</property>
45 <signal name="clicked" handler="send_cb" swapped="no"/>
48 <property name="expand">False</property>
49 <property name="fill">True</property>
50 <property name="pack_type">end</property>
51 <property name="position">0</property>
55 <object class="GtkComboBoxText" id="port_list">
56 <property name="width_request">200</property>
57 <property name="visible">True</property>
58 <property name="can_focus">False</property>
59 <property name="has_entry">True</property>
60 <signal name="popup" handler="populate_ports_cb" swapped="no"/>
61 <child internal-child="entry">
62 <object class="GtkEntry" id="port">
63 <property name="can_focus">True</property>
64 <property name="tooltip_text" translatable="yes">The port to communicate with LMC1. For example /dev/ttyUSB0.</property>
69 <property name="expand">False</property>
70 <property name="fill">True</property>
71 <property name="pack_type">end</property>
72 <property name="position">1</property>
76 <object class="GtkLabel" id="port_label">
77 <property name="visible">True</property>
78 <property name="can_focus">False</property>
79 <property name="label" translatable="yes">Port:</property>
82 <property name="expand">False</property>
83 <property name="fill">True</property>
84 <property name="pack_type">end</property>
85 <property name="position">2</property>
93 <object class="GtkLabel" id="port_body_label">
94 <property name="visible">True</property>
95 <property name="can_focus">False</property>
96 <property name="xpad">5</property>
97 <property name="label" translatable="yes"><b>Port</b></property>
98 <property name="use_markup">True</property>
103 <property name="expand">False</property>
104 <property name="fill">True</property>
105 <property name="position">0</property>
109 <object class="GtkFrame" id="out_body">
110 <property name="visible">True</property>
111 <property name="can_focus">False</property>
112 <property name="label_xalign">0</property>
113 <property name="shadow_type">in</property>
115 <object class="GtkAlignment" id="out_body_alignment">
116 <property name="visible">True</property>
117 <property name="can_focus">False</property>
118 <property name="top_padding">10</property>
119 <property name="bottom_padding">10</property>
120 <property name="left_padding">10</property>
121 <property name="right_padding">10</property>
123 <object class="GtkBox" id="out_btns">
124 <property name="visible">True</property>
125 <property name="can_focus">False</property>
126 <property name="spacing">2</property>
127 <property name="homogeneous">True</property>
129 <object class="GtkToggleButton" id="out_16">
130 <property name="label" translatable="yes">16</property>
131 <property name="use_action_appearance">False</property>
132 <property name="visible">True</property>
133 <property name="can_focus">True</property>
134 <property name="receives_default">True</property>
135 <property name="use_action_appearance">False</property>
136 <signal name="toggled" handler="autosend_cb" swapped="no"/>
139 <property name="expand">True</property>
140 <property name="fill">True</property>
141 <property name="position">0</property>
145 <object class="GtkToggleButton" id="out_15">
146 <property name="label" translatable="yes">15</property>
147 <property name="use_action_appearance">False</property>
148 <property name="visible">True</property>
149 <property name="can_focus">True</property>
150 <property name="receives_default">True</property>
151 <property name="use_action_appearance">False</property>
152 <signal name="toggled" handler="autosend_cb" swapped="no"/>
155 <property name="expand">True</property>
156 <property name="fill">True</property>
157 <property name="position">1</property>
161 <object class="GtkToggleButton" id="out_14">
162 <property name="label" translatable="yes">14</property>
163 <property name="use_action_appearance">False</property>
164 <property name="visible">True</property>
165 <property name="can_focus">True</property>
166 <property name="receives_default">True</property>
167 <property name="use_action_appearance">False</property>
168 <signal name="toggled" handler="autosend_cb" swapped="no"/>
171 <property name="expand">True</property>
172 <property name="fill">True</property>
173 <property name="position">2</property>
177 <object class="GtkToggleButton" id="out_13">
178 <property name="label" translatable="yes">13</property>
179 <property name="use_action_appearance">False</property>
180 <property name="visible">True</property>
181 <property name="can_focus">True</property>
182 <property name="receives_default">True</property>
183 <property name="use_action_appearance">False</property>
184 <signal name="toggled" handler="autosend_cb" swapped="no"/>
187 <property name="expand">True</property>
188 <property name="fill">True</property>
189 <property name="position">3</property>
193 <object class="GtkToggleButton" id="out_12">
194 <property name="label" translatable="yes">12</property>
195 <property name="use_action_appearance">False</property>
196 <property name="visible">True</property>
197 <property name="can_focus">True</property>
198 <property name="receives_default">True</property>
199 <property name="use_action_appearance">False</property>
200 <signal name="toggled" handler="autosend_cb" swapped="no"/>
203 <property name="expand">True</property>
204 <property name="fill">True</property>
205 <property name="position">4</property>
209 <object class="GtkToggleButton" id="out_11">
210 <property name="label" translatable="yes">11</property>
211 <property name="use_action_appearance">False</property>
212 <property name="visible">True</property>
213 <property name="can_focus">True</property>
214 <property name="receives_default">True</property>
215 <property name="use_action_appearance">False</property>
216 <signal name="toggled" handler="autosend_cb" swapped="no"/>
219 <property name="expand">True</property>
220 <property name="fill">True</property>
221 <property name="position">5</property>
225 <object class="GtkToggleButton" id="out_10">
226 <property name="label" translatable="yes">10</property>
227 <property name="use_action_appearance">False</property>
228 <property name="visible">True</property>
229 <property name="can_focus">True</property>
230 <property name="receives_default">True</property>
231 <property name="use_action_appearance">False</property>
232 <signal name="toggled" handler="autosend_cb" swapped="no"/>
235 <property name="expand">True</property>
236 <property name="fill">True</property>
237 <property name="position">6</property>
241 <object class="GtkToggleButton" id="out_9">
242 <property name="label" translatable="yes">9</property>
243 <property name="use_action_appearance">False</property>
244 <property name="visible">True</property>
245 <property name="can_focus">True</property>
246 <property name="receives_default">True</property>
247 <property name="use_action_appearance">False</property>
248 <signal name="toggled" handler="autosend_cb" swapped="no"/>
251 <property name="expand">True</property>
252 <property name="fill">True</property>
253 <property name="position">7</property>
257 <object class="GtkToggleButton" id="out_8">
258 <property name="label" translatable="yes">8</property>
259 <property name="use_action_appearance">False</property>
260 <property name="visible">True</property>
261 <property name="can_focus">True</property>
262 <property name="receives_default">True</property>
263 <property name="use_action_appearance">False</property>
264 <signal name="toggled" handler="autosend_cb" swapped="no"/>
267 <property name="expand">True</property>
268 <property name="fill">True</property>
269 <property name="position">8</property>
273 <object class="GtkToggleButton" id="out_7">
274 <property name="label" translatable="yes">7</property>
275 <property name="use_action_appearance">False</property>
276 <property name="visible">True</property>
277 <property name="can_focus">True</property>
278 <property name="receives_default">True</property>
279 <property name="use_action_appearance">False</property>
280 <signal name="toggled" handler="autosend_cb" swapped="no"/>
283 <property name="expand">True</property>
284 <property name="fill">True</property>
285 <property name="position">9</property>
289 <object class="GtkToggleButton" id="out_6">
290 <property name="label" translatable="yes">6</property>
291 <property name="use_action_appearance">False</property>
292 <property name="visible">True</property>
293 <property name="can_focus">True</property>
294 <property name="receives_default">True</property>
295 <property name="use_action_appearance">False</property>
296 <signal name="toggled" handler="autosend_cb" swapped="no"/>
299 <property name="expand">True</property>
300 <property name="fill">True</property>
301 <property name="position">10</property>
305 <object class="GtkToggleButton" id="out_5">
306 <property name="label" translatable="yes">5</property>
307 <property name="use_action_appearance">False</property>
308 <property name="visible">True</property>
309 <property name="can_focus">True</property>
310 <property name="receives_default">True</property>
311 <property name="use_action_appearance">False</property>
312 <signal name="toggled" handler="autosend_cb" swapped="no"/>
315 <property name="expand">True</property>
316 <property name="fill">True</property>
317 <property name="position">11</property>
321 <object class="GtkToggleButton" id="out_4">
322 <property name="label" translatable="yes">4</property>
323 <property name="use_action_appearance">False</property>
324 <property name="visible">True</property>
325 <property name="can_focus">True</property>
326 <property name="receives_default">True</property>
327 <property name="use_action_appearance">False</property>
328 <signal name="toggled" handler="autosend_cb" swapped="no"/>
331 <property name="expand">True</property>
332 <property name="fill">True</property>
333 <property name="position">12</property>
337 <object class="GtkToggleButton" id="out_3">
338 <property name="label" translatable="yes">3</property>
339 <property name="use_action_appearance">False</property>
340 <property name="visible">True</property>
341 <property name="can_focus">True</property>
342 <property name="receives_default">True</property>
343 <property name="use_action_appearance">False</property>
344 <signal name="toggled" handler="autosend_cb" swapped="no"/>
347 <property name="expand">True</property>
348 <property name="fill">True</property>
349 <property name="position">13</property>
353 <object class="GtkToggleButton" id="out_2">
354 <property name="label" translatable="yes">2</property>
355 <property name="use_action_appearance">False</property>
356 <property name="visible">True</property>
357 <property name="can_focus">True</property>
358 <property name="receives_default">True</property>
359 <property name="use_action_appearance">False</property>
360 <signal name="toggled" handler="autosend_cb" swapped="no"/>
363 <property name="expand">True</property>
364 <property name="fill">True</property>
365 <property name="position">14</property>
369 <object class="GtkToggleButton" id="out_1">
370 <property name="label" translatable="yes">1</property>
371 <property name="use_action_appearance">False</property>
372 <property name="visible">True</property>
373 <property name="can_focus">True</property>
374 <property name="receives_default">True</property>
375 <property name="use_action_appearance">False</property>
376 <signal name="toggled" handler="autosend_cb" swapped="no"/>
379 <property name="expand">True</property>
380 <property name="fill">True</property>
381 <property name="position">15</property>
389 <object class="GtkLabel" id="out_body_label">
390 <property name="visible">True</property>
391 <property name="can_focus">False</property>
392 <property name="xpad">5</property>
393 <property name="label" translatable="yes"><b>Outputs</b></property>
394 <property name="use_markup">True</property>
399 <property name="expand">False</property>
400 <property name="fill">True</property>
401 <property name="position">1</property>
405 <object class="GtkFrame" id="opts_body">
406 <property name="visible">True</property>
407 <property name="can_focus">False</property>
408 <property name="label_xalign">0</property>
409 <property name="shadow_type">in</property>
411 <object class="GtkAlignment" id="opts_body_alignment">
412 <property name="visible">True</property>
413 <property name="can_focus">False</property>
414 <property name="top_padding">10</property>
415 <property name="bottom_padding">10</property>
416 <property name="left_padding">10</property>
417 <property name="right_padding">10</property>
419 <object class="GtkBox" id="opts_rows">
420 <property name="visible">True</property>
421 <property name="can_focus">False</property>
422 <property name="orientation">vertical</property>
424 <object class="GtkCheckButton" id="opt_autosend">
425 <property name="label" translatable="yes">Auto send.</property>
426 <property name="use_action_appearance">False</property>
427 <property name="visible">True</property>
428 <property name="can_focus">True</property>
429 <property name="receives_default">False</property>
430 <property name="tooltip_text" translatable="yes">Auto send command on output change.</property>
431 <property name="use_action_appearance">False</property>
432 <property name="xalign">0</property>
433 <property name="draw_indicator">True</property>
434 <signal name="toggled" handler="autosend_changed_cb" swapped="no"/>
437 <property name="expand">False</property>
438 <property name="fill">True</property>
439 <property name="position">0</property>
443 <object class="GtkCheckButton" id="opt_sim">
444 <property name="label" translatable="yes">Simulation.</property>
445 <property name="use_action_appearance">False</property>
446 <property name="visible">True</property>
447 <property name="can_focus">True</property>
448 <property name="receives_default">False</property>
449 <property name="tooltip_text" translatable="yes">Do not send the command, just show what the command will be.</property>
450 <property name="use_action_appearance">False</property>
451 <property name="xalign">0</property>
452 <property name="draw_indicator">True</property>
455 <property name="expand">False</property>
456 <property name="fill">True</property>
457 <property name="position">1</property>
465 <object class="GtkLabel" id="opts_body_label">
466 <property name="visible">True</property>
467 <property name="can_focus">False</property>
468 <property name="xpad">5</property>
469 <property name="label" translatable="yes"><b>Options</b></property>
470 <property name="use_markup">True</property>
475 <property name="expand">False</property>
476 <property name="fill">True</property>
477 <property name="position">2</property>
481 <object class="GtkFrame" id="log_body">
482 <property name="visible">True</property>
483 <property name="can_focus">False</property>
484 <property name="label_xalign">0</property>
485 <property name="shadow_type">in</property>
487 <object class="GtkAlignment" id="log_body_alignment">
488 <property name="visible">True</property>
489 <property name="can_focus">False</property>
490 <property name="top_padding">10</property>
491 <property name="bottom_padding">10</property>
492 <property name="left_padding">10</property>
493 <property name="right_padding">10</property>
495 <object class="GtkScrolledWindow" id="log_scrolledwindow">
496 <property name="visible">True</property>
497 <property name="can_focus">True</property>
498 <property name="hscrollbar_policy">never</property>
499 <property name="shadow_type">in</property>
501 <object class="GtkTextView" id="log_view">
502 <property name="visible">True</property>
503 <property name="can_focus">True</property>
504 <property name="editable">False</property>
505 <property name="wrap_mode">word</property>
506 <property name="cursor_visible">False</property>
507 <property name="buffer">log_buff</property>
515 <object class="GtkLabel" id="log_body_label">
516 <property name="visible">True</property>
517 <property name="can_focus">False</property>
518 <property name="xpad">5</property>
519 <property name="label" translatable="yes"><b>Log</b></property>
520 <property name="use_markup">True</property>
525 <property name="expand">True</property>
526 <property name="fill">True</property>
527 <property name="position">3</property>