Subversion Repositories wimsdev

Compare Revisions

Ignore whitespace Rev 14065 → Rev 14066

/trunk/wims/src/Misc/canvasdraw/canvasinfo.sh
49,79 → 49,81
echo "!!generated by canvasinfo.sh
<input type='text' size='10' value='' id='search' onkeydown='javascripts:if(event.keyCode == 13){look();}'/><input type='button' onclick='javascript:look();' value='search' />
<h2 style='text-align:center'>Implemented canvasdraw commands ($datum)</h2>
<table style='color:blue;font-size:0.8em;'><tr>
<table><tr>
" > $phtml
 
p=0
echo "<ul>" > $tmp
echo "" > $tmp
cnt=0
br=8
while read line ; do
chk=`echo "$line" | grep "@"`
if [ ! -z "$chk" ] ; then
chk=`echo "$chk" | grep @%`
if [ -z "$chk" ] ; then
echo $line
if [ $p -eq 0 ]; then
string=`echo "$line" | tr '@' ' '`
idx=`echo "$string" | awk '{ print $1 }'`
echo ",'$idx'" >> $keys
if [ $cnt -gt $br ]; then
echo "</tr><tr>" >> $phtml
cnt=0
fi
cnt=$(($cnt+1))
echo "<td><a name='$idx top' href='#$idx'>$idx</a></td>" >> $phtml
echo "<li>$string <a name='$idx' href='#$idx top'>&#8593;</a><ul>" >> $tmp
p=1
else
p=2
alt=`echo "$line" | grep "@ alternative :" | awk '{ print $4 }' | tr -d '[:blank:]'`
if [ ! -z $alt ] ; then
if [ $cnt -gt $br ]; then
echo "</tr><tr>" >> $phtml
cnt=0
fi
cnt=$(($cnt+1))
echo ",'$alt'" >> $keys
echo "<td><a name='$alt top' href='#$idx'>$alt</a></td>" >> $phtml
echo "<li><span style=\"color:blue;font-size:0.8em\">alternative command:<a name='$alt' href='#$alt top'>$alt</a></span></li>" >> $tmp
chk=`echo "$line" | grep "@"`
if [ ! -z "$chk" ] ; then
chk=`echo "$chk" | grep @%`
if [ -z "$chk" ] ; then
echo $line
if [ $p -eq 0 ]; then
string=`echo "$line" | tr '@' ' '`
idx=`echo "$string" | awk '{ print $1 }'`
echo ",'$idx'" >> $keys
if [ $cnt -gt $br ]; then
echo "</tr><tr>" >> $phtml
cnt=0
fi
cnt=$(($cnt+1))
echo "<td><a name='$idx top' href='#$idx'>$idx</a></td>" >> $phtml
echo "<h3>$idx <a name='$idx' href='#$idx top'>&#8593;</a></h3>
<code>$string</code>
<ul>" >> $tmp
p=1
else
p=2
alt=`echo "$line" | grep "@ alternative :" | awk '{ print $4 }' | tr -d '[:blank:]'`
if [ ! -z $alt ] ; then
if [ $cnt -gt $br ]; then
echo "</tr><tr>" >> $phtml
cnt=0
fi
cnt=$(($cnt+1))
echo ",'$alt'" >> $keys
echo "<td><a name='$alt top' href='#$idx'>$alt</a></td>" >> $phtml
echo "<li><span>alternative command:<a name='$alt' href='#$alt top'>$alt</a></span></li>" >> $tmp
else
echo $line | sed 's/@/<li>/g' >> $tmp
echo "</li>" >> $tmp
fi
fi
else
echo $line | sed 's/@/<li><span style="color:blue;font-size:0.8em">/g' >> $tmp
echo "</span></li>" >> $tmp
# begin generating live examples signaled by @%
name=`echo "$chk" | awk -F'%' '{ print $2 }' `
echo "command $name"
cont=`echo "$chk" | tr '%' '\n'`
#echo "!!generated by canvasinfo.sh" > $tmpdir/$name
echo "$cont" | sed '1,2d'> $tmpdir/$name
##echo "$htmlhead" > $tmpdir/$name.html
##cat $tmpdir/$name | ~/other/bin/canvasdraw | sed 's/src=\"wims.cgi?session=123*.*.js\"/src=\"'$name'.js\"/g' >> $tmpdir/$name.html
echo "<li>
!set wims_ref_class=wims_button
!href cmd=help&special_parm=canvas_examples,$name \$wims_name_Example: $name
</li>" >> $tmp
##echo "<textarea cols='60' rows='10'>" >> $tmpdir/$name.html
##echo "$cont" | sed '1,2d' >> $tmpdir/$name.html
##echo "</textarea>" >> $tmpdir/$name.html
##echo "$interaction" >> $tmpdir/$name.html
##echo "$htmltail" >> $tmpdir/$name.html
##mv -v $wims_tmp/*.js $tmpdir/$name.js
fi
fi
else
# begin generating live examples signaled by @%
name=`echo "$chk" | awk -F'%' '{ print $2 }' `
echo "command $name"
cont=`echo "$chk" | tr '%' '\n'`
#echo "!!generated by canvasinfo.sh" > $tmpdir/$name
echo "$cont" | sed '1,2d'> $tmpdir/$name
##echo "$htmlhead" > $tmpdir/$name.html
##cat $tmpdir/$name | ~/other/bin/canvasdraw | sed 's/src=\"wims.cgi?session=123*.*.js\"/src=\"'$name'.js\"/g' >> $tmpdir/$name.html
echo "<li>
!set wims_ref_class=wims_button
!href cmd=help&special_parm=canvas_examples,$name \$wims_name_Example: $name
</li>" >> $tmp
##echo "<textarea cols='60' rows='10'>" >> $tmpdir/$name.html
##echo "$cont" | sed '1,2d' >> $tmpdir/$name.html
##echo "</textarea>" >> $tmpdir/$name.html
##echo "$interaction" >> $tmpdir/$name.html
##echo "$htmltail" >> $tmpdir/$name.html
##mv -v $wims_tmp/*.js $tmpdir/$name.js
if [ $p -eq 2 ]; then
echo "</ul>" >> $tmp
fi
p=0
fi
else
if [ $p -eq 2 ]; then
echo "</ul>" >> $tmp
fi
p=0
fi
done < $in
 
