Browse Source

MeshViewer html tweak.

undefined
Benjamin ‘Touky’ Huet Sam Hocevar <sam@hocevar.net> 11 years ago
parent
commit
5552fc9c25
1 changed files with 178 additions and 180 deletions
  1. +178
    -180
      test/meshviewer_index.html

+ 178
- 180
test/meshviewer_index.html View File

@@ -10,21 +10,21 @@
<head>

<style type="text/css">
body
{
font:12px Consolas;
}
body
{
font:12px Consolas;
}
#status_field
{
font:12px Consolas;
font:12px Consolas;
}
button
{
font:14px Consolas;
font:14px Consolas;
}
textarea
{
font:14px Consolas;
font:14px Consolas;
}
progress
{
@@ -60,7 +60,7 @@ progress::-webkit-progress-value
left: 40%;
z-index: 3;
}
nacl_div
#DIV_nacl_div
{
position: absolute;
top: 2px;
@@ -81,9 +81,9 @@ nacl_div

<script src="./TypeDictionnary.js"></script>
<script type="text/javascript">
var EasyMeshDict = new TypeDictionnary("EasyMesh");
function GetCmdDictionnary() { return EasyMeshDict; }
</script>
var EasyMeshDict = new TypeDictionnary("EasyMesh");
function GetCmdDictionnary() { return EasyMeshDict; }
</script>
<script src="./EasyMeshDictionnary.js"></script>

<script type="text/javascript">
@@ -100,168 +100,168 @@ nacl_div
window.setTimeout("Tick()", 100);
window.setTimeout("Init()", 100);

function Init()
{
nacl_div = document.getElementById('DIV_nacl_div');
mesh_code_module = document.getElementById('DIV_MeshCode');
code_helper_cmd[0] = document.getElementById('DIV_command0');
code_helper_cmd[1] = document.getElementById('DIV_command1');
code_helper_arg = document.getElementById('DIV_args');
code_helper_cmt = document.getElementById('DIV_comment');
code_helper_var = document.getElementById('DIV_var_usage');
code_helper_alpha = document.getElementById('DIV_alphabet');
code_helper_alpha.innerHTML = '&nbsp;[';
for (var a = 'a'.charCodeAt(0); a <= 'z'.charCodeAt(0); a++)
{
var stop = false;
for (var i = 0; !stop && i < EasyMeshDict.m_cmds.length; i++)
{
for (var j = 0; j < EasyMeshDict.m_cmds[i].m_name.length; j++)
{
if (EasyMeshDict.m_cmds[i].m_name[j][0] == String.fromCharCode(a))
{
code_helper_alpha.innerHTML += '<b>' + String.fromCharCode(a) + '</b>';
stop = true;
break;
}
}
}
if (!stop)
code_helper_alpha.innerHTML += '.';
}
code_helper_alpha.innerHTML += ']&nbsp;<br>&nbsp;';
}
function Tick()
{
window.setTimeout("Tick()", 100);
/* -- cmd lookup code. */
if (mesh_code_module != undefined)
{
var cmd_size = 8;
var found = FindMatchingCommand(mesh_code_module);
if (found.match_list.length > 0)
{
var type_list = new Array();
code_helper_cmd[0].innerHTML = "";
code_helper_cmd[1].innerHTML = "";
code_helper_arg.innerHTML = "";
code_helper_cmt.innerHTML = "";
//Go through the found matches and show them.
for (var i = 0; i < found.match_list.length; i++)
{
var cur_match = EasyMeshDict.m_cmds[found.match_list[i]];
code_helper_cmd[0].innerHTML += '[';
var max = cur_match.m_name.length;
var word = 0;
for (var j = 0; j < max; j++)
{
var mth = found.match;
var cmd = cur_match.m_name[j];
//Matching start caracters should be bold
if (mth == cmd.slice(0, mth.length))
{
code_helper_cmd[word].innerHTML += '&nbsp;';
code_helper_cmd[word].innerHTML += '<b>' + mth + '</b>';
code_helper_cmd[word].innerHTML += cmd.slice(mth.length, cmd.length);
word++;
}
}
//Complete empty command by <br> so commands in the two columns are on the same line
word = (word > 0)?(2):(0);
while (word-- > 0)
code_helper_cmd[word].innerHTML += "<br>";
//Go through the arguments and show them
if (found.match_list.length < 4 && i == 0)
{
code_helper_arg.innerHTML += "&nbsp;>&nbsp;";
if (cur_match.m_arg != undefined)
{
max = cur_match.m_arg.length;
var found_optional = false;
for (var j = 0; j < max; j++)
{
if (cur_match.m_arg[j].m_optional != undefined && found_optional == false)
{
var tab = '<br>'; for (var l = 0; l < 5; l++) tab += '&nbsp;';
code_helper_arg.innerHTML += tab + 'Opt: [';
found_optional = true;
}
else if (j > 0)
code_helper_arg.innerHTML += ', ';
//Types are bold
code_helper_arg.innerHTML += '<b>' + cur_match.m_arg[j].m_type + '</b> ';
type_list[type_list.length] = cur_match.m_arg[j].m_type;
//Names are not
code_helper_arg.innerHTML += cur_match.m_arg[j].m_name;
if (cur_match.m_arg[j].m_optional != undefined)
code_helper_arg.innerHTML += ' = <b>' + cur_match.m_arg[j].m_optional + '</b>';
}
if (found_optional == true)
code_helper_arg.innerHTML += '] ';
code_helper_arg.innerHTML += '&nbsp;<br>';
}
//Add the comment
if (cur_match.m_comment != undefined)
{
var tb_i = 16; var in_i = 8;
var tab = '<br>';
if (cur_match.m_arg == undefined) { tb_i -= 8; in_i -= 8; }
for (var l = 0; l < in_i; l++) code_helper_arg.innerHTML += '&nbsp;';
for (var l = 0; l < tb_i; l++) tab += '&nbsp;';
code_helper_arg.innerHTML += cur_match.m_comment + '&nbsp;';
while (code_helper_arg.innerHTML.indexOf('\n') > -1)
code_helper_arg.innerHTML = code_helper_arg.innerHTML.replace('\n', tab);
}
}
}
//Go through the type list and bold the used ones.
if (EasyMeshDict.m_vars != undefined)
{
code_helper_var.innerHTML = "";
var max = EasyMeshDict.m_vars.length;
for (var j = 0; j < max; j++)
{
var cur_var = EasyMeshDict.m_vars[j];
code_helper_var.innerHTML += "&nbsp;>&nbsp;";
var k = 0;
for (; k < type_list.length; k++)
if (cur_var.m_type == type_list[k])
break;
//Bold the used variables
if (k < type_list.length)
code_helper_var.innerHTML += "<b>" + cur_var.m_type + "</b>";
else
code_helper_var.innerHTML += cur_var.m_type;
if (cur_var.m_syntax != undefined)
{
var align_size = 9;
var cmd_size = cur_var.m_type.length + 3;
for (var m = 0; m < cur_var.m_syntax.length; m++)
{
for (var l = 0; l < align_size - cmd_size; l++)
code_helper_var.innerHTML += "&nbsp;";
code_helper_var.innerHTML += cur_var.m_syntax[m] + "<br>";
cmd_size = 0;
}
}
}
}
}
else
{
code_helper_cmd[0].innerHTML = "[ ...&nbsp;";
code_helper_cmd[1].innerHTML = "";
code_helper_arg.innerHTML = "";
code_helper_cmt.innerHTML = "";
}
}
/* -- */
function Init()
{
nacl_div = document.getElementById('DIV_nacl_div');
mesh_code_module = document.getElementById('DIV_MeshCode');
code_helper_cmd[0] = document.getElementById('DIV_command0');
code_helper_cmd[1] = document.getElementById('DIV_command1');
code_helper_arg = document.getElementById('DIV_args');
code_helper_cmt = document.getElementById('DIV_comment');
code_helper_var = document.getElementById('DIV_var_usage');
code_helper_alpha = document.getElementById('DIV_alphabet');
code_helper_alpha.innerHTML = '&nbsp;[';
for (var a = 'a'.charCodeAt(0); a <= 'z'.charCodeAt(0); a++)
{
var stop = false;
for (var i = 0; !stop && i < EasyMeshDict.m_cmds.length; i++)
{
for (var j = 0; j < EasyMeshDict.m_cmds[i].m_name.length; j++)
{
if (EasyMeshDict.m_cmds[i].m_name[j][0] == String.fromCharCode(a))
{
code_helper_alpha.innerHTML += '<b>' + String.fromCharCode(a) + '</b>';
stop = true;
break;
}
}
}
if (!stop)
code_helper_alpha.innerHTML += '.';
}
code_helper_alpha.innerHTML += ']&nbsp;<br>&nbsp;';
}
function Tick()
{
window.setTimeout("Tick()", 100);
/* -- cmd lookup code. */
if (mesh_code_module != undefined)
{
var cmd_size = 8;
var found = FindMatchingCommand(mesh_code_module);
if (found.match_list.length > 0)
{
var type_list = new Array();
code_helper_cmd[0].innerHTML = "";
code_helper_cmd[1].innerHTML = "";
code_helper_arg.innerHTML = "";
code_helper_cmt.innerHTML = "";
//Go through the found matches and show them.
for (var i = 0; i < found.match_list.length; i++)
{
var cur_match = EasyMeshDict.m_cmds[found.match_list[i]];
code_helper_cmd[0].innerHTML += '[';
var max = cur_match.m_name.length;
var word = 0;
for (var j = 0; j < max; j++)
{
var mth = found.match;
var cmd = cur_match.m_name[j];
//Matching start caracters should be bold
if (mth == cmd.slice(0, mth.length))
{
code_helper_cmd[word].innerHTML += '&nbsp;';
code_helper_cmd[word].innerHTML += '<b>' + mth + '</b>';
code_helper_cmd[word].innerHTML += cmd.slice(mth.length, cmd.length);
word++;
}
}
//Complete empty command by <br> so commands in the two columns are on the same line
word = (word > 0)?(2):(0);
while (word-- > 0)
code_helper_cmd[word].innerHTML += "<br>";
//Go through the arguments and show them
if (found.match_list.length < 4 && i == 0)
{
code_helper_arg.innerHTML += "&nbsp;>&nbsp;";
if (cur_match.m_arg != undefined)
{
max = cur_match.m_arg.length;
var found_optional = false;
for (var j = 0; j < max; j++)
{
if (cur_match.m_arg[j].m_optional != undefined && found_optional == false)
{
var tab = '<br>'; for (var l = 0; l < 5; l++) tab += '&nbsp;';
code_helper_arg.innerHTML += tab + 'Opt: [';
found_optional = true;
}
else if (j > 0)
code_helper_arg.innerHTML += ', ';
//Types are bold
code_helper_arg.innerHTML += '<b>' + cur_match.m_arg[j].m_type + '</b> ';
type_list[type_list.length] = cur_match.m_arg[j].m_type;
//Names are not
code_helper_arg.innerHTML += cur_match.m_arg[j].m_name;
if (cur_match.m_arg[j].m_optional != undefined)
code_helper_arg.innerHTML += ' = <b>' + cur_match.m_arg[j].m_optional + '</b>';
}
if (found_optional == true)
code_helper_arg.innerHTML += '] ';
code_helper_arg.innerHTML += '&nbsp;<br>';
}
//Add the comment
if (cur_match.m_comment != undefined)
{
var tb_i = 16; var in_i = 8;
var tab = '<br>';
if (cur_match.m_arg == undefined) { tb_i -= 8; in_i -= 8; }
for (var l = 0; l < in_i; l++) code_helper_arg.innerHTML += '&nbsp;';
for (var l = 0; l < tb_i; l++) tab += '&nbsp;';
code_helper_arg.innerHTML += cur_match.m_comment + '&nbsp;';
while (code_helper_arg.innerHTML.indexOf('\n') > -1)
code_helper_arg.innerHTML = code_helper_arg.innerHTML.replace('\n', tab);
}
}
}
//Go through the type list and bold the used ones.
if (EasyMeshDict.m_vars != undefined)
{
code_helper_var.innerHTML = "";
var max = EasyMeshDict.m_vars.length;
for (var j = 0; j < max; j++)
{
var cur_var = EasyMeshDict.m_vars[j];
code_helper_var.innerHTML += "&nbsp;>&nbsp;";
var k = 0;
for (; k < type_list.length; k++)
if (cur_var.m_type == type_list[k])
break;
//Bold the used variables
if (k < type_list.length)
code_helper_var.innerHTML += "<b>" + cur_var.m_type + "</b>";
else
code_helper_var.innerHTML += cur_var.m_type;
if (cur_var.m_syntax != undefined)
{
var align_size = 9;
var cmd_size = cur_var.m_type.length + 3;
for (var m = 0; m < cur_var.m_syntax.length; m++)
{
for (var l = 0; l < align_size - cmd_size; l++)
code_helper_var.innerHTML += "&nbsp;";
code_helper_var.innerHTML += cur_var.m_syntax[m] + "<br>";
cmd_size = 0;
}
}
}
}
}
else
{
code_helper_cmd[0].innerHTML = "[ ...&nbsp;";
code_helper_cmd[1].innerHTML = "";
code_helper_arg.innerHTML = "";
code_helper_cmt.innerHTML = "";
}
}
/* -- */
}


@@ -270,8 +270,8 @@ nacl_div
nacl_module = document.getElementById('ID_NaClModule');
mesh_code_module = document.getElementById('DIV_MeshCode');
updateStatus('Rock n\' Roll !!');
var progress_bar = document.getElementById('progress_bar');
progress_bar.style.visibility = "hidden";
var progress_bar = document.getElementById('progress_bar');
progress_bar.style.visibility = "hidden";
}

// The 'message' event handler. This handler is fired when the NaCl module
@@ -325,9 +325,9 @@ nacl_div
{
progressBar.max = event.total;
progressBar.value = event.loaded;
var load_progress = ((event.loaded / event.total) * 100.0);
status_field.innerHTML = 'Please wait, loading [' + load_progress.toFixed(0) + '%]';
var load_progress = ((event.loaded / event.total) * 100.0);
status_field.innerHTML = 'Please wait, loading [' + load_progress.toFixed(0) + '%]';
}
else
{
@@ -359,14 +359,12 @@ nacl_div
<progress id="p" align="left" width="200"></progress>
</div>
<div id="DIV_nacl_div">
<!--
<param name="wmode" value="opaque"/>
<embed name="nacl_module"
id="ID_NaClModule"
width=770 height=200
src="meshviewer_nacl.nmf"
type="application/x-nacl" />
-->
</div>
<script type="text/javascript">
var listener = document.getElementById('listener');


Loading…
Cancel
Save