source: EcnlProtoTool/trunk/webapp/webmrbc/index.html@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html
File size: 22.0 KB
Line 
1<!doctype html>
2<html lang="ja-jp">
3<head>
4 <meta charset="utf-8" />
5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7 <title>TOPPERS/ECNL for mruby Prototyping Tool</title>
8 <link rel="stylesheet" href="bootstrap/css/bootstrap.css" />
9 <link rel="stylesheet" href="bootstrap/css/bootstrap-theme.css" />
10 <link rel="stylesheet" href="bootstrap/css/ie10-viewport-bug-workaround.css">
11 <link rel="stylesheet" href="xterm/src/xterm.css" />
12 <link rel="stylesheet" href="css/webmrbc.css" />
13 <script src="js/jquery-3.1.0.js"></script>
14 <script src="bootstrap/js/bootstrap.js"></script>
15 <script src="bootstrap/js/ie-emulation-modes-warning.js"></script>
16 <script src="xterm/src/xterm.js"></script>
17 <script src="xterm/addons/fit/fit.js"></script>
18 <script src="ace/ace.js" type="text/javascript" charset="utf-8"></script>
19 <script src="ace/theme-twilight.js" type="text/javascript" charset="utf-8"></script>
20 <script src="ace/mode-ruby.js" type="text/javascript" charset="utf-8"></script>
21 <script src="js/blockly.js" type="text/javascript"></script>
22 <script src="js/jszip.js"></script>
23 <script src="js/FileSaver.js" type="text/javascript"></script>
24 <script async src="mrbc.js" type="text/javascript"></script>
25 <script src="js/bridge.js" type="text/javascript"></script>
26 <script src="js/webmrbc.js" type="text/javascript"></script>
27</head>
28<body>
29 <div class="navbar navbar-inverse" id="main-menu">
30 <div class="container">
31 <ul class="nav navbar-nav" id="tabs">
32 <li class="active">
33 <a href="#block-tab" id="block-mode-button" onclick="WebMrbc.Views.MainMenuView.onBlockMode()">
34 <i class="glyphicon glyphicon-equalizer"></i>
35 ブロック
36 </a>
37 </li>
38 <li>
39 <a href="#ruby-tab" id="ruby-mode-button" onclick="WebMrbc.Views.MainMenuView.onRubyMode()">
40 <i class="glyphicon glyphicon-pencil"></i>
41 Ruby
42 </a>
43 </li>
44 <li>
45 <a href="#output-tab" id="output-mode-button" onclick="WebMrbc.Views.MainMenuView.onOutputMode()">
46 <i class="glyphicon glyphicon-console"></i>
47 出力
48 </a>
49 </li>
50 </ul>
51 <form accept-charset="UTF-8" action="/upload" class="navbar-form pull-right" enctype="multipart/form-data" id="file-form" method="post">
52 <div class="btn-group">
53 <a class="dropdown-toggle btn btn-primary" data-toggle="dropdown" href="#menu" id="submenu-button">
54 <i class="glyphicon glyphicon-th-list"></i>
55 メニュー
56 </a>
57 <ul class="dropdown-menu pull-right" id="submenu">
58 <li>
59 <a id="load-local-button">
60 <h4>
61 <label for="load-file">
62 <i class="glyphicon glyphicon-folder-open"></i>
63 ロード
64 </label>
65 <input type="file" name="workspace_xml" id="load-file" accept=".xml,application/xml" style="position:absolute; visibility: hidden" onclick="WebMrbc.Views.MainMenuView.onLoad()" />
66 </h4>
67 </a>
68 </li>
69 <li>
70 <a id="save-button" onclick="WebMrbc.Views.MainMenuView.onSaveWorkspace()">
71 <h4>
72 <i class="glyphicon glyphicon-hdd"></i>
73 ブロックを保存
74 </h4>
75 </a>
76 </li>
77 <li>
78 <a id="save-button" onclick="WebMrbc.Views.MainMenuView.onSaveRuby()">
79 <h4>
80 <i class="glyphicon glyphicon-hdd"></i>
81 Rubyコードを保存
82 </h4>
83 </a>
84 </li>
85 <li>
86 <a id="reset-button" onclick="WebMrbc.Views.MainMenuView.onReset()">
87 <h4>
88 <i class="glyphicon glyphicon-off"></i>
89 リセット
90 </h4>
91 </a>
92 </li>
93 </ul>
94 </div>
95 <div class="btn-group">
96 <a class="dropdown-toggle btn btn-info" data-toggle="dropdown" href="#compile" id="compile-submenu-button">
97 <i class="glyphicon glyphicon-random"></i>
98 ビルド
99 </a>
100 <ul class="dropdown-menu pull-right" id="compile-submenu">
101 <li>
102 <a id="mrbc-help-button" onclick="WebMrbc.Views.MainMenuView.onHelp()">
103 <h4>
104 <i class="glyphicon glyphicon-question-sign"></i>
105 ヘルプ
106 </h4>
107 </a>
108 </li>
109 <li>
110 <a id="mrbc-version-button" onclick="WebMrbc.Views.MainMenuView.onVersion()">
111 <h4>
112 <i class="glyphicon glyphicon-info-sign"></i>
113 バージョン
114 </h4>
115 </a>
116 </li>
117 <li>
118 <a id="mrbc-compile-to-c-button" onclick="WebMrbc.Views.MainMenuView.onCompileToC()">
119 <h4>
120 <i class="glyphicon glyphicon-circle-arrow-down"></i>
121 ビルド(.c)
122 </h4>
123 </a>
124 </li>
125 <li>
126 <a id="mrbc-compile-to-bin-button" onclick="WebMrbc.Views.MainMenuView.onCompileToMrb()">
127 <h4>
128 <i class="glyphicon glyphicon-download"></i>
129 ビルド(.mrb)
130 </h4>
131 </a>
132 </li>
133 </ul>
134 </div>
135 <a class="btn btn-default" id="run-button" onclick="WebMrbc.Views.MainMenuView.onRun()">
136 <i class="glyphicon glyphicon-send"></i>
137 実行
138 </a>
139 <a class="btn btn-link" id="information-button" onclick="WebMrbc.Views.MainMenuView.onInformationOpen()">
140 <i class="glyphicon glyphicon-info-sign"></i>
141 </a>
142 </form>
143 </div>
144 </div>
145
146 <div class="tab-content" id="modes-container">
147 <div class="tab-pane active modes-tab-pane" id="block-tab">
148 <div class="right-pane" id="block-tab-right-pane">
149 </div>
150 <div class="left-pane" id="block-tab-left-pane">
151 <div id="selectors-container">
152 <ul class="nav nav-pills">
153 <li class="active">
154 <a data-toggle="tab" href="#class-selector-tab">クラス</a>
155 </li>
156 </ul>
157 <div class="tab-content" id="selectors-tab-content">
158 <div class="tab-pane active selector-tab" id="class-selector-tab">
159 <div id="class-selector-celltype-set"></div>
160 <div class="item" id="add-celltype-item">
161 <a class="celltype" id="add-celltype-button">
162 <i class="glyphicon glyphicon-plus"></i>
163 <br>
164 新しい機器オブジェクト
165 </a>
166 </div>
167 </div>
168 </div>
169 </div>
170 </div>
171 </div>
172
173 <div class="tab-pane modes-tab-pane" id="ruby-tab">
174 <div class="ace_editor ace-clouds" id="text-editor"><textarea style="opacity: 0;" spellcheck="false" class="ace_text-input" nowrap></textarea><div class="ace_gutter"><div class="ace_layer ace_gutter-layer ace_folding-enabled"></div><div class="ace_gutter-active-line"></div></div><div class="ace_scroller"><div class="ace_content"><div class="ace_layer ace_print-margin-layer"><div style="left: 4px; visibility: visible;" class="ace_print-margin"></div></div><div class="ace_layer ace_marker-layer"></div><div style="padding: 0px 4px;" class="ace_layer ace_text-layer"></div><div class="ace_layer ace_marker-layer"></div><div class="ace_layer ace_cursor-layer ace_hidden-cursors"><div class="ace_cursor"></div></div></div></div><div style="height: auto; width: auto; top: -100px; left: -100px; visibility: hidden; position: fixed; overflow: visible; white-space: nowrap;">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div><div style="width: 22px; display: none; overflow-y: scroll;" class="ace_scrollbar"><div style="width: 22px;" class="ace_scrollbar-inner"></div></div><div style="height: 22px; display: none; overflow-x: scroll;" class="ace_scrollbar-h"><div style="height: 22px;" class="ace_scrollbar-inner"></div></div></div>
175 </div>
176
177 <div class="tab-pane modes-tab-pane" id="output-tab">
178 <div id="term-box">
179 <div id="term"></div>
180 </div>
181 <div id="emscripten-box">
182 <a href="http://emscripten.org" id="emscripten_logo">
183 <img src="img/banner.svg" />
184 </a>
185 <div class="spinner" id='spinner'></div>
186 <div class="emscripten" id="status">Downloading...</div>
187 <div class="emscripten">
188 <progress value="0" max="100" id="progress" hidden></progress>
189 </div>
190 </div>
191 </div>
192 </div>
193
194 <div id="eobject-modal" class="modal fade">
195 <div class="modal-dialog">
196 <div class="modal-content">
197 <div class="modal-body">
198 <div class="right-pane" id="eobject-modal-right-pane">
199 <div id="eobject-modal-right-pane-inner">
200 <div class="btn-group-vertical" data-toggle="buttons" id="eobject_properties">
201 <label class="btn btn-default">
202 <input type="checkbox" autocomplete="off">動作状態
203 </label>
204 <label class="btn btn-default">
205 <input type="checkbox" autocomplete="off">設置場所
206 </label>
207 </div>
208 </div>
209 </div>
210 <div class="left-pane" id="eobject-modal-left-pane">
211 <div class="ui-droppable" id="eobject-modal-preview">
212 <div style="left: 0px; top: 0px; transform: rotate(0deg) scaleX(1);" class="ui-draggable" id="eobject-modal-celltype">
213 <img alt="no_image.png" src="img/no_image.png">
214 </div>
215 </div>
216 <div id="eobject-modal-attributes">
217 <form class="form-horizontal" id="eobject-modal-form">
218 <div class="control-group" for="celltype[identifier]">
219 <label class="control-label" for="eobject_identifier">名前</label>
220 <div class="controls">
221 <input class="form-control" id="eobject_identifier" name="eobject[identifier]" placeholder="Identifier" type="text" onchange="external.onChangeIdentifier(this)">
222 </div>
223 </div>
224 <div class="control-group" for="celltype[attribute]">
225 <label class="control-label" for="eobject_attribute">区分</label>
226 <div class="dropdown">
227 <button class="btn btn-default dropdown-toggle" type="button" id="eobject_attribute" data-toggle="dropdown" aria-expanded="false">
228 区分
229 <span class="caret"></span>
230 </button>
231 <ul class="dropdown-menu" role="menu" aria-labelledby="eobject_attribute">
232 <li role="presentation"><a role="menuitem" onclick="WebMrbc.Views.EObjectModalView.onSelectAttribute(this, 'local')">ローカルノード</a></li>
233 <li role="presentation"><a role="menuitem" onclick="WebMrbc.Views.EObjectModalView.onSelectAttribute(this, 'sync')">リモートノード(同期)</a></li>
234 <li role="presentation"><a role="menuitem" onclick="WebMrbc.Views.EObjectModalView.onSelectAttribute(this, 'async')">リモートノード(非同期)</a></li>
235 <li role="presentation"><a role="menuitem" onclick="WebMrbc.Views.EObjectModalView.onSelectAttribute(this, 'device')">機器オブジェクト</a></li>
236 </ul>
237 </div>
238 </div>
239 <div class="control-group" for="celltype[classGroupCode]">
240 <label class="control-label" for="eobject_classGroupCode">クラスグループ</label>
241 <div class="dropdown">
242 <button class="btn btn-default dropdown-toggle" type="button" id="eobject_classGroupCode" data-toggle="dropdown" aria-expanded="false">
243 クラスグループ
244 <span class="caret"></span>
245 </button>
246 <ul class="dropdown-menu" role="menu" aria-labelledby="eobject_classGroupCode" id="eobject_classGroups">
247 <li role="presentation"><a role="menuitem">センサー関連機器</a></li>
248 <li role="presentation"><a role="menuitem">空調関連機器</a></li>
249 </ul>
250 </div>
251 </div>
252 <div class="control-group" for="celltype[classCode]">
253 <label class="control-label" for="eobject_classCode">クラス</label>
254 <div class="dropdown">
255 <button class="btn btn-default dropdown-toggle" type="button" id="eobject_classCode" data-toggle="dropdown" aria-expanded="false">
256 クラス
257 <span class="caret"></span>
258 </button>
259 <ul class="dropdown-menu" role="menu" aria-labelledby="eobject_classCode" id="eobject_classs">
260 <li role="presentation"><a role="menuitem">ガス漏れセンサ</a></li>
261 <li role="presentation"><a role="menuitem">防犯センサ</a></li>
262 <li role="presentation"><a role="menuitem">非常ボタン</a></li>
263 </ul>
264 </div>
265 </div>
266 <div class="control-group" for="celltype[instanceCode]">
267 <label class="control-label" for="eobject_instanceCode">インスタンス</label>
268 <div class="controls">
269 <input class="form-control" id="eobject_instanceCode" name="celltype[instanceCode]" placeholder="1~127" type="text" onchange="WebMrbc.Views.EObjectModalView.onChangeInstanceCode(this)">
270 </div>
271 </div>
272 </form>
273 </div>
274 </div>
275 </div>
276 <div class="modal-footer">
277 <button aria-hidden="true" class="btn btn-default" onclick="WebMrbc.Views.EObjectModalView.onCancel(this)"><i class="glyphicon glyphicon-remove"></i>やめる</button>
278 <button class="btn btn-primary" id="eobject-modal-ok-button" onclick="WebMrbc.Views.EObjectModalView.onOk(this)"><i class="glyphicon glyphicon-ok"></i>決めた!</button>
279 </div>
280 </div>
281 </div>
282
283 <script id="class-selector-template" type="text/template">
284 <div class='item' id="%identifier%">
285 <div class='item-info'>
286 <div class='name'>
287 %identifier%
288 </div>
289 <div class='attributes'>
290 %attribute%
291 </div>
292 <a class='modify-button'>
293 <i class='glyphicon glyphicon-cog'></i>
294 </a>
295 <span class="topright-buttons">
296 <a class='selected-mark'>
297 <i class='glyphicon glyphicon-chevron-right'></i>
298 </a>
299 <a class='remove-button'>
300 <i class='glyphicon glyphicon-remove'></i>
301 </a>
302 </span>
303 </div>
304 <a class='celltype'>
305 <img src='%img%'>
306 </a>
307 </div>
308 </script>
309 </div>
310
311 <div id="message-modal" class="modal fade">
312 <div class="modal-dialog">
313 <div class="modal-content">
314 <div class="modal-body">
315 <div id="message-text">実行ファイルを転送しています。</div>
316 </div>
317 <div class="modal-footer" style="text-align: right;">
318 <button id="message-button" class="btn btn-default" hidden onclick="WebMrbc.Views.MainMenuView.onMessageClose()">OK</button>
319 </div>
320 </div>
321 </div>
322 </div>
323
324 <div id="information-modal" class="modal fade">
325 <div class="modal-dialog">
326 <div class="modal-content">
327 <div class="modal-body">
328 <div class="panel panel-default">
329 <div class="panel-heading">
330 ソフトウェア情報
331 </div>
332 <div id="software-list" class="list-group">
333 </div>
334 </div>
335 <div style="text-align: right;">
336 <button id="information-button" class="btn btn-default" hidden onclick="WebMrbc.Views.MainMenuView.onInformationClose()">OK</button>
337 </div>
338 </div>
339 <div class="modal-footer" style="text-align: right;">
340 <a href="http://www.core-s.co.jp" target="_blank" style="text-align: center">
341 <p class="list-group-item-text"><img src="img/core-s.svg">コアーズ株式会社</p>
342 </a>
343 </div>
344 </div>
345 </div>
346 </div>
347
348 <xml id="toolbox" style="display: none">
349 <category name="Logic" colour="210">
350 <block type="controls_if"></block>
351 <block type="switch_case_number"></block>
352 <block type="switch_case_text"></block>
353 <block type="logic_compare"></block>
354 <block type="logic_operation"></block>
355 <block type="logic_negate"></block>
356 <block type="logic_boolean"></block>
357 <block type="logic_null"></block>
358 <block type="logic_ternary"></block>
359 </category>
360 <category name="Loops" colour="120">
361 <block type="controls_repeat_ext">
362 <value name="TIMES">
363 <shadow type="math_number">
364 <field name="NUM">10</field>
365 </shadow>
366 </value>
367 </block>
368 <block type="controls_whileUntil"></block>
369 <block type="controls_for">
370 <value name="FROM">
371 <shadow type="math_number">
372 <field name="NUM">1</field>
373 </shadow>
374 </value>
375 <value name="TO">
376 <shadow type="math_number">
377 <field name="NUM">10</field>
378 </shadow>
379 </value>
380 <value name="BY">
381 <shadow type="math_number">
382 <field name="NUM">1</field>
383 </shadow>
384 </value>
385 </block>
386 <block type="controls_forEach"></block>
387 <block type="controls_flow_statements"></block>
388 </category>
389 <category name="Math" colour="230">
390 <block type="math_number"></block>
391 <block type="math_arithmetic">
392 <value name="A">
393 <shadow type="math_number">
394 <field name="NUM">1</field>
395 </shadow>
396 </value>
397 <value name="B">
398 <shadow type="math_number">
399 <field name="NUM">1</field>
400 </shadow>
401 </value>
402 </block>
403 <block type="math_single">
404 <value name="NUM">
405 <shadow type="math_number">
406 <field name="NUM">9</field>
407 </shadow>
408 </value>
409 </block>
410 <block type="math_trig">
411 <value name="NUM">
412 <shadow type="math_number">
413 <field name="NUM">45</field>
414 </shadow>
415 </value>
416 </block>
417 <block type="math_constant"></block>
418 <block type="math_number_property">
419 <value name="NUMBER_TO_CHECK">
420 <shadow type="math_number">
421 <field name="NUM">0</field>
422 </shadow>
423 </value>
424 </block>
425 <block type="math_round">
426 <value name="NUM">
427 <shadow type="math_number">
428 <field name="NUM">3.1</field>
429 </shadow>
430 </value>
431 </block>
432 <block type="math_on_list"></block>
433 <block type="math_modulo">
434 <value name="DIVIDEND">
435 <shadow type="math_number">
436 <field name="NUM">64</field>
437 </shadow>
438 </value>
439 <value name="DIVISOR">
440 <shadow type="math_number">
441 <field name="NUM">10</field>
442 </shadow>
443 </value>
444 </block>
445 <block type="math_constrain">
446 <value name="VALUE">
447 <shadow type="math_number">
448 <field name="NUM">50</field>
449 </shadow>
450 </value>
451 <value name="LOW">
452 <shadow type="math_number">
453 <field name="NUM">1</field>
454 </shadow>
455 </value>
456 <value name="HIGH">
457 <shadow type="math_number">
458 <field name="NUM">100</field>
459 </shadow>
460 </value>
461 </block>
462 <block type="math_random_int">
463 <value name="FROM">
464 <shadow type="math_number">
465 <field name="NUM">1</field>
466 </shadow>
467 </value>
468 <value name="TO">
469 <shadow type="math_number">
470 <field name="NUM">100</field>
471 </shadow>
472 </value>
473 </block>
474 <block type="math_random_float"></block>
475 </category>
476 <category name="Text" colour="160">
477 <block type="text"></block>
478 <block type="text_join"></block>
479 <block type="text_append">
480 <value name="TEXT">
481 <shadow type="text"></shadow>
482 </value>
483 </block>
484 <block type="text_length">
485 <value name="VALUE">
486 <shadow type="text">
487 <field name="TEXT">abc</field>
488 </shadow>
489 </value>
490 </block>
491 <block type="text_isEmpty">
492 <value name="VALUE">
493 <shadow type="text">
494 <field name="TEXT"></field>
495 </shadow>
496 </value>
497 </block>
498 <block type="text_indexOf">
499 <value name="VALUE">
500 <block type="variables_get">
501 <field name="VAR">text</field>
502 </block>
503 </value>
504 <value name="FIND">
505 <shadow type="text">
506 <field name="TEXT">abc</field>
507 </shadow>
508 </value>
509 </block>
510 <block type="text_charAt">
511 <value name="VALUE">
512 <block type="variables_get">
513 <field name="VAR">text</field>
514 </block>
515 </value>
516 </block>
517 <block type="text_getSubstring">
518 <value name="STRING">
519 <block type="variables_get">
520 <field name="VAR">text</field>
521 </block>
522 </value>
523 </block>
524 <block type="text_changeCase">
525 <value name="TEXT">
526 <shadow type="text">
527 <field name="TEXT">abc</field>
528 </shadow>
529 </value>
530 </block>
531 <block type="text_trim">
532 <value name="TEXT">
533 <shadow type="text">
534 <field name="TEXT">abc</field>
535 </shadow>
536 </value>
537 </block>
538 <block type="text_print">
539 <value name="TEXT">
540 <shadow type="text">
541 <field name="TEXT">abc</field>
542 </shadow>
543 </value>
544 </block>
545 <block type="text_prompt_ext">
546 <value name="TEXT">
547 <shadow type="text">
548 <field name="TEXT">abc</field>
549 </shadow>
550 </value>
551 </block>
552 </category>
553 <category name="Lists" colour="260">
554 <block type="lists_create_with">
555 <mutation items="0"></mutation>
556 </block>
557 <block type="lists_create_with"></block>
558 <block type="lists_repeat">
559 <value name="NUM">
560 <shadow type="math_number">
561 <field name="NUM">5</field>
562 </shadow>
563 </value>
564 </block>
565 <block type="lists_length"></block>
566 <block type="lists_isEmpty"></block>
567 <block type="lists_indexOf">
568 <value name="VALUE">
569 <block type="variables_get">
570 <field name="VAR">list</field>
571 </block>
572 </value>
573 </block>
574 <block type="lists_getIndex">
575 <value name="VALUE">
576 <block type="variables_get">
577 <field name="VAR">list</field>
578 </block>
579 </value>
580 </block>
581 <block type="lists_setIndex">
582 <value name="LIST">
583 <block type="variables_get">
584 <field name="VAR">list</field>
585 </block>
586 </value>
587 </block>
588 <block type="lists_getSublist">
589 <value name="LIST">
590 <block type="variables_get">
591 <field name="VAR">list</field>
592 </block>
593 </value>
594 </block>
595 <block type="lists_split">
596 <value name="DELIM">
597 <shadow type="text">
598 <field name="TEXT">,</field>
599 </shadow>
600 </value>
601 </block>
602 <block type="lists_sort"></block>
603 </category>
604 <category name="Color" colour="20">
605 <block type="colour_picker"></block>
606 <block type="colour_random"></block>
607 <block type="colour_rgb">
608 <value name="RED">
609 <shadow type="math_number">
610 <field name="NUM">100</field>
611 </shadow>
612 </value>
613 <value name="GREEN">
614 <shadow type="math_number">
615 <field name="NUM">50</field>
616 </shadow>
617 </value>
618 <value name="BLUE">
619 <shadow type="math_number">
620 <field name="NUM">0</field>
621 </shadow>
622 </value>
623 </block>
624 <block type="colour_blend">
625 <value name="COLOUR1">
626 <shadow type="colour_picker">
627 <field name="COLOUR">#ff0000</field>
628 </shadow>
629 </value>
630 <value name="COLOUR2">
631 <shadow type="colour_picker">
632 <field name="COLOUR">#3333ff</field>
633 </shadow>
634 </value>
635 <value name="RATIO">
636 <shadow type="math_number">
637 <field name="NUM">0.5</field>
638 </shadow>
639 </value>
640 </block>
641 </category>
642 <sep></sep>
643 <category name="Variables" custom="VARIABLE" colour="330"></category>
644 <category name="Functions" custom="PROCEDURE" colour="290"></category>
645 </xml>
646</body>
647</html>
Note: See TracBrowser for help on using the repository browser.