Before Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 147 B |
Before Width: | Height: | Size: 132 B |
Before Width: | Height: | Size: 3.7 KiB |
@ -1,104 +0,0 @@ |
|||||||
function toggleVisibility(linkObj) |
|
||||||
{ |
|
||||||
var base = $(linkObj).attr('id'); |
|
||||||
var summary = $('#'+base+'-summary'); |
|
||||||
var content = $('#'+base+'-content'); |
|
||||||
var trigger = $('#'+base+'-trigger'); |
|
||||||
var src=$(trigger).attr('src'); |
|
||||||
if (content.is(':visible')===true) { |
|
||||||
content.hide(); |
|
||||||
summary.show(); |
|
||||||
$(linkObj).addClass('closed').removeClass('opened'); |
|
||||||
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); |
|
||||||
} else { |
|
||||||
content.show(); |
|
||||||
summary.hide(); |
|
||||||
$(linkObj).removeClass('closed').addClass('opened'); |
|
||||||
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); |
|
||||||
}
|
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
function updateStripes() |
|
||||||
{ |
|
||||||
$('table.directory tr'). |
|
||||||
removeClass('even').filter(':visible:even').addClass('even'); |
|
||||||
} |
|
||||||
function toggleLevel(level) |
|
||||||
{ |
|
||||||
$('table.directory tr').each(function(){
|
|
||||||
var l = this.id.split('_').length-1; |
|
||||||
var i = $('#img'+this.id.substring(3)); |
|
||||||
var a = $('#arr'+this.id.substring(3)); |
|
||||||
if (l<level+1) { |
|
||||||
i.attr('src','ftv2folderopen.png'); |
|
||||||
a.attr('src','ftv2mnode.png'); |
|
||||||
$(this).show(); |
|
||||||
} else if (l==level+1) { |
|
||||||
i.attr('src','ftv2folderclosed.png'); |
|
||||||
a.attr('src','ftv2pnode.png'); |
|
||||||
$(this).show(); |
|
||||||
} else { |
|
||||||
$(this).hide(); |
|
||||||
} |
|
||||||
}); |
|
||||||
updateStripes(); |
|
||||||
} |
|
||||||
|
|
||||||
function toggleFolder(id) |
|
||||||
{ |
|
||||||
//The clicked row
|
|
||||||
var currentRow = $('#row_'+id); |
|
||||||
var currentRowImages = currentRow.find("img"); |
|
||||||
|
|
||||||
//All rows after the clicked row
|
|
||||||
var rows = currentRow.nextAll("tr"); |
|
||||||
|
|
||||||
//Only match elements AFTER this one (can't hide elements before)
|
|
||||||
var childRows = rows.filter(function() { |
|
||||||
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
|
|
||||||
return this.id.match(re); |
|
||||||
}); |
|
||||||
|
|
||||||
//First row is visible we are HIDING
|
|
||||||
if (childRows.filter(':first').is(':visible')===true) { |
|
||||||
currentRowImages.filter("[id^=arr]").attr('src', 'ftv2pnode.png'); |
|
||||||
currentRowImages.filter("[id^=img]").attr('src', 'ftv2folderclosed.png'); |
|
||||||
rows.filter("[id^=row_"+id+"]").hide(); |
|
||||||
} else { //We are SHOWING
|
|
||||||
//All sub images
|
|
||||||
var childImages = childRows.find("img"); |
|
||||||
var childImg = childImages.filter("[id^=img]"); |
|
||||||
var childArr = childImages.filter("[id^=arr]"); |
|
||||||
|
|
||||||
currentRow.find("[id^=arr]").attr('src', 'ftv2mnode.png'); //open row
|
|
||||||
currentRow.find("[id^=img]").attr('src', 'ftv2folderopen.png'); //open row
|
|
||||||
childImg.attr('src','ftv2folderclosed.png'); //children closed
|
|
||||||
childArr.attr('src','ftv2pnode.png'); //children closed
|
|
||||||
childRows.show(); //show all children
|
|
||||||
} |
|
||||||
updateStripes(); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
function toggleInherit(id) |
|
||||||
{ |
|
||||||
var rows = $('tr.inherit.'+id); |
|
||||||
var img = $('tr.inherit_header.'+id+' img'); |
|
||||||
var src = $(img).attr('src'); |
|
||||||
if (rows.filter(':first').is(':visible')===true) { |
|
||||||
rows.css('display','none'); |
|
||||||
$(img).attr('src',src.substring(0,src.length-8)+'closed.png'); |
|
||||||
} else { |
|
||||||
rows.css('display','table-row'); // using show() causes jump in firefox
|
|
||||||
$(img).attr('src',src.substring(0,src.length-10)+'open.png'); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
$(document).ready(function() { |
|
||||||
$('.code,.codeRef').each(function() { |
|
||||||
$(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); |
|
||||||
$(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true }); |
|
||||||
}); |
|
||||||
}); |
|
Before Width: | Height: | Size: 86 B |
Before Width: | Height: | Size: 453 B |
Before Width: | Height: | Size: 746 B |
Before Width: | Height: | Size: 616 B |
Before Width: | Height: | Size: 597 B |
Before Width: | Height: | Size: 86 B |
Before Width: | Height: | Size: 746 B |
Before Width: | Height: | Size: 246 B |
Before Width: | Height: | Size: 246 B |
Before Width: | Height: | Size: 403 B |
Before Width: | Height: | Size: 86 B |
Before Width: | Height: | Size: 388 B |
Before Width: | Height: | Size: 229 B |
Before Width: | Height: | Size: 229 B |
Before Width: | Height: | Size: 314 B |
Before Width: | Height: | Size: 86 B |
@ -1,92 +0,0 @@ |
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
|
||||||
<head> |
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/> |
|
||||||
<meta name="generator" content="Doxygen 1.8.5"/> |
|
||||||
<title>Hak Cipta Pustaka GPU-Cuda Untuk Poisson Solver: Halaman Utama</title> |
|
||||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
|
||||||
<script type="text/javascript" src="jquery.js"></script> |
|
||||||
<script type="text/javascript" src="dynsections.js"></script> |
|
||||||
<link href="search/search.css" rel="stylesheet" type="text/css"/> |
|
||||||
<script type="text/javascript" src="search/search.js"></script> |
|
||||||
<script type="text/javascript"> |
|
||||||
$(document).ready(function() { searchBox.OnSelectItem(0); }); |
|
||||||
</script> |
|
||||||
<script type="text/x-mathjax-config"> |
|
||||||
MathJax.Hub.Config({ |
|
||||||
extensions: ["tex2jax.js"], |
|
||||||
jax: ["input/TeX","output/HTML-CSS"], |
|
||||||
}); |
|
||||||
</script><script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script> |
|
||||||
<link href="doxygen.css" rel="stylesheet" type="text/css" /> |
|
||||||
</head> |
|
||||||
<body> |
|
||||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
|
||||||
<div id="titlearea"> |
|
||||||
<table cellspacing="0" cellpadding="0"> |
|
||||||
<tbody> |
|
||||||
<tr style="height: 56px;"> |
|
||||||
<td style="padding-left: 0.5em;"> |
|
||||||
<div id="projectname">Hak Cipta Pustaka GPU-Cuda Untuk Poisson Solver |
|
||||||
</div> |
|
||||||
</td> |
|
||||||
</tr> |
|
||||||
</tbody> |
|
||||||
</table> |
|
||||||
</div> |
|
||||||
<!-- end header part --> |
|
||||||
<!-- Dibangkitkan oleh Doxygen 1.8.5 --> |
|
||||||
<script type="text/javascript"> |
|
||||||
var searchBox = new SearchBox("searchBox", "search",false,'Cari'); |
|
||||||
</script> |
|
||||||
<div id="navrow1" class="tabs"> |
|
||||||
<ul class="tablist"> |
|
||||||
<li class="current"><a href="index.html"><span>Halaman Utama</span></a></li> |
|
||||||
<li> |
|
||||||
<div id="MSearchBox" class="MSearchBoxInactive"> |
|
||||||
<span class="left"> |
|
||||||
<img id="MSearchSelect" src="search/mag_sel.png" |
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()" |
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()" |
|
||||||
alt=""/> |
|
||||||
<input type="text" id="MSearchField" value="Cari" accesskey="S" |
|
||||||
onfocus="searchBox.OnSearchFieldFocus(true)" |
|
||||||
onblur="searchBox.OnSearchFieldFocus(false)" |
|
||||||
onkeyup="searchBox.OnSearchFieldChange(event)"/> |
|
||||||
</span><span class="right"> |
|
||||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> |
|
||||||
</span> |
|
||||||
</div> |
|
||||||
</li> |
|
||||||
</ul> |
|
||||||
</div> |
|
||||||
</div><!-- top --> |
|
||||||
<!-- window showing the filter options --> |
|
||||||
<div id="MSearchSelectWindow" |
|
||||||
onmouseover="return searchBox.OnSearchSelectShow()" |
|
||||||
onmouseout="return searchBox.OnSearchSelectHide()" |
|
||||||
onkeydown="return searchBox.OnSearchSelectKey(event)"> |
|
||||||
</div> |
|
||||||
|
|
||||||
<!-- iframe showing the search results (closed by default) --> |
|
||||||
<div id="MSearchResultsWindow"> |
|
||||||
<iframe src="javascript:void(0)" frameborder="0" |
|
||||||
name="MSearchResults" id="MSearchResults"> |
|
||||||
</iframe> |
|
||||||
</div> |
|
||||||
|
|
||||||
<div class="header"> |
|
||||||
<div class="headertitle"> |
|
||||||
<div class="title">Hak Cipta Pustaka GPU-Cuda Untuk Poisson Solver Dokumentasi</div> </div> |
|
||||||
</div><!--header--> |
|
||||||
<div class="contents"> |
|
||||||
</div><!-- contents --> |
|
||||||
<!-- start footer part --> |
|
||||||
<hr class="footer"/><address class="footer"><small> |
|
||||||
Dibangkitkan oleh  <a href="http://www.doxygen.org/index.html"> |
|
||||||
<img class="footer" src="doxygen.png" alt="doxygen"/> |
|
||||||
</a> 1.8.5 |
|
||||||
</small></address> |
|
||||||
</body> |
|
||||||
</html> |
|
Before Width: | Height: | Size: 153 B |
Before Width: | Height: | Size: 108 B |
Before Width: | Height: | Size: 98 B |
Before Width: | Height: | Size: 123 B |
Before Width: | Height: | Size: 273 B |
Before Width: | Height: | Size: 563 B |
@ -1,12 +0,0 @@ |
|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
|
||||||
<html><head><title></title> |
|
||||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
|
||||||
<link rel="stylesheet" type="text/css" href="search.css"/> |
|
||||||
<script type="text/javascript" src="search.js"></script> |
|
||||||
</head> |
|
||||||
<body class="SRPage"> |
|
||||||
<div id="SRIndex"> |
|
||||||
<div class="SRStatus" id="NoMatches">Tidak Ditemukan</div> |
|
||||||
</div> |
|
||||||
</body> |
|
||||||
</html> |
|
@ -1,271 +0,0 @@ |
|||||||
/*---------------- Search Box */ |
|
||||||
|
|
||||||
#FSearchBox { |
|
||||||
float: left; |
|
||||||
} |
|
||||||
|
|
||||||
#MSearchBox { |
|
||||||
white-space : nowrap; |
|
||||||
position: absolute; |
|
||||||
float: none; |
|
||||||
display: inline; |
|
||||||
margin-top: 8px; |
|
||||||
right: 0px; |
|
||||||
width: 170px; |
|
||||||
z-index: 102; |
|
||||||
background-color: white; |
|
||||||
} |
|
||||||
|
|
||||||
#MSearchBox .left |
|
||||||
{ |
|
||||||
display:block; |
|
||||||
position:absolute; |
|
||||||
left:10px; |
|
||||||
width:20px; |
|
||||||
height:19px; |
|
||||||
background:url('search_l.png') no-repeat; |
|
||||||
background-position:right; |
|
||||||
} |
|
||||||
|
|
||||||
#MSearchSelect { |
|
||||||
display:block; |
|
||||||
position:absolute; |
|
||||||
width:20px; |
|
||||||
height:19px; |
|
||||||
} |
|
||||||
|
|
||||||
.left #MSearchSelect { |
|
||||||
left:4px; |
|
||||||
} |
|
||||||
|
|
||||||
.right #MSearchSelect { |
|
||||||
right:5px; |
|
||||||
} |
|
||||||
|
|
||||||
#MSearchField { |
|
||||||
display:block; |
|
||||||
position:absolute; |
|
||||||
height:19px; |
|
||||||
background:url('search_m.png') repeat-x; |
|
||||||
border:none; |
|
||||||
width:111px; |
|
||||||
margin-left:20px; |
|
||||||
padding-left:4px; |
|
||||||
color: #909090; |
|
||||||
outline: none; |
|
||||||
font: 9pt Arial, Verdana, sans-serif; |
|
||||||
} |
|
||||||
|
|
||||||
#FSearchBox #MSearchField { |
|
||||||
margin-left:15px; |
|
||||||
} |
|
||||||
|
|
||||||
#MSearchBox .right { |
|
||||||
display:block; |
|
||||||
position:absolute; |
|
||||||
right:10px; |
|
||||||
top:0px; |
|
||||||
width:20px; |
|
||||||
height:19px; |
|
||||||
background:url('search_r.png') no-repeat; |
|
||||||
background-position:left; |
|
||||||
} |
|
||||||
|
|
||||||
#MSearchClose { |
|
||||||
display: none; |
|
||||||
position: absolute; |
|
||||||
top: 4px; |
|
||||||
background : none; |
|
||||||
border: none; |
|
||||||
margin: 0px 4px 0px 0px; |
|
||||||
padding: 0px 0px; |
|
||||||
outline: none; |
|
||||||
} |
|
||||||
|
|
||||||
.left #MSearchClose { |
|
||||||
left: 6px; |
|
||||||
} |
|
||||||
|
|
||||||
.right #MSearchClose { |
|
||||||
right: 2px; |
|
||||||
} |
|
||||||
|
|
||||||
.MSearchBoxActive #MSearchField { |
|
||||||
color: #000000; |
|
||||||
} |
|
||||||
|
|
||||||
/*---------------- Search filter selection */ |
|
||||||
|
|
||||||
#MSearchSelectWindow { |
|
||||||
display: none; |
|
||||||
position: absolute; |
|
||||||
left: 0; top: 0; |
|
||||||
border: 1px solid #90A5CE; |
|
||||||
background-color: #F9FAFC; |
|
||||||
z-index: 1; |
|
||||||
padding-top: 4px; |
|
||||||
padding-bottom: 4px; |
|
||||||
-moz-border-radius: 4px; |
|
||||||
-webkit-border-top-left-radius: 4px; |
|
||||||
-webkit-border-top-right-radius: 4px; |
|
||||||
-webkit-border-bottom-left-radius: 4px; |
|
||||||
-webkit-border-bottom-right-radius: 4px; |
|
||||||
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); |
|
||||||
} |
|
||||||
|
|
||||||
.SelectItem { |
|
||||||
font: 8pt Arial, Verdana, sans-serif; |
|
||||||
padding-left: 2px; |
|
||||||
padding-right: 12px; |
|
||||||
border: 0px; |
|
||||||
} |
|
||||||
|
|
||||||
span.SelectionMark { |
|
||||||
margin-right: 4px; |
|
||||||
font-family: monospace; |
|
||||||
outline-style: none; |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
|
|
||||||
a.SelectItem { |
|
||||||
display: block; |
|
||||||
outline-style: none; |
|
||||||
color: #000000; |
|
||||||
text-decoration: none; |
|
||||||
padding-left: 6px; |
|
||||||
padding-right: 12px; |
|
||||||
} |
|
||||||
|
|
||||||
a.SelectItem:focus, |
|
||||||
a.SelectItem:active { |
|
||||||
color: #000000; |
|
||||||
outline-style: none; |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
|
|
||||||
a.SelectItem:hover { |
|
||||||
color: #FFFFFF; |
|
||||||
background-color: #3D578C; |
|
||||||
outline-style: none; |
|
||||||
text-decoration: none; |
|
||||||
cursor: pointer; |
|
||||||
display: block; |
|
||||||
} |
|
||||||
|
|
||||||
/*---------------- Search results window */ |
|
||||||
|
|
||||||
iframe#MSearchResults { |
|
||||||
width: 60ex; |
|
||||||
height: 15em; |
|
||||||
} |
|
||||||
|
|
||||||
#MSearchResultsWindow { |
|
||||||
display: none; |
|
||||||
position: absolute; |
|
||||||
left: 0; top: 0; |
|
||||||
border: 1px solid #000; |
|
||||||
background-color: #EEF1F7; |
|
||||||
} |
|
||||||
|
|
||||||
/* ----------------------------------- */ |
|
||||||
|
|
||||||
|
|
||||||
#SRIndex { |
|
||||||
clear:both; |
|
||||||
padding-bottom: 15px; |
|
||||||
} |
|
||||||
|
|
||||||
.SREntry { |
|
||||||
font-size: 10pt; |
|
||||||
padding-left: 1ex; |
|
||||||
} |
|
||||||
|
|
||||||
.SRPage .SREntry { |
|
||||||
font-size: 8pt; |
|
||||||
padding: 1px 5px; |
|
||||||
} |
|
||||||
|
|
||||||
body.SRPage { |
|
||||||
margin: 5px 2px; |
|
||||||
} |
|
||||||
|
|
||||||
.SRChildren { |
|
||||||
padding-left: 3ex; padding-bottom: .5em |
|
||||||
} |
|
||||||
|
|
||||||
.SRPage .SRChildren { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
.SRSymbol { |
|
||||||
font-weight: bold; |
|
||||||
color: #425E97; |
|
||||||
font-family: Arial, Verdana, sans-serif; |
|
||||||
text-decoration: none; |
|
||||||
outline: none; |
|
||||||
} |
|
||||||
|
|
||||||
a.SRScope { |
|
||||||
display: block; |
|
||||||
color: #425E97; |
|
||||||
font-family: Arial, Verdana, sans-serif; |
|
||||||
text-decoration: none; |
|
||||||
outline: none; |
|
||||||
} |
|
||||||
|
|
||||||
a.SRSymbol:focus, a.SRSymbol:active, |
|
||||||
a.SRScope:focus, a.SRScope:active { |
|
||||||
text-decoration: underline; |
|
||||||
} |
|
||||||
|
|
||||||
span.SRScope { |
|
||||||
padding-left: 4px; |
|
||||||
} |
|
||||||
|
|
||||||
.SRPage .SRStatus { |
|
||||||
padding: 2px 5px; |
|
||||||
font-size: 8pt; |
|
||||||
font-style: italic; |
|
||||||
} |
|
||||||
|
|
||||||
.SRResult { |
|
||||||
display: none; |
|
||||||
} |
|
||||||
|
|
||||||
DIV.searchresults { |
|
||||||
margin-left: 10px; |
|
||||||
margin-right: 10px; |
|
||||||
} |
|
||||||
|
|
||||||
/*---------------- External search page results */ |
|
||||||
|
|
||||||
.searchresult { |
|
||||||
background-color: #F0F3F8; |
|
||||||
} |
|
||||||
|
|
||||||
.pages b { |
|
||||||
color: white; |
|
||||||
padding: 5px 5px 3px 5px; |
|
||||||
background-image: url("../tab_a.png"); |
|
||||||
background-repeat: repeat-x; |
|
||||||
text-shadow: 0 1px 1px #000000; |
|
||||||
} |
|
||||||
|
|
||||||
.pages { |
|
||||||
line-height: 17px; |
|
||||||
margin-left: 4px; |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
|
|
||||||
.hl { |
|
||||||
font-weight: bold; |
|
||||||
} |
|
||||||
|
|
||||||
#searchresults { |
|
||||||
margin-bottom: 20px; |
|
||||||
} |
|
||||||
|
|
||||||
.searchpages { |
|
||||||
margin-top: 10px; |
|
||||||
} |
|
||||||
|
|
@ -1,793 +0,0 @@ |
|||||||
// Search script generated by doxygen
|
|
||||||
// Copyright (C) 2009 by Dimitri van Heesch.
|
|
||||||
|
|
||||||
// The code in this file is loosly based on main.js, part of Natural Docs,
|
|
||||||
// which is Copyright (C) 2003-2008 Greg Valure
|
|
||||||
// Natural Docs is licensed under the GPL.
|
|
||||||
|
|
||||||
var indexSectionsWithContent = |
|
||||||
{ |
|
||||||
}; |
|
||||||
|
|
||||||
var indexSectionNames = |
|
||||||
{ |
|
||||||
}; |
|
||||||
|
|
||||||
function convertToId(search) |
|
||||||
{ |
|
||||||
var result = ''; |
|
||||||
for (i=0;i<search.length;i++) |
|
||||||
{ |
|
||||||
var c = search.charAt(i); |
|
||||||
var cn = c.charCodeAt(0); |
|
||||||
if (c.match(/[a-z0-9]/)) |
|
||||||
{ |
|
||||||
result+=c; |
|
||||||
} |
|
||||||
else if (cn<16)
|
|
||||||
{ |
|
||||||
result+="_0"+cn.toString(16); |
|
||||||
} |
|
||||||
else
|
|
||||||
{ |
|
||||||
result+="_"+cn.toString(16); |
|
||||||
} |
|
||||||
} |
|
||||||
return result; |
|
||||||
} |
|
||||||
|
|
||||||
function getXPos(item) |
|
||||||
{ |
|
||||||
var x = 0; |
|
||||||
if (item.offsetWidth) |
|
||||||
{ |
|
||||||
while (item && item!=document.body) |
|
||||||
{ |
|
||||||
x += item.offsetLeft; |
|
||||||
item = item.offsetParent; |
|
||||||
} |
|
||||||
} |
|
||||||
return x; |
|
||||||
} |
|
||||||
|
|
||||||
function getYPos(item) |
|
||||||
{ |
|
||||||
var y = 0; |
|
||||||
if (item.offsetWidth) |
|
||||||
{ |
|
||||||
while (item && item!=document.body) |
|
||||||
{ |
|
||||||
y += item.offsetTop; |
|
||||||
item = item.offsetParent; |
|
||||||
} |
|
||||||
} |
|
||||||
return y; |
|
||||||
} |
|
||||||
|
|
||||||
/* A class handling everything associated with the search panel. |
|
||||||
|
|
||||||
Parameters: |
|
||||||
name - The name of the global variable that will be
|
|
||||||
storing this instance. Is needed to be able to set timeouts. |
|
||||||
resultPath - path to use for external files |
|
||||||
*/ |
|
||||||
function SearchBox(name, resultsPath, inFrame, label) |
|
||||||
{ |
|
||||||
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } |
|
||||||
|
|
||||||
// ---------- Instance variables
|
|
||||||
this.name = name; |
|
||||||
this.resultsPath = resultsPath; |
|
||||||
this.keyTimeout = 0; |
|
||||||
this.keyTimeoutLength = 500; |
|
||||||
this.closeSelectionTimeout = 300; |
|
||||||
this.lastSearchValue = ""; |
|
||||||
this.lastResultsPage = ""; |
|
||||||
this.hideTimeout = 0; |
|
||||||
this.searchIndex = 0; |
|
||||||
this.searchActive = false; |
|
||||||
this.insideFrame = inFrame; |
|
||||||
this.searchLabel = label; |
|
||||||
|
|
||||||
// ----------- DOM Elements
|
|
||||||
|
|
||||||
this.DOMSearchField = function() |
|
||||||
{ return document.getElementById("MSearchField"); } |
|
||||||
|
|
||||||
this.DOMSearchSelect = function() |
|
||||||
{ return document.getElementById("MSearchSelect"); } |
|
||||||
|
|
||||||
this.DOMSearchSelectWindow = function() |
|
||||||
{ return document.getElementById("MSearchSelectWindow"); } |
|
||||||
|
|
||||||
this.DOMPopupSearchResults = function() |
|
||||||
{ return document.getElementById("MSearchResults"); } |
|
||||||
|
|
||||||
this.DOMPopupSearchResultsWindow = function() |
|
||||||
{ return document.getElementById("MSearchResultsWindow"); } |
|
||||||
|
|
||||||
this.DOMSearchClose = function() |
|
||||||
{ return document.getElementById("MSearchClose"); } |
|
||||||
|
|
||||||
this.DOMSearchBox = function() |
|
||||||
{ return document.getElementById("MSearchBox"); } |
|
||||||
|
|
||||||
// ------------ Event Handlers
|
|
||||||
|
|
||||||
// Called when focus is added or removed from the search field.
|
|
||||||
this.OnSearchFieldFocus = function(isActive) |
|
||||||
{ |
|
||||||
this.Activate(isActive); |
|
||||||
} |
|
||||||
|
|
||||||
this.OnSearchSelectShow = function() |
|
||||||
{ |
|
||||||
var searchSelectWindow = this.DOMSearchSelectWindow(); |
|
||||||
var searchField = this.DOMSearchSelect(); |
|
||||||
|
|
||||||
if (this.insideFrame) |
|
||||||
{ |
|
||||||
var left = getXPos(searchField); |
|
||||||
var top = getYPos(searchField); |
|
||||||
left += searchField.offsetWidth + 6; |
|
||||||
top += searchField.offsetHeight; |
|
||||||
|
|
||||||
// show search selection popup
|
|
||||||
searchSelectWindow.style.display='block'; |
|
||||||
left -= searchSelectWindow.offsetWidth; |
|
||||||
searchSelectWindow.style.left = left + 'px'; |
|
||||||
searchSelectWindow.style.top = top + 'px'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
var left = getXPos(searchField); |
|
||||||
var top = getYPos(searchField); |
|
||||||
top += searchField.offsetHeight; |
|
||||||
|
|
||||||
// show search selection popup
|
|
||||||
searchSelectWindow.style.display='block'; |
|
||||||
searchSelectWindow.style.left = left + 'px'; |
|
||||||
searchSelectWindow.style.top = top + 'px'; |
|
||||||
} |
|
||||||
|
|
||||||
// stop selection hide timer
|
|
||||||
if (this.hideTimeout)
|
|
||||||
{ |
|
||||||
clearTimeout(this.hideTimeout); |
|
||||||
this.hideTimeout=0; |
|
||||||
} |
|
||||||
return false; // to avoid "image drag" default event
|
|
||||||
} |
|
||||||
|
|
||||||
this.OnSearchSelectHide = function() |
|
||||||
{ |
|
||||||
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()", |
|
||||||
this.closeSelectionTimeout); |
|
||||||
} |
|
||||||
|
|
||||||
// Called when the content of the search field is changed.
|
|
||||||
this.OnSearchFieldChange = function(evt) |
|
||||||
{ |
|
||||||
if (this.keyTimeout) // kill running timer
|
|
||||||
{ |
|
||||||
clearTimeout(this.keyTimeout); |
|
||||||
this.keyTimeout = 0; |
|
||||||
} |
|
||||||
|
|
||||||
var e = (evt) ? evt : window.event; // for IE
|
|
||||||
if (e.keyCode==40 || e.keyCode==13) |
|
||||||
{ |
|
||||||
if (e.shiftKey==1) |
|
||||||
{ |
|
||||||
this.OnSearchSelectShow(); |
|
||||||
var win=this.DOMSearchSelectWindow();
|
|
||||||
for (i=0;i<win.childNodes.length;i++) |
|
||||||
{ |
|
||||||
var child = win.childNodes[i]; // get span within a
|
|
||||||
if (child.className=='SelectItem') |
|
||||||
{ |
|
||||||
child.focus(); |
|
||||||
return; |
|
||||||
} |
|
||||||
} |
|
||||||
return; |
|
||||||
} |
|
||||||
else if (window.frames.MSearchResults.searchResults) |
|
||||||
{ |
|
||||||
var elem = window.frames.MSearchResults.searchResults.NavNext(0); |
|
||||||
if (elem) elem.focus(); |
|
||||||
} |
|
||||||
} |
|
||||||
else if (e.keyCode==27) // Escape out of the search field
|
|
||||||
{ |
|
||||||
this.DOMSearchField().blur(); |
|
||||||
this.DOMPopupSearchResultsWindow().style.display = 'none'; |
|
||||||
this.DOMSearchClose().style.display = 'none'; |
|
||||||
this.lastSearchValue = ''; |
|
||||||
this.Activate(false); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
// strip whitespaces
|
|
||||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, ""); |
|
||||||
|
|
||||||
if (searchValue != this.lastSearchValue) // search value has changed
|
|
||||||
{ |
|
||||||
if (searchValue != "") // non-empty search
|
|
||||||
{ |
|
||||||
// set timer for search update
|
|
||||||
this.keyTimeout = setTimeout(this.name + '.Search()', |
|
||||||
this.keyTimeoutLength); |
|
||||||
} |
|
||||||
else // empty search field
|
|
||||||
{ |
|
||||||
this.DOMPopupSearchResultsWindow().style.display = 'none'; |
|
||||||
this.DOMSearchClose().style.display = 'none'; |
|
||||||
this.lastSearchValue = ''; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
this.SelectItemCount = function(id) |
|
||||||
{ |
|
||||||
var count=0; |
|
||||||
var win=this.DOMSearchSelectWindow();
|
|
||||||
for (i=0;i<win.childNodes.length;i++) |
|
||||||
{ |
|
||||||
var child = win.childNodes[i]; // get span within a
|
|
||||||
if (child.className=='SelectItem') |
|
||||||
{ |
|
||||||
count++; |
|
||||||
} |
|
||||||
} |
|
||||||
return count; |
|
||||||
} |
|
||||||
|
|
||||||
this.SelectItemSet = function(id) |
|
||||||
{ |
|
||||||
var i,j=0; |
|
||||||
var win=this.DOMSearchSelectWindow();
|
|
||||||
for (i=0;i<win.childNodes.length;i++) |
|
||||||
{ |
|
||||||
var child = win.childNodes[i]; // get span within a
|
|
||||||
if (child.className=='SelectItem') |
|
||||||
{ |
|
||||||
var node = child.firstChild; |
|
||||||
if (j==id) |
|
||||||
{ |
|
||||||
node.innerHTML='•'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
node.innerHTML=' '; |
|
||||||
} |
|
||||||
j++; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Called when an search filter selection is made.
|
|
||||||
// set item with index id as the active item
|
|
||||||
this.OnSelectItem = function(id) |
|
||||||
{ |
|
||||||
this.searchIndex = id; |
|
||||||
this.SelectItemSet(id); |
|
||||||
var searchValue = this.DOMSearchField().value.replace(/ +/g, ""); |
|
||||||
if (searchValue!="" && this.searchActive) // something was found -> do a search
|
|
||||||
{ |
|
||||||
this.Search(); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
this.OnSearchSelectKey = function(evt) |
|
||||||
{ |
|
||||||
var e = (evt) ? evt : window.event; // for IE
|
|
||||||
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
|
|
||||||
{ |
|
||||||
this.searchIndex++; |
|
||||||
this.OnSelectItem(this.searchIndex); |
|
||||||
} |
|
||||||
else if (e.keyCode==38 && this.searchIndex>0) // Up
|
|
||||||
{ |
|
||||||
this.searchIndex--; |
|
||||||
this.OnSelectItem(this.searchIndex); |
|
||||||
} |
|
||||||
else if (e.keyCode==13 || e.keyCode==27) |
|
||||||
{ |
|
||||||
this.OnSelectItem(this.searchIndex); |
|
||||||
this.CloseSelectionWindow(); |
|
||||||
this.DOMSearchField().focus(); |
|
||||||
} |
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
// --------- Actions
|
|
||||||
|
|
||||||
// Closes the results window.
|
|
||||||
this.CloseResultsWindow = function() |
|
||||||
{ |
|
||||||
this.DOMPopupSearchResultsWindow().style.display = 'none'; |
|
||||||
this.DOMSearchClose().style.display = 'none'; |
|
||||||
this.Activate(false); |
|
||||||
} |
|
||||||
|
|
||||||
this.CloseSelectionWindow = function() |
|
||||||
{ |
|
||||||
this.DOMSearchSelectWindow().style.display = 'none'; |
|
||||||
} |
|
||||||
|
|
||||||
// Performs a search.
|
|
||||||
this.Search = function() |
|
||||||
{ |
|
||||||
this.keyTimeout = 0; |
|
||||||
|
|
||||||
// strip leading whitespace
|
|
||||||
var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); |
|
||||||
|
|
||||||
var code = searchValue.toLowerCase().charCodeAt(0); |
|
||||||
var hexCode; |
|
||||||
if (code<16)
|
|
||||||
{ |
|
||||||
hexCode="0"+code.toString(16); |
|
||||||
} |
|
||||||
else
|
|
||||||
{ |
|
||||||
hexCode=code.toString(16); |
|
||||||
} |
|
||||||
|
|
||||||
var resultsPage; |
|
||||||
var resultsPageWithSearch; |
|
||||||
var hasResultsPage; |
|
||||||
|
|
||||||
if (indexSectionsWithContent[this.searchIndex].charAt(code) == '1') |
|
||||||
{ |
|
||||||
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; |
|
||||||
resultsPageWithSearch = resultsPage+'?'+escape(searchValue); |
|
||||||
hasResultsPage = true; |
|
||||||
} |
|
||||||
else // nothing available for this search term
|
|
||||||
{ |
|
||||||
resultsPage = this.resultsPath + '/nomatches.html'; |
|
||||||
resultsPageWithSearch = resultsPage; |
|
||||||
hasResultsPage = false; |
|
||||||
} |
|
||||||
|
|
||||||
window.frames.MSearchResults.location = resultsPageWithSearch;
|
|
||||||
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); |
|
||||||
|
|
||||||
if (domPopupSearchResultsWindow.style.display!='block') |
|
||||||
{ |
|
||||||
var domSearchBox = this.DOMSearchBox(); |
|
||||||
this.DOMSearchClose().style.display = 'inline'; |
|
||||||
if (this.insideFrame) |
|
||||||
{ |
|
||||||
var domPopupSearchResults = this.DOMPopupSearchResults(); |
|
||||||
domPopupSearchResultsWindow.style.position = 'relative'; |
|
||||||
domPopupSearchResultsWindow.style.display = 'block'; |
|
||||||
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
|
|
||||||
domPopupSearchResultsWindow.style.width = width + 'px'; |
|
||||||
domPopupSearchResults.style.width = width + 'px'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
var domPopupSearchResults = this.DOMPopupSearchResults(); |
|
||||||
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
|
|
||||||
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
|
|
||||||
domPopupSearchResultsWindow.style.display = 'block'; |
|
||||||
left -= domPopupSearchResults.offsetWidth; |
|
||||||
domPopupSearchResultsWindow.style.top = top + 'px'; |
|
||||||
domPopupSearchResultsWindow.style.left = left + 'px'; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
this.lastSearchValue = searchValue; |
|
||||||
this.lastResultsPage = resultsPage; |
|
||||||
} |
|
||||||
|
|
||||||
// -------- Activation Functions
|
|
||||||
|
|
||||||
// Activates or deactivates the search panel, resetting things to
|
|
||||||
// their default values if necessary.
|
|
||||||
this.Activate = function(isActive) |
|
||||||
{ |
|
||||||
if (isActive || // open it
|
|
||||||
this.DOMPopupSearchResultsWindow().style.display == 'block'
|
|
||||||
) |
|
||||||
{ |
|
||||||
this.DOMSearchBox().className = 'MSearchBoxActive'; |
|
||||||
|
|
||||||
var searchField = this.DOMSearchField(); |
|
||||||
|
|
||||||
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
|
|
||||||
{
|
|
||||||
searchField.value = '';
|
|
||||||
this.searchActive = true; |
|
||||||
} |
|
||||||
} |
|
||||||
else if (!isActive) // directly remove the panel
|
|
||||||
{ |
|
||||||
this.DOMSearchBox().className = 'MSearchBoxInactive'; |
|
||||||
this.DOMSearchField().value = this.searchLabel; |
|
||||||
this.searchActive = false; |
|
||||||
this.lastSearchValue = '' |
|
||||||
this.lastResultsPage = ''; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
|
||||||
|
|
||||||
// The class that handles everything on the search results page.
|
|
||||||
function SearchResults(name) |
|
||||||
{ |
|
||||||
// The number of matches from the last run of <Search()>.
|
|
||||||
this.lastMatchCount = 0; |
|
||||||
this.lastKey = 0; |
|
||||||
this.repeatOn = false; |
|
||||||
|
|
||||||
// Toggles the visibility of the passed element ID.
|
|
||||||
this.FindChildElement = function(id) |
|
||||||
{ |
|
||||||
var parentElement = document.getElementById(id); |
|
||||||
var element = parentElement.firstChild; |
|
||||||
|
|
||||||
while (element && element!=parentElement) |
|
||||||
{ |
|
||||||
if (element.nodeName == 'DIV' && element.className == 'SRChildren') |
|
||||||
{ |
|
||||||
return element; |
|
||||||
} |
|
||||||
|
|
||||||
if (element.nodeName == 'DIV' && element.hasChildNodes()) |
|
||||||
{
|
|
||||||
element = element.firstChild;
|
|
||||||
} |
|
||||||
else if (element.nextSibling) |
|
||||||
{
|
|
||||||
element = element.nextSibling;
|
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
do |
|
||||||
{ |
|
||||||
element = element.parentNode; |
|
||||||
} |
|
||||||
while (element && element!=parentElement && !element.nextSibling); |
|
||||||
|
|
||||||
if (element && element!=parentElement) |
|
||||||
{
|
|
||||||
element = element.nextSibling;
|
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
this.Toggle = function(id) |
|
||||||
{ |
|
||||||
var element = this.FindChildElement(id); |
|
||||||
if (element) |
|
||||||
{ |
|
||||||
if (element.style.display == 'block') |
|
||||||
{ |
|
||||||
element.style.display = 'none'; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
element.style.display = 'block'; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
// Searches for the passed string. If there is no parameter,
|
|
||||||
// it takes it from the URL query.
|
|
||||||
//
|
|
||||||
// Always returns true, since other documents may try to call it
|
|
||||||
// and that may or may not be possible.
|
|
||||||
this.Search = function(search) |
|
||||||
{ |
|
||||||
if (!search) // get search word from URL
|
|
||||||
{ |
|
||||||
search = window.location.search; |
|
||||||
search = search.substring(1); // Remove the leading '?'
|
|
||||||
search = unescape(search); |
|
||||||
} |
|
||||||
|
|
||||||
search = search.replace(/^ +/, ""); // strip leading spaces
|
|
||||||
search = search.replace(/ +$/, ""); // strip trailing spaces
|
|
||||||
search = search.toLowerCase(); |
|
||||||
search = convertToId(search); |
|
||||||
|
|
||||||
var resultRows = document.getElementsByTagName("div"); |
|
||||||
var matches = 0; |
|
||||||
|
|
||||||
var i = 0; |
|
||||||
while (i < resultRows.length) |
|
||||||
{ |
|
||||||
var row = resultRows.item(i); |
|
||||||
if (row.className == "SRResult") |
|
||||||
{ |
|
||||||
var rowMatchName = row.id.toLowerCase(); |
|
||||||
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
|
|
||||||
|
|
||||||
if (search.length<=rowMatchName.length &&
|
|
||||||
rowMatchName.substr(0, search.length)==search) |
|
||||||
{ |
|
||||||
row.style.display = 'block'; |
|
||||||
matches++; |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
row.style.display = 'none'; |
|
||||||
} |
|
||||||
} |
|
||||||
i++; |
|
||||||
} |
|
||||||
document.getElementById("Searching").style.display='none'; |
|
||||||
if (matches == 0) // no results
|
|
||||||
{ |
|
||||||
document.getElementById("NoMatches").style.display='block'; |
|
||||||
} |
|
||||||
else // at least one result
|
|
||||||
{ |
|
||||||
document.getElementById("NoMatches").style.display='none'; |
|
||||||
} |
|
||||||
this.lastMatchCount = matches; |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
// return the first item with index index or higher that is visible
|
|
||||||
this.NavNext = function(index) |
|
||||||
{ |
|
||||||
var focusItem; |
|
||||||
while (1) |
|
||||||
{ |
|
||||||
var focusName = 'Item'+index; |
|
||||||
focusItem = document.getElementById(focusName); |
|
||||||
if (focusItem && focusItem.parentNode.parentNode.style.display=='block') |
|
||||||
{ |
|
||||||
break; |
|
||||||
} |
|
||||||
else if (!focusItem) // last element
|
|
||||||
{ |
|
||||||
break; |
|
||||||
} |
|
||||||
focusItem=null; |
|
||||||
index++; |
|
||||||
} |
|
||||||
return focusItem; |
|
||||||
} |
|
||||||
|
|
||||||
this.NavPrev = function(index) |
|
||||||
{ |
|
||||||
var focusItem; |
|
||||||
while (1) |
|
||||||
{ |
|
||||||
var focusName = 'Item'+index; |
|
||||||
focusItem = document.getElementById(focusName); |
|
||||||
if (focusItem && focusItem.parentNode.parentNode.style.display=='block') |
|
||||||
{ |
|
||||||
break; |
|
||||||
} |
|
||||||
else if (!focusItem) // last element
|
|
||||||
{ |
|
||||||
break; |
|
||||||
} |
|
||||||
focusItem=null; |
|
||||||
index--; |
|
||||||
} |
|
||||||
return focusItem; |
|
||||||
} |
|
||||||
|
|
||||||
this.ProcessKeys = function(e) |
|
||||||
{ |
|
||||||
if (e.type == "keydown")
|
|
||||||
{ |
|
||||||
this.repeatOn = false; |
|
||||||
this.lastKey = e.keyCode; |
|
||||||
} |
|
||||||
else if (e.type == "keypress") |
|
||||||
{ |
|
||||||
if (!this.repeatOn) |
|
||||||
{ |
|
||||||
if (this.lastKey) this.repeatOn = true; |
|
||||||
return false; // ignore first keypress after keydown
|
|
||||||
} |
|
||||||
} |
|
||||||
else if (e.type == "keyup") |
|
||||||
{ |
|
||||||
this.lastKey = 0; |
|
||||||
this.repeatOn = false; |
|
||||||
} |
|
||||||
return this.lastKey!=0; |
|
||||||
} |
|
||||||
|
|
||||||
this.Nav = function(evt,itemIndex)
|
|
||||||
{ |
|
||||||
var e = (evt) ? evt : window.event; // for IE
|
|
||||||
if (e.keyCode==13) return true; |
|
||||||
if (!this.ProcessKeys(e)) return false; |
|
||||||
|
|
||||||
if (this.lastKey==38) // Up
|
|
||||||
{ |
|
||||||
var newIndex = itemIndex-1; |
|
||||||
var focusItem = this.NavPrev(newIndex); |
|
||||||
if (focusItem) |
|
||||||
{ |
|
||||||
var child = this.FindChildElement(focusItem.parentNode.parentNode.id); |
|
||||||
if (child && child.style.display == 'block') // children visible
|
|
||||||
{
|
|
||||||
var n=0; |
|
||||||
var tmpElem; |
|
||||||
while (1) // search for last child
|
|
||||||
{ |
|
||||||
tmpElem = document.getElementById('Item'+newIndex+'_c'+n); |
|
||||||
if (tmpElem) |
|
||||||
{ |
|
||||||
focusItem = tmpElem; |
|
||||||
} |
|
||||||
else // found it!
|
|
||||||
{ |
|
||||||
break; |
|
||||||
} |
|
||||||
n++; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
if (focusItem) |
|
||||||
{ |
|
||||||
focusItem.focus(); |
|
||||||
} |
|
||||||
else // return focus to search field
|
|
||||||
{ |
|
||||||
parent.document.getElementById("MSearchField").focus(); |
|
||||||
} |
|
||||||
} |
|
||||||
else if (this.lastKey==40) // Down
|
|
||||||
{ |
|
||||||
var newIndex = itemIndex+1; |
|
||||||
var focusItem; |
|
||||||
var item = document.getElementById('Item'+itemIndex); |
|
||||||
var elem = this.FindChildElement(item.parentNode.parentNode.id); |
|
||||||
if (elem && elem.style.display == 'block') // children visible
|
|
||||||
{ |
|
||||||
focusItem = document.getElementById('Item'+itemIndex+'_c0'); |
|
||||||
} |
|
||||||
if (!focusItem) focusItem = this.NavNext(newIndex); |
|
||||||
if (focusItem) focusItem.focus(); |
|
||||||
} |
|
||||||
else if (this.lastKey==39) // Right
|
|
||||||
{ |
|
||||||
var item = document.getElementById('Item'+itemIndex); |
|
||||||
var elem = this.FindChildElement(item.parentNode.parentNode.id); |
|
||||||
if (elem) elem.style.display = 'block'; |
|
||||||
} |
|
||||||
else if (this.lastKey==37) // Left
|
|
||||||
{ |
|
||||||
var item = document.getElementById('Item'+itemIndex); |
|
||||||
var elem = this.FindChildElement(item.parentNode.parentNode.id); |
|
||||||
if (elem) elem.style.display = 'none'; |
|
||||||
} |
|
||||||
else if (this.lastKey==27) // Escape
|
|
||||||
{ |
|
||||||
parent.searchBox.CloseResultsWindow(); |
|
||||||
parent.document.getElementById("MSearchField").focus(); |
|
||||||
} |
|
||||||
else if (this.lastKey==13) // Enter
|
|
||||||
{ |
|
||||||
return true; |
|
||||||
} |
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
this.NavChild = function(evt,itemIndex,childIndex) |
|
||||||
{ |
|
||||||
var e = (evt) ? evt : window.event; // for IE
|
|
||||||
if (e.keyCode==13) return true; |
|
||||||
if (!this.ProcessKeys(e)) return false; |
|
||||||
|
|
||||||
if (this.lastKey==38) // Up
|
|
||||||
{ |
|
||||||
if (childIndex>0) |
|
||||||
{ |
|
||||||
var newIndex = childIndex-1; |
|
||||||
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); |
|
||||||
} |
|
||||||
else // already at first child, jump to parent
|
|
||||||
{ |
|
||||||
document.getElementById('Item'+itemIndex).focus(); |
|
||||||
} |
|
||||||
} |
|
||||||
else if (this.lastKey==40) // Down
|
|
||||||
{ |
|
||||||
var newIndex = childIndex+1; |
|
||||||
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); |
|
||||||
if (!elem) // last child, jump to parent next parent
|
|
||||||
{ |
|
||||||
elem = this.NavNext(itemIndex+1); |
|
||||||
} |
|
||||||
if (elem) |
|
||||||
{ |
|
||||||
elem.focus(); |
|
||||||
}
|
|
||||||
} |
|
||||||
else if (this.lastKey==27) // Escape
|
|
||||||
{ |
|
||||||
parent.searchBox.CloseResultsWindow(); |
|
||||||
parent.document.getElementById("MSearchField").focus(); |
|
||||||
} |
|
||||||
else if (this.lastKey==13) // Enter
|
|
||||||
{ |
|
||||||
return true; |
|
||||||
} |
|
||||||
return false; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
function setKeyActions(elem,action) |
|
||||||
{ |
|
||||||
elem.setAttribute('onkeydown',action); |
|
||||||
elem.setAttribute('onkeypress',action); |
|
||||||
elem.setAttribute('onkeyup',action); |
|
||||||
} |
|
||||||
|
|
||||||
function setClassAttr(elem,attr) |
|
||||||
{ |
|
||||||
elem.setAttribute('class',attr); |
|
||||||
elem.setAttribute('className',attr); |
|
||||||
} |
|
||||||
|
|
||||||
function createResults() |
|
||||||
{ |
|
||||||
var results = document.getElementById("SRResults"); |
|
||||||
for (var e=0; e<searchData.length; e++) |
|
||||||
{ |
|
||||||
var id = searchData[e][0]; |
|
||||||
var srResult = document.createElement('div'); |
|
||||||
srResult.setAttribute('id','SR_'+id); |
|
||||||
setClassAttr(srResult,'SRResult'); |
|
||||||
var srEntry = document.createElement('div'); |
|
||||||
setClassAttr(srEntry,'SREntry'); |
|
||||||
var srLink = document.createElement('a'); |
|
||||||
srLink.setAttribute('id','Item'+e); |
|
||||||
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')'); |
|
||||||
setClassAttr(srLink,'SRSymbol'); |
|
||||||
srLink.innerHTML = searchData[e][1][0]; |
|
||||||
srEntry.appendChild(srLink); |
|
||||||
if (searchData[e][1].length==2) // single result
|
|
||||||
{ |
|
||||||
srLink.setAttribute('href',searchData[e][1][1][0]); |
|
||||||
if (searchData[e][1][1][1]) |
|
||||||
{ |
|
||||||
srLink.setAttribute('target','_parent'); |
|
||||||
} |
|
||||||
var srScope = document.createElement('span'); |
|
||||||
setClassAttr(srScope,'SRScope'); |
|
||||||
srScope.innerHTML = searchData[e][1][1][2]; |
|
||||||
srEntry.appendChild(srScope); |
|
||||||
} |
|
||||||
else // multiple results
|
|
||||||
{ |
|
||||||
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); |
|
||||||
var srChildren = document.createElement('div'); |
|
||||||
setClassAttr(srChildren,'SRChildren'); |
|
||||||
for (var c=0; c<searchData[e][1].length-1; c++) |
|
||||||
{ |
|
||||||
var srChild = document.createElement('a'); |
|
||||||
srChild.setAttribute('id','Item'+e+'_c'+c); |
|
||||||
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')'); |
|
||||||
setClassAttr(srChild,'SRScope'); |
|
||||||
srChild.setAttribute('href',searchData[e][1][c+1][0]); |
|
||||||
if (searchData[e][1][c+1][1]) |
|
||||||
{ |
|
||||||
srChild.setAttribute('target','_parent'); |
|
||||||
} |
|
||||||
srChild.innerHTML = searchData[e][1][c+1][2]; |
|
||||||
srChildren.appendChild(srChild); |
|
||||||
} |
|
||||||
srEntry.appendChild(srChildren); |
|
||||||
} |
|
||||||
srResult.appendChild(srEntry); |
|
||||||
results.appendChild(srResult); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
Before Width: | Height: | Size: 604 B |
Before Width: | Height: | Size: 158 B |
Before Width: | Height: | Size: 612 B |
Before Width: | Height: | Size: 853 B |
Before Width: | Height: | Size: 845 B |
Before Width: | Height: | Size: 142 B |
Before Width: | Height: | Size: 169 B |
Before Width: | Height: | Size: 177 B |
Before Width: | Height: | Size: 184 B |
@ -1,60 +0,0 @@ |
|||||||
.tabs, .tabs2, .tabs3 { |
|
||||||
background-image: url('tab_b.png'); |
|
||||||
width: 100%; |
|
||||||
z-index: 101; |
|
||||||
font-size: 13px; |
|
||||||
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; |
|
||||||
} |
|
||||||
|
|
||||||
.tabs2 { |
|
||||||
font-size: 10px; |
|
||||||
} |
|
||||||
.tabs3 { |
|
||||||
font-size: 9px; |
|
||||||
} |
|
||||||
|
|
||||||
.tablist { |
|
||||||
margin: 0; |
|
||||||
padding: 0; |
|
||||||
display: table; |
|
||||||
} |
|
||||||
|
|
||||||
.tablist li { |
|
||||||
float: left; |
|
||||||
display: table-cell; |
|
||||||
background-image: url('tab_b.png'); |
|
||||||
line-height: 36px; |
|
||||||
list-style: none; |
|
||||||
} |
|
||||||
|
|
||||||
.tablist a { |
|
||||||
display: block; |
|
||||||
padding: 0 20px; |
|
||||||
font-weight: bold; |
|
||||||
background-image:url('tab_s.png'); |
|
||||||
background-repeat:no-repeat; |
|
||||||
background-position:right; |
|
||||||
color: #283A5D; |
|
||||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); |
|
||||||
text-decoration: none; |
|
||||||
outline: none; |
|
||||||
} |
|
||||||
|
|
||||||
.tabs3 .tablist a { |
|
||||||
padding: 0 10px; |
|
||||||
} |
|
||||||
|
|
||||||
.tablist a:hover { |
|
||||||
background-image: url('tab_h.png'); |
|
||||||
background-repeat:repeat-x; |
|
||||||
color: #fff; |
|
||||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); |
|
||||||
text-decoration: none; |
|
||||||
} |
|
||||||
|
|
||||||
.tablist li.current a { |
|
||||||
background-image: url('tab_a.png'); |
|
||||||
background-repeat:repeat-x; |
|
||||||
color: #fff; |
|
||||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); |
|
||||||
} |
|
@ -1,21 +0,0 @@ |
|||||||
all: refman.pdf |
|
||||||
|
|
||||||
pdf: refman.pdf |
|
||||||
|
|
||||||
refman.pdf: clean refman.tex |
|
||||||
pdflatex refman
|
|
||||||
makeindex refman.idx
|
|
||||||
pdflatex refman
|
|
||||||
latex_count=5 ; \
|
|
||||||
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\
|
|
||||||
do \
|
|
||||||
echo "Rerunning latex...." ;\
|
|
||||||
pdflatex refman ;\
|
|
||||||
latex_count=`expr $$latex_count - 1` ;\
|
|
||||||
done
|
|
||||||
makeindex refman.idx
|
|
||||||
pdflatex refman
|
|
||||||
|
|
||||||
|
|
||||||
clean: |
|
||||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
|
|
@ -1,464 +0,0 @@ |
|||||||
\NeedsTeXFormat{LaTeX2e} |
|
||||||
\ProvidesPackage{doxygen} |
|
||||||
|
|
||||||
% Packages used by this style file |
|
||||||
\RequirePackage{alltt} |
|
||||||
\RequirePackage{array} |
|
||||||
\RequirePackage{calc} |
|
||||||
\RequirePackage{float} |
|
||||||
\RequirePackage{ifthen} |
|
||||||
\RequirePackage{verbatim} |
|
||||||
\RequirePackage[table]{xcolor} |
|
||||||
\RequirePackage{xtab} |
|
||||||
|
|
||||||
%---------- Internal commands used in this style file ---------------- |
|
||||||
|
|
||||||
\newcommand{\ensurespace}[1]{% |
|
||||||
\begingroup% |
|
||||||
\setlength{\dimen@}{#1}% |
|
||||||
\vskip\z@\@plus\dimen@% |
|
||||||
\penalty -100\vskip\z@\@plus -\dimen@% |
|
||||||
\vskip\dimen@% |
|
||||||
\penalty 9999% |
|
||||||
\vskip -\dimen@% |
|
||||||
\vskip\z@skip% hide the previous |\vskip| from |\addvspace| |
|
||||||
\endgroup% |
|
||||||
} |
|
||||||
|
|
||||||
\newcommand{\DoxyLabelFont}{} |
|
||||||
\newcommand{\entrylabel}[1]{% |
|
||||||
{% |
|
||||||
\parbox[b]{\labelwidth-4pt}{% |
|
||||||
\makebox[0pt][l]{\DoxyLabelFont#1}% |
|
||||||
\vspace{1.5\baselineskip}% |
|
||||||
}% |
|
||||||
}% |
|
||||||
} |
|
||||||
|
|
||||||
\newenvironment{DoxyDesc}[1]{% |
|
||||||
\ensurespace{4\baselineskip}% |
|
||||||
\begin{list}{}{% |
|
||||||
\settowidth{\labelwidth}{20pt}% |
|
||||||
\setlength{\parsep}{0pt}% |
|
||||||
\setlength{\itemsep}{0pt}% |
|
||||||
\setlength{\leftmargin}{\labelwidth+\labelsep}% |
|
||||||
\renewcommand{\makelabel}{\entrylabel}% |
|
||||||
}% |
|
||||||
\item[#1]% |
|
||||||
}{% |
|
||||||
\end{list}% |
|
||||||
} |
|
||||||
|
|
||||||
\newsavebox{\xrefbox} |
|
||||||
\newlength{\xreflength} |
|
||||||
\newcommand{\xreflabel}[1]{% |
|
||||||
\sbox{\xrefbox}{#1}% |
|
||||||
\setlength{\xreflength}{\wd\xrefbox}% |
|
||||||
\ifthenelse{\xreflength>\labelwidth}{% |
|
||||||
\begin{minipage}{\textwidth}% |
|
||||||
\setlength{\parindent}{0pt}% |
|
||||||
\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% |
|
||||||
\end{minipage}% |
|
||||||
}{% |
|
||||||
\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% |
|
||||||
}% |
|
||||||
} |
|
||||||
|
|
||||||
%---------- Commands used by doxygen LaTeX output generator ---------- |
|
||||||
|
|
||||||
% Used by <pre> ... </pre> |
|
||||||
\newenvironment{DoxyPre}{% |
|
||||||
\small% |
|
||||||
\begin{alltt}% |
|
||||||
}{% |
|
||||||
\end{alltt}% |
|
||||||
\normalsize% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @code ... @endcode |
|
||||||
\newenvironment{DoxyCode}{% |
|
||||||
\par% |
|
||||||
\scriptsize% |
|
||||||
\begin{alltt}% |
|
||||||
}{% |
|
||||||
\end{alltt}% |
|
||||||
\normalsize% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @example, @include, @includelineno and @dontinclude |
|
||||||
\newenvironment{DoxyCodeInclude}{% |
|
||||||
\DoxyCode% |
|
||||||
}{% |
|
||||||
\endDoxyCode% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @verbatim ... @endverbatim |
|
||||||
\newenvironment{DoxyVerb}{% |
|
||||||
\footnotesize% |
|
||||||
\verbatim% |
|
||||||
}{% |
|
||||||
\endverbatim% |
|
||||||
\normalsize% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @verbinclude |
|
||||||
\newenvironment{DoxyVerbInclude}{% |
|
||||||
\DoxyVerb% |
|
||||||
}{% |
|
||||||
\endDoxyVerb% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by numbered lists (using '-#' or <ol> ... </ol>) |
|
||||||
\newenvironment{DoxyEnumerate}{% |
|
||||||
\enumerate% |
|
||||||
}{% |
|
||||||
\endenumerate% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>) |
|
||||||
\newenvironment{DoxyItemize}{% |
|
||||||
\itemize% |
|
||||||
}{% |
|
||||||
\enditemize% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by description lists (using <dl> ... </dl>) |
|
||||||
\newenvironment{DoxyDescription}{% |
|
||||||
\description% |
|
||||||
}{% |
|
||||||
\enddescription% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc |
|
||||||
% (only if caption is specified) |
|
||||||
\newenvironment{DoxyImage}{% |
|
||||||
\begin{figure}[H]% |
|
||||||
\begin{center}% |
|
||||||
}{% |
|
||||||
\end{center}% |
|
||||||
\end{figure}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc |
|
||||||
% (only if no caption is specified) |
|
||||||
\newenvironment{DoxyImageNoCaption}{% |
|
||||||
}{% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @attention |
|
||||||
\newenvironment{DoxyAttention}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @author and @authors |
|
||||||
\newenvironment{DoxyAuthor}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @date |
|
||||||
\newenvironment{DoxyDate}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @invariant |
|
||||||
\newenvironment{DoxyInvariant}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @note |
|
||||||
\newenvironment{DoxyNote}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @post |
|
||||||
\newenvironment{DoxyPostcond}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @pre |
|
||||||
\newenvironment{DoxyPrecond}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @copyright |
|
||||||
\newenvironment{DoxyCopyright}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @remark |
|
||||||
\newenvironment{DoxyRemark}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @return and @returns |
|
||||||
\newenvironment{DoxyReturn}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @since |
|
||||||
\newenvironment{DoxySince}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @see |
|
||||||
\newenvironment{DoxySeeAlso}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @version |
|
||||||
\newenvironment{DoxyVersion}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @warning |
|
||||||
\newenvironment{DoxyWarning}[1]{% |
|
||||||
\begin{DoxyDesc}{#1}% |
|
||||||
}{% |
|
||||||
\end{DoxyDesc}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @internal |
|
||||||
\newenvironment{DoxyInternal}[1]{% |
|
||||||
\paragraph*{#1}% |
|
||||||
}{% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @par and @paragraph |
|
||||||
\newenvironment{DoxyParagraph}[1]{% |
|
||||||
\begin{list}{}{% |
|
||||||
\settowidth{\labelwidth}{40pt}% |
|
||||||
\setlength{\leftmargin}{\labelwidth}% |
|
||||||
\setlength{\parsep}{0pt}% |
|
||||||
\setlength{\itemsep}{-4pt}% |
|
||||||
\renewcommand{\makelabel}{\entrylabel}% |
|
||||||
}% |
|
||||||
\item[#1]% |
|
||||||
}{% |
|
||||||
\end{list}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by parameter lists |
|
||||||
\newenvironment{DoxyParams}[2][]{% |
|
||||||
\par% |
|
||||||
\tabletail{\hline}% |
|
||||||
\tablelasttail{\hline}% |
|
||||||
\tablefirsthead{}% |
|
||||||
\tablehead{}% |
|
||||||
\ifthenelse{\equal{#1}{}}% |
|
||||||
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% |
|
||||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% |
|
||||||
p{0.805\textwidth}|}}% |
|
||||||
{\ifthenelse{\equal{#1}{1}}% |
|
||||||
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% |
|
||||||
\begin{xtabular}{|>{\centering}p{0.10\textwidth}|% |
|
||||||
>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% |
|
||||||
p{0.678\textwidth}|}}% |
|
||||||
{\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% |
|
||||||
\begin{xtabular}{|>{\centering}p{0.10\textwidth}|% |
|
||||||
>{\centering\hspace{0pt}}p{0.15\textwidth}|% |
|
||||||
>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% |
|
||||||
p{0.501\textwidth}|}}% |
|
||||||
}\hline% |
|
||||||
}{% |
|
||||||
\end{xtabular}% |
|
||||||
\tablefirsthead{}% |
|
||||||
\vspace{6pt}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used for fields of simple structs |
|
||||||
\newenvironment{DoxyFields}[1]{% |
|
||||||
\par% |
|
||||||
\tabletail{\hline}% |
|
||||||
\tablelasttail{\hline}% |
|
||||||
\tablehead{}% |
|
||||||
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% |
|
||||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% |
|
||||||
p{0.15\textwidth}|% |
|
||||||
p{0.63\textwidth}|}% |
|
||||||
\hline% |
|
||||||
}{% |
|
||||||
\end{xtabular}% |
|
||||||
\tablefirsthead{}% |
|
||||||
\vspace{6pt}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used for parameters within a detailed function description |
|
||||||
\newenvironment{DoxyParamCaption}{% |
|
||||||
\renewcommand{\item}[2][]{##1 {\em ##2}}% |
|
||||||
}{% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by return value lists |
|
||||||
\newenvironment{DoxyRetVals}[1]{% |
|
||||||
\par% |
|
||||||
\tabletail{\hline}% |
|
||||||
\tablelasttail{\hline}% |
|
||||||
\tablehead{}% |
|
||||||
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% |
|
||||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% |
|
||||||
p{0.705\textwidth}|}% |
|
||||||
\hline% |
|
||||||
}{% |
|
||||||
\end{xtabular}% |
|
||||||
\tablefirsthead{}% |
|
||||||
\vspace{6pt}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by exception lists |
|
||||||
\newenvironment{DoxyExceptions}[1]{% |
|
||||||
\par% |
|
||||||
\tabletail{\hline}% |
|
||||||
\tablelasttail{\hline}% |
|
||||||
\tablehead{}% |
|
||||||
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% |
|
||||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% |
|
||||||
p{0.705\textwidth}|}% |
|
||||||
\hline% |
|
||||||
}{% |
|
||||||
\end{xtabular}% |
|
||||||
\tablefirsthead{}% |
|
||||||
\vspace{6pt}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by template parameter lists |
|
||||||
\newenvironment{DoxyTemplParams}[1]{% |
|
||||||
\par% |
|
||||||
\tabletail{\hline}% |
|
||||||
\tablelasttail{\hline}% |
|
||||||
\tablehead{}% |
|
||||||
\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% |
|
||||||
\begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% |
|
||||||
p{0.705\textwidth}|}% |
|
||||||
\hline% |
|
||||||
}{% |
|
||||||
\end{xtabular}% |
|
||||||
\tablefirsthead{}% |
|
||||||
\vspace{6pt}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used for member lists |
|
||||||
\newenvironment{DoxyCompactItemize}{% |
|
||||||
\begin{itemize}% |
|
||||||
\setlength{\itemsep}{-3pt}% |
|
||||||
\setlength{\parsep}{0pt}% |
|
||||||
\setlength{\topsep}{0pt}% |
|
||||||
\setlength{\partopsep}{0pt}% |
|
||||||
}{% |
|
||||||
\end{itemize}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used for member descriptions |
|
||||||
\newenvironment{DoxyCompactList}{% |
|
||||||
\begin{list}{}{% |
|
||||||
\setlength{\leftmargin}{0.5cm}% |
|
||||||
\setlength{\itemsep}{0pt}% |
|
||||||
\setlength{\parsep}{0pt}% |
|
||||||
\setlength{\topsep}{0pt}% |
|
||||||
\renewcommand{\makelabel}{\hfill}% |
|
||||||
}% |
|
||||||
}{% |
|
||||||
\end{list}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used for reference lists (@bug, @deprecated, @todo, etc.) |
|
||||||
\newenvironment{DoxyRefList}{% |
|
||||||
\begin{list}{}{% |
|
||||||
\setlength{\labelwidth}{10pt}% |
|
||||||
\setlength{\leftmargin}{\labelwidth}% |
|
||||||
\addtolength{\leftmargin}{\labelsep}% |
|
||||||
\renewcommand{\makelabel}{\xreflabel}% |
|
||||||
}% |
|
||||||
}{% |
|
||||||
\end{list}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by @bug, @deprecated, @todo, etc. |
|
||||||
\newenvironment{DoxyRefDesc}[1]{% |
|
||||||
\begin{list}{}{% |
|
||||||
\renewcommand\makelabel[1]{\textbf{##1}}% |
|
||||||
\settowidth\labelwidth{\makelabel{#1}}% |
|
||||||
\setlength\leftmargin{\labelwidth+\labelsep}% |
|
||||||
}% |
|
||||||
}{% |
|
||||||
\end{list}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by parameter lists and simple sections |
|
||||||
\newenvironment{Desc} |
|
||||||
{\begin{list}{}{% |
|
||||||
\settowidth{\labelwidth}{40pt}% |
|
||||||
\setlength{\leftmargin}{\labelwidth}% |
|
||||||
\setlength{\parsep}{0pt}% |
|
||||||
\setlength{\itemsep}{-4pt}% |
|
||||||
\renewcommand{\makelabel}{\entrylabel}% |
|
||||||
} |
|
||||||
}{% |
|
||||||
\end{list}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used by tables |
|
||||||
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% |
|
||||||
\newlength{\tmplength}% |
|
||||||
\newenvironment{TabularC}[1]% |
|
||||||
{% |
|
||||||
\setlength{\tmplength}% |
|
||||||
{\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}% |
|
||||||
\par\begin{xtabular*}{\linewidth}% |
|
||||||
{*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}% |
|
||||||
}% |
|
||||||
{\end{xtabular*}\par}% |
|
||||||
|
|
||||||
% Used for member group headers |
|
||||||
\newenvironment{Indent}{% |
|
||||||
\begin{list}{}{% |
|
||||||
\setlength{\leftmargin}{0.5cm}% |
|
||||||
}% |
|
||||||
\item[]\ignorespaces% |
|
||||||
}{% |
|
||||||
\unskip% |
|
||||||
\end{list}% |
|
||||||
} |
|
||||||
|
|
||||||
% Used when hyperlinks are turned off |
|
||||||
\newcommand{\doxyref}[3]{% |
|
||||||
\textbf{#1} (\textnormal{#2}\,\pageref{#3})% |
|
||||||
} |
|
||||||
|
|
||||||
% Used for syntax highlighting |
|
||||||
\definecolor{comment}{rgb}{0.5,0.0,0.0} |
|
||||||
\definecolor{keyword}{rgb}{0.0,0.5,0.0} |
|
||||||
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} |
|
||||||
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} |
|
||||||
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} |
|
||||||
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} |
|
||||||
\definecolor{charliteral}{rgb}{0.0,0.5,0.5} |
|
||||||
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} |
|
||||||
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} |
|
||||||
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} |
|
||||||
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} |
|
@ -1,143 +0,0 @@ |
|||||||
\documentclass[twoside]{book} |
|
||||||
|
|
||||||
% Packages required by doxygen |
|
||||||
\usepackage{calc} |
|
||||||
\usepackage{doxygen} |
|
||||||
\usepackage{graphicx} |
|
||||||
\usepackage[utf8]{inputenc} |
|
||||||
\usepackage{makeidx} |
|
||||||
\usepackage{multicol} |
|
||||||
\usepackage{multirow} |
|
||||||
\usepackage{textcomp} |
|
||||||
\usepackage[table]{xcolor} |
|
||||||
|
|
||||||
% NLS support packages |
|
||||||
\usepackage[bahasa]{babel} |
|
||||||
% Font selection |
|
||||||
\usepackage[T1]{fontenc} |
|
||||||
\usepackage{mathptmx} |
|
||||||
\usepackage[scaled=.90]{helvet} |
|
||||||
\usepackage{courier} |
|
||||||
\usepackage{amssymb} |
|
||||||
\usepackage{sectsty} |
|
||||||
\renewcommand{\familydefault}{\sfdefault} |
|
||||||
\allsectionsfont{% |
|
||||||
\fontseries{bc}\selectfont% |
|
||||||
\color{darkgray}% |
|
||||||
} |
|
||||||
\renewcommand{\DoxyLabelFont}{% |
|
||||||
\fontseries{bc}\selectfont% |
|
||||||
\color{darkgray}% |
|
||||||
} |
|
||||||
|
|
||||||
% Page & text layout |
|
||||||
\usepackage{geometry} |
|
||||||
\geometry{% |
|
||||||
a4paper,% |
|
||||||
top=2.5cm,% |
|
||||||
bottom=2.5cm,% |
|
||||||
left=2.5cm,% |
|
||||||
right=2.5cm% |
|
||||||
} |
|
||||||
\tolerance=750 |
|
||||||
\hfuzz=15pt |
|
||||||
\hbadness=750 |
|
||||||
\setlength{\emergencystretch}{15pt} |
|
||||||
\setlength{\parindent}{0cm} |
|
||||||
\setlength{\parskip}{0.2cm} |
|
||||||
\makeatletter |
|
||||||
\renewcommand{\paragraph}{% |
|
||||||
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% |
|
||||||
\normalfont\normalsize\bfseries\SS@parafont% |
|
||||||
}% |
|
||||||
} |
|
||||||
\renewcommand{\subparagraph}{% |
|
||||||
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% |
|
||||||
\normalfont\normalsize\bfseries\SS@subparafont% |
|
||||||
}% |
|
||||||
} |
|
||||||
\makeatother |
|
||||||
|
|
||||||
% Headers & footers |
|
||||||
\usepackage{fancyhdr} |
|
||||||
\pagestyle{fancyplain} |
|
||||||
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} |
|
||||||
\fancyhead[CE]{\fancyplain{}{}} |
|
||||||
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} |
|
||||||
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} |
|
||||||
\fancyhead[CO]{\fancyplain{}{}} |
|
||||||
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} |
|
||||||
\fancyfoot[LE]{\fancyplain{}{}} |
|
||||||
\fancyfoot[CE]{\fancyplain{}{}} |
|
||||||
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Dibangkitkan pada tanggal Kamis 8 November 2018 15\-:44\-:16 untuk Hak Cipta Pustaka G\-P\-U-\/\-Cuda Untuk Poisson Solver oleh Doxygen }} |
|
||||||
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Dibangkitkan pada tanggal Kamis 8 November 2018 15\-:44\-:16 untuk Hak Cipta Pustaka G\-P\-U-\/\-Cuda Untuk Poisson Solver oleh Doxygen }} |
|
||||||
\fancyfoot[CO]{\fancyplain{}{}} |
|
||||||
\fancyfoot[RO]{\fancyplain{}{}} |
|
||||||
\renewcommand{\footrulewidth}{0.4pt} |
|
||||||
\renewcommand{\chaptermark}[1]{% |
|
||||||
\markboth{#1}{}% |
|
||||||
} |
|
||||||
\renewcommand{\sectionmark}[1]{% |
|
||||||
\markright{\thesection\ #1}% |
|
||||||
} |
|
||||||
|
|
||||||
% Indices & bibliography |
|
||||||
\usepackage{natbib} |
|
||||||
\usepackage[titles]{tocloft} |
|
||||||
\setcounter{tocdepth}{3} |
|
||||||
\setcounter{secnumdepth}{5} |
|
||||||
\makeindex |
|
||||||
|
|
||||||
% Hyperlinks (required, but should be loaded last) |
|
||||||
\usepackage{ifpdf} |
|
||||||
\ifpdf |
|
||||||
\usepackage[pdftex,pagebackref=true]{hyperref} |
|
||||||
\else |
|
||||||
\usepackage[ps2pdf,pagebackref=true]{hyperref} |
|
||||||
\fi |
|
||||||
\hypersetup{% |
|
||||||
colorlinks=true,% |
|
||||||
linkcolor=blue,% |
|
||||||
citecolor=blue,% |
|
||||||
unicode% |
|
||||||
} |
|
||||||
|
|
||||||
% Custom commands |
|
||||||
\newcommand{\clearemptydoublepage}{% |
|
||||||
\newpage{\pagestyle{empty}\cleardoublepage}% |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
%===== C O N T E N T S ===== |
|
||||||
|
|
||||||
\begin{document} |
|
||||||
|
|
||||||
% Titlepage & ToC |
|
||||||
\hypersetup{pageanchor=false} |
|
||||||
\pagenumbering{roman} |
|
||||||
\begin{titlepage} |
|
||||||
\vspace*{7cm} |
|
||||||
\begin{center}% |
|
||||||
{\Large Hak Cipta Pustaka G\-P\-U-\/\-Cuda Untuk Poisson Solver }\\ |
|
||||||
\vspace*{1cm} |
|
||||||
{\large Dibangkitkan oleh Doxygen 1.8.5}\\ |
|
||||||
\vspace*{0.5cm} |
|
||||||
{\small Kamis 8 November 2018 15:44:16}\\ |
|
||||||
\end{center} |
|
||||||
\end{titlepage} |
|
||||||
\clearemptydoublepage |
|
||||||
\tableofcontents |
|
||||||
\clearemptydoublepage |
|
||||||
\pagenumbering{arabic} |
|
||||||
\hypersetup{pageanchor=true} |
|
||||||
|
|
||||||
%--- Begin generated contents --- |
|
||||||
%--- End generated contents --- |
|
||||||
|
|
||||||
% Index |
|
||||||
\newpage |
|
||||||
\phantomsection |
|
||||||
\addcontentsline{toc}{part}{Indeks} |
|
||||||
\printindex |
|
||||||
|
|
||||||
\end{document} |
|