blob: e52d1210a2800acb0901424d0391cc7e4291c75e [file] [log] [blame]
# ---------------------------------------------------------------------------
# common code for the interpreter class websh.interpclass
# $Id$
# ---------------------------------------------------------------------------
proc getDocFileName {filename} {
return [file join [web::config document_root] websh $filename]
}
proc pageLink {url args} {
if {[string match "*.ws3" $url]} {
regsub {\.ws3$} $url ".html" url
}
set showName $url
foreach {arg value} $args {
switch -- $arg \
-show { set showName $value} \
-pre { set url "http://$url" }
}
web::put "<a href=\"$url\">$showName</a>"
}
proc emailLink {email {showName ""}} {
if { [string compare $showName ""] == 0 } {set showName $email }
pageLink mailto:$email -show $showName
}
proc headRow {type mainTitle {rightTitle ""}} {
if {$type == 1} {
return
}
web::putx {
<tr height="30">
<td width="10" valign="top"></td>
<td width="150" height="30"></td>
{
if {$type == 2} {
web::putx {
<td width="300" height="30">
{if {[string length $mainTitle] > 0 } {
web::putx {<h1>{web::put $mainTitle}</h1>}
} else {
web::putx {&nbsp;}
}}
</td>
<td width="10" height="30"><br>
</td>
<td width="300" height="30">
{if {[string length $rightTitle] > 0 } {
web::putx {<h1>{web::put $rightTitle}</h1>}
} else {
web::putx {&nbsp;}
}}
</td>
}
}
if {$type == 3} {
web::putx {
<td width="610" height="30">
{if {[string length $mainTitle] > 0 } {
web::putx {<h1>{web::put $mainTitle}</h1>}
} else {
web::putx {&nbsp;}
}}
</td>
}
}
if {$type == 4} {
web::putx {
<td width="455" height="30">
{if {[string length $mainTitle] > 0 } {
web::putx {<h1>{web::put $mainTitle}</h1>}
} else {
web::putx {&nbsp;}
}}
</td>
<td width="10" height="30"><br>
</td>
<td width="145" height="30">
{if {[string length $rightTitle] > 0 } {
web::putx {<h1>{web::put $rightTitle}</h1>}
} else {
web::putx {&nbsp;}
}}
</td>
}
}
}
</tr>
}
}
proc navBarElementSub {ref str flag} {
if { $flag == 1 } {
web::putx {
- <a href="{web::put $ref}">{web::put $str}</a><br>
}
return
}
if { $flag == 0 } {
web::putx {
- {web::put $str}<br>
}
return
}
if { $flag == 2 } {
web::putx {
- <span class=grey>{web::put $str}</span><br>
}
return
}
}
proc navBarElementOne {ref str flag} {
if { $flag == 1 } {
web::putx {<a href="{web::put $ref}"><b>{web::put $str}</b></a><br>
}
return
}
if { $flag == 0 } {
web::putx {<b>{web::put $str}</b><br>
}
return
}
if { $flag == 2 } {
web::putx {<b class=grey>{web::put $str}</b><br>
}
return
}
}
proc navBarElement {ref str flag args} {
web::putx {
<tr valign="top">
<td width="10"><img height="11" width="10" src="images/pfeil.gif"></td>
<td class=nav>
{
navBarElementOne $ref $str $flag
foreach {arg value isLink} $args {
navBarElementSub $arg $value $isLink
}
}
<br></td></tr>
}
}
proc navBarStart {} {
web::putx {
<td width="10"><img height="1" border="0" width="10" src="images/stuntFFFFFF001010.gif"></td>
<td width="150">
<table border="0" cellpadding="0" cellspacing="0" width="141">
}
}
proc navBarEnd {} {
web::putx {
</table>
</td>
}
}
proc redPointElement {text} {
web::putx {
<tr valign="top">
<td width="10"><img height="10" width="10" src="images/punkt_rot.gif"></td>
<td>{web::putx $text}
</td>
</tr>
}
}
proc newsBarElement {title {desc ""}} {
web::putx {
<tr valign="top">
<td width="10"><img height="10" width="10" src="images/punkt_rot.gif"></td>
<td class=news><b>{web::putx $title}</b><br>
{web::putx $desc}
</td>
</tr>
}
}
proc newsBarElementGrey {title {desc ""}} {
web::putx {
<tr valign="top">
<td width="10"><img height="10" width="10" src="images/punkt_grau.gif"></td>
<td class=grey><b>{web::putx $title}</b><br>
{web::putx $desc}
</td>
</tr>
}
}
proc uppfeil {link args} {
set aName ""
set text ""
foreach {arg value} $args {
switch -- $arg \
-aName { set aName $value} \
-text { set text $value }
}
web::putx {
<tr valign="top">
{navBarStart}
<tr valign="top">
<td width="10"><a href="{web::putx $link}"><img height="10" border="0" width="10" src="images/uppfeil.gif"></a></td>
<td></td>
</tr>
{navBarEnd}
<td width="455">
{
if {[string compare $aName ""] == 0 } {
web::putx {<h2 class=nomargin>{web::putx $text}</h2>}
} else {
web::putx {<h2 class="nomargin"><a name="{web::put $aName}">{web::putx $text}</a></h2>}
}
}
</td>
</tr>
}
}
## ============================================================================
## navigation bars
## ============================================================================
proc navbar_prod {{where 0}} {
web::putx {
{navBarStart}
{navBarElement "/websh/product.html" "product description" [expr $where != 0] \
"#history" "history" 1 \
"#tcl" "based on Tcl" 1 \
"#design" "design" 1}
{navBarEnd}
}
# {navBarElement "TBD" "Websh in action" 2}
# {navBarElement "TBD" "success stories" 2}
# {navBarElement "TBD" "comparison chart" 2}
}
proc navbar_docu {{where 0}} {
web::putx {
{navBarStart}
{navBarElement "/websh/docu.html" "documentation" [expr $where != 0]}
{navBarElement "/websh/whitepaper.html" "white paper" [expr $where != 1]}
{navBarElement "/websh/quickref.html" "quick reference" [expr $where != 2]}
{navBarElement "/websh/examples.html" "examples" [expr $where != 4]}
{navBarEnd}
}
}
proc navbar_supp {{where 0}} {
web::putx {
<td width="10"><br></td>
<td width="150">
<table border="0" cellpadding="0" cellspacing="0" width="141">
{navBarElement "/websh/support.html" "support" [expr $where != 0]}
{navBarElement "/websh/faq.html" "faq" [expr $where != 1] \
"/websh/faq.html#generic" "generic questions" 1 \
"/websh/faq.html#technical" "tech questions" 1} \
{navBarElement "/websh/subscribe.html" "mailing list" [expr $where != 2]}
{navBarElement "http://issues.apache.org/bugzilla/" "bug tracking system" [expr $where != 3]}
</table>
</td>
}
}
proc navbar_ress {{where 0}} {
web::putx {
{navBarStart}
{navBarEnd}
}
}
proc navbar_down {{where 0}} {
web::putx {
{navBarStart}
{navBarEnd}
}
}
proc navbar_null {} {
web::putx {
<td width="10"><img height="1" border="0" width="10" src="images/stuntFFFFFF001010.gif"></td>
<td width="150">&nbsp;</td>
}
}
## ============================================================================
## news bars
## ============================================================================
proc newsbar_supp {} {
web::putx {
<td width="10"><br></td>
<td width="145">
<table border="0" cellpadding="0" cellspacing="0" width="145">
</table>
</td>
}
}
proc newsbar_ress {} {
web::putx {
<td width="10"></td>
<td width="145">
<table border="0" cellpadding="0" cellspacing="0" width="145">
</table>
</td>
}
}
proc jslink {linkname generic onover onout width gif alt} {
return "<a href=\"$linkname\" \
onmouseover=\"swap('$generic','$onover')\" \
onmouseout=\"swap('$generic','$onout')\"><img height=\"20\" \
width=\"$width\" \
src=\"/websh/buttons/$gif\" \
name=\"$generic\" border=\"0\" alt=\"$alt\"></a>"
}
proc startHtmlPage {} {
web::putx {
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>Websh - Welcome</title>
<script language="JavaScript" src="buttons.js"></script>
<link href="websh.css" rel="styleSheet" type="text/css">
<meta name="description" content="Websh - the rapid development environment to build powerful web applications.">
<META NAME="keywords" CONTENT="websh, Websh, e-commerce, web application, apache, perl, php, asp, cold fusion">
</head>
}
}
proc startHtmlBody {} {
web::putx {
<body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0"
bgcolor="#ffffff" link="#006699" alink="red" vlink="#006699">
}
}
proc putHeader {{mainSectionNr 0} {quickNaviNr 1}} {
web::putx {
<map name="grafik_navi">
<area href="mailto:websh-dev@tcl.apache.org" coords="94,2,154,26" shape="rect">
<area href="./" coords="4,2,64,26" shape="rect">
<area href="contact.html" coords="184,2,244,26" shape="rect">
</map>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="76">
<tr valign="top">
}
if {$quickNaviNr == 0} {
web::putx {
<td width="500" bgcolor="#006699"><img height="50" width="300" src="images/grafik_navi.gif" alt="" border="0" usemap="#grafik_navi"><img height="50" width="200" src="images/grafik_index.gif" alt=""></td>
}
} else {
web::putx {
<td width="500" bgcolor="#006699"><img height="50" width="300" src="images/grafik_navi_home.gif" alt="" border="0" usemap="#grafik_navi"><img height="50" width="200" src="images/grafik_index.gif" alt=""></td>
}
}
web::putx {
<td><img height="50" width="270" src="images/logo.gif" alt="Websh"></td>
<td width="5000" bgcolor="#000000">&nbsp;</td>
</tr>
<tr>
<td width="500">
<table border="0" cellpadding="0" cellspacing="0" width="500" height="40">
}
if {$mainSectionNr == 0} {
web::putx {
<tr>
<td>{web::put [jslink /websh/product.html prod b_prod_b b_prod_a 120 b_prod_a.gif "product description"]}</td>
<td>{web::put [jslink /websh/docu.html docu b_docu_b b_docu_a 100 b_docu_a.gif "documentation"]}</td>
<td>{web::put [jslink /websh/support.html supp b_supp_b b_supp_a 70 b_supp_a.gif "support"]}</td>
<td>{web::put [jslink /websh/resources.html ress b_ress_b b_ress_a 110 b_ress_a.gif "resources and links"]}</td>
<td>{web::put [jslink /websh/download.html down b_down_b b_down_a 100 b_down_a.gif "download"]}</td>
</tr>
<tr>
<td colspan="5"><img height="20" width="500" src="images/title_neutral.gif" alt="lines"></td>
</tr>
}
}
if {$mainSectionNr == 1} {
web::putx {
<tr bgcolor="#006699">
<td width="120"><br></td>
<td>{web::put [jslink /websh/docu.html docu b_docu_b b_docu_a 100 b_docu_a.gif "documentation"]}</td>
<td>{web::put [jslink /websh/support.html supp b_supp_b b_supp_a 70 b_supp_a.gif "support"]}</td>
<td>{web::put [jslink /websh/resources.html ress b_ress_b b_ress_a 110 b_ress_a.gif "resources and links"]}</td>
<td>{web::put [jslink /websh/download.html down b_down_b b_down_a 100 b_down_a.gif "download"]}</td>
</tr>
<tr height="20">
<td width="120" height="20"><img height="20" width="120" src="buttons/b_prod_c.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td>
<td width="70" height="20"><img height="20" width="70" src="images/title.gif"></td>
<td width="110" height="20"><img height="20" width="110" src="images/title.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td>
</tr>
}
}
if {$mainSectionNr == 2} {
web::putx {
<tr bgcolor="#006699">
<td>{web::put [jslink /websh/product.html prod b_prod_b b_prod_a 120 b_prod_a.gif "product description"]}</td>
<td width="100"><br></td>
<td>{web::put [jslink /websh/support.html supp b_supp_b b_supp_a 70 b_supp_a.gif "support"]}</td>
<td>{web::put [jslink /websh/resources.html ress b_ress_b b_ress_a 110 b_ress_a.gif "resources and links"]}</td>
<td>{web::put [jslink /websh/download.html down b_down_b b_down_a 100 b_down_a.gif "download"]}</td>
</tr>
<tr height="20">
<td width="120" height="20"><img height="20" width="120" src="images/title.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="buttons/b_docu_c.gif"></td>
<td width="70" height="20"><img height="20" width="70" src="images/title.gif"></td>
<td width="110" height="20"><img height="20" width="110" src="images/title.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td>
</tr>
}
}
if {$mainSectionNr == 3} {
web::putx {
<tr bgcolor="#006699">
<td>{web::put [jslink /websh/product.html prod b_prod_b b_prod_a 120 b_prod_a.gif "product description"]}</td>
<td>{web::put [jslink /websh/docu.html docu b_docu_b b_docu_a 100 b_docu_a.gif "documentation"]}</td>
<td width="70"><br></td>
<td>{web::put [jslink /websh/resources.html ress b_ress_b b_ress_a 110 b_ress_a.gif "resources and links"]}</td>
<td>{web::put [jslink /websh/download.html down b_down_b b_down_a 100 b_down_a.gif "download"]}</td>
</tr>
<tr height="20">
<td width="120" height="20"><img height="20" width="120" src="images/title.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td>
<td width="70" height="20"><img height="20" width="70" src="buttons/b_supp_c.gif"></td>
<td width="110" height="20"><img height="20" width="110" src="images/title.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td>
</tr>
}
}
if {$mainSectionNr == 4} {
web::putx {
<tr bgcolor="#006699">
<td>{web::put [jslink /websh/product.html prod b_prod_b b_prod_a 120 b_prod_a.gif "product description"]}</td>
<td>{web::put [jslink /websh/docu.html docu b_docu_b b_docu_a 100 b_docu_a.gif "documentation"]}</td>
<td>{web::put [jslink /websh/support.html supp b_supp_b b_supp_a 70 b_supp_a.gif "support"]}</td>
<td width="110"><br></td>
<td>{web::put [jslink /websh/download.html down b_down_b b_down_a 100 b_down_a.gif "download"]}</td>
</tr>
<tr height="20">
<td width="120" height="20"><img height="20" width="120" src="images/title.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td>
<td width="70" height="20"><img height="20" width="70" src="images/title.gif"></td>
<td width="110" height="20"><img height="20" width="110" src="buttons/b_ress_c.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td>
</tr>
}
}
if {$mainSectionNr == 5} {
web::putx {
<tr bgcolor="#006699">
<td>{web::put [jslink /websh/product.html prod b_prod_b b_prod_a 120 b_prod_a.gif "product description"]}</td>
<td>{web::put [jslink /websh/docu.html docu b_docu_b b_docu_a 100 b_docu_a.gif "documentation"]}</td>
<td>{web::put [jslink /websh/support.html supp b_supp_b b_supp_a 70 b_supp_a.gif "support"]}</td>
<td>{web::put [jslink /websh/resources.html ress b_ress_b b_ress_a 110 b_ress_a.gif "resources and links"]}</td>
<td width="100"><br></td>
</tr>
<tr height="20">
<td width="120" height="20"><img height="20" width="120" src="images/title.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="images/title.gif"></td>
<td width="70" height="20"><img height="20" width="70" src="images/title.gif"></td>
<td width="110" height="20"><img height="20" width="110" src="images/title.gif"></td>
<td width="100" height="20"><img height="20" width="100" src="buttons/b_down_c.gif"></td>
</tr>
}
}
web::putx {
</table>
</td>
<td><img height="40" width="270" src="images/logo_strich.gif"></td>
</tr>
</table>
}
}
proc finishPage {{where 0}} {
web::putx {
<table border="0" cellpadding="0" cellspacing="0" width="770" height="45">
<tr valign="top">
<td colspan="2">
<hr noshade size="1">
</td>
</tr>
<tr valign="top">
<td width="10"></td>
<td width="760">
{
if {$where != 1 } {
web::put {<a href="product.html">description</a>&nbsp;|}
} else {
web::put {<span class="blue">description</span>&nbsp;|}
}
if {$where != 2 } {
web::put {&nbsp;<a href="docu.html">documentation</a>&nbsp;|}
} else {
web::put {&nbsp;<span class="blue">documentation</span>&nbsp;|}
}
if {$where != 3 } {
web::put {&nbsp;<a href="support.html">support</a>&nbsp;|}
} else {
web::put {&nbsp;<span class="blue">support</span>&nbsp;|}
}
if {$where != 4 } {
web::put {&nbsp;<a href="resources.html">resources</a>&nbsp;|}
} else {
web::put {&nbsp;<span class="blue">resources</span>&nbsp;|}
}
if {$where != 5 } {
web::put {&nbsp;<a href="download.html">download</a>&nbsp;|}
} else {
web::put {&nbsp;<span class="blue">download</span>&nbsp;|}
}
if {$where != 7 } {
web::put {&nbsp;<a href="credits.html">credits</a>&nbsp;|}
} else {
web::put {&nbsp;<span class="blue">credits</span>&nbsp;|}
}
if {$where != 6 } {
web::put {&nbsp;<a href="copyright.html">copyright</a>}
} else {
web::put {&nbsp;<span class="blue">copyright</span>}
}
}
</td></tr>
<tr valign="top">
<td colspan="2">
<hr noshade size="1">
</td>
</tr>
<tr valign="top">
<td width="10"></td>
<td width="760">
<span class="klein"><b>&copy; Websh - an <a href="http://tcl.apache.org">Apache Tcl</a> project - part of the <a href="http://www.apache.org/">Apache Software Foundation</a></b></span></td>
</tr>
</table>
</body>
</html>
}
}