while [ $cnt -le $br ] ; do
cnt=$(($cnt+1))
echo "<td>&nbsp;</td>" >> $phtml
cnt=$(($cnt+1))
echo "<td>&nbsp;</td>" >> $phtml
done
echo "</tr></table>" >> $phtml
 
129,54 → 131,52
 
keywords=`cat $keys | tr -d '\n'`
echo "
</li>
</ul>
<script type='text/javascript'>
var keys = ['canvasdraw' $keywords];
var keys_len = keys.length;
function match(s1,s2){
var n1 = s1.length;
if(n1 < 3){return 0;}
var n2 = s2.length;
var c1,c2,found;
var count = n1 - Math.abs(n1 - n2);
for(var p = 0;p < n1;p++){
c1=s1.charAt(p);
found = false;
for(var i = 0;i < n2;i++){
c2 = s2.charAt(i);
if(c1 == c2){found = true;count = count + n1 - Math.abs(p - i);}
};
if(! found ){count = count - n2;}
};
return count;
var n1 = s1.length;
if(n1 < 3){return 0;}
var n2 = s2.length;
var c1,c2,found;
var count = n1 - Math.abs(n1 - n2);
for(var p = 0;p < n1;p++){
c1=s1.charAt(p);
found = false;
for(var i = 0;i < n2;i++){
c2 = s2.charAt(i);
if(c1 == c2){found = true;count = count + n1 - Math.abs(p - i);}
};
if(! found ){count = count - n2;}
};
return count;
};
function look(){
var s = ((document.getElementById('search').value).replace(/\s/g, '')).toLowerCase();
var typo;var next_best = -1;var next_idx = s.length;var tmp;var ss;
for(var p = 0; p < keys_len ; p++){
ss = keys[p];
if( s == ss ){
window.location.href = '#'+ss;
return;
};
/* not ok? ... try to find a match for a reasonable typo... */
tmp = match(s,ss);
if(tmp > next_idx){
next_idx = tmp;
next_best = p;
};
ss = keys[p];
if( s == ss ){
window.location.href = '#'+ss;
return;
};
/* not ok? ... try to find a match for a reasonable typo... */
tmp = match(s,ss);
if(tmp > next_idx){
next_idx = tmp;
next_best = p;
};
};
if(next_best != -1 ){
typo = keys[next_best];
if(confirm('\"'+s+'\" is not a valid canvasdraw command\ndid you mean \"'+typo+'\" ?')){
window.location.href = '#'+typo;
return;
};
typo = keys[next_best];
if(confirm('\"'+s+'\" is not a valid canvasdraw command\ndid you mean \"'+typo+'\" ?')){
window.location.href = '#'+typo;
return;
};
}
else
{
alert(s+' is not a valid canvasdraw command');
alert(s+' is not a valid canvasdraw command');
};
return;
};
189,8 → 189,8
 
# install in wims distribution scripts/help/en
if [ $ans = "D" ] ; then
mv $phtml "$helpdir/en"
cp -rv $tmpdir $helpdir
mv $phtml "$helpdir/en"
cp -rv $tmpdir $helpdir
fi
 
rm $tmp