mimgrating from another repo
52
lib/ann/fann/docs/NaturalDocs-1.52/Help/customizinglanguages.html
Executable file
@ -0,0 +1,52 @@
|
||||
|
||||
|
||||
<html><head><title>Customizing Natural Docs Languages</title><link rel=stylesheet type="text/css" href="styles.css"><link rel=stylesheet type="text/css" href="examples.css"><style type="text/css"><!--
|
||||
|
||||
|
||||
.InMainFile {
|
||||
padding: 1ex 2ex;
|
||||
margin: 1em 0;
|
||||
font: italic 9pt Verdana, sans-serif;
|
||||
line-height: 150%;
|
||||
background-color: #F8F8F8;
|
||||
}
|
||||
.InMainFile code {
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
.EnumTable {
|
||||
margin: .5em 5ex;
|
||||
}
|
||||
.EnumOption {
|
||||
font-weight: bold;
|
||||
padding-right: 2ex;
|
||||
}
|
||||
|
||||
|
||||
--></style><script language=JavaScript src="javascript/PNGHandling.js"></script><script language=JavaScript src="javascript/BrowserStyles.js"></script></head><body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><script language=JavaScript><!--
|
||||
OpeningBrowserTags();// --></script>
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
<table width=100% border=0 cellspacing=0 cellpadding=0 class=PageTable float=center><tr><td colspan=3 class=Header><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td><img src="images/header/leftside.png" width=30 height=75><a href="index.html"><img src="images/header/logo.png" width=524 height=75 alt="Natural Docs"></a></td><td align=right><img src="images/header/rightside.png" width=30 height=75></td></tr></table></td></tr><tr><td><img src="images/header/overleftmargin.png" width=10 height=6></td><td class=SideMenuTop><img src="images/header/overmenu.png" width=14 height=6></td><td class=BodyTop><img src="images/header/overbody.png" width=24 height=6></td></tr><tr><td></td><td class=SideMenu nowrap><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/about.png" width=52 height=13 alt="About"></div><div class=SideMenuBody><a href="languages.html" class=SideMenuEntry>Language Support</a><a href="output.html" class=SideMenuEntry>Output Formats</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/using.png" width=45 height=13 alt="Using"></div><div class=SideMenuBody><a href="documenting.html" class=SideMenuEntry>Documenting<br>Your Code</a><a href="keywords.html" class=SideMenuEntry>Keywords</a><a href="running.html" class=SideMenuEntry>Running</a><a href="troubleshooting.html" class=SideMenuEntry>Troubleshooting</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/customizing.png" width=96 height=13 alt="Customizing"></div><div class=SideMenuBody><a href="menu.html" class=SideMenuEntry>Organizing the Menu</a><a href="styles.html" class=SideMenuEntry>CSS Styles</a><a href="customizingtopics.html" class=SideMenuEntry>Topics and Keywords</a><span class=SideMenuEntry id=SelectedSideMenuEntry>Languages, Indexes,<br>and Prototypes</span></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/community.png" width=86 height=13 alt="Community"></div><div class=SideMenuBody><a href="http://www.naturaldocs.org/" class=SideMenuEntry>Web Site</a><a href="http://www.naturaldocs.org/mailinglist.html" class=SideMenuEntry>Mailing Lists</a><a href="http://www.naturaldocs.org/messageboards.html" class=SideMenuEntry>Message Boards</a><a href="http://www.naturaldocs.org/bugs.html" class=SideMenuEntry>Bugs and<br>Feature Requests</a></div></div></td><td class=Body width=100%><div class=PageTitle>Customizing Languages</div><div class=TOC><a href="#LanguagesTxt">Languages.txt</a> · <a href="#FileExtensions">File Extensions</a> · <a href="#AddingLanguages">Adding Languages</a> · <a href="#Prototypes">Prototypes</a><br><a href="#IndexPrefixes">Index Prefixes</a> · <a href="#SpecialLanguages">Special Languages</a> · <a href="#SyntaxReference">Syntax Reference</a></div><div class=Topic><a name="LanguagesTxt"></a><div class=TopicTitle>Languages.txt</div><p>Natural Docs has two files called <code>Languages.txt</code>: one in its Config directory, and one in <a href="running.html#CommandLine">your project directory.</a> These control the language, index prefix, and prototype features of Natural Docs.</p><p>You should edit the one in your project directory whenever possible. It keeps your changes separate and easier to manage, plus you don’t have to reapply them whenever you upgrade. Editing the one in Natural Docs’ Config directory would be better only if you’re using Natural Docs with a lot of projects and would like the changes to apply everywhere.</p><p>Note that unlike other Natural Docs configuration files, comments can only appear on their own lines. They cannot appear after something else on a line because settings may need to use the <code>#</code> symbol. Also, all lists are space-separated instead of comma-separated, again because some settings may need to use the comma symbol.</p></div><div class=Topic><a name=FileExtensions></a><div class=TopicTitle>File Extensions</div><p>If Natural Docs doesn’t recognize a file extension you use for your code, it’s not a problem. You can alter the language definition from your project file to add them.</p><pre class=Example>Alter Language: <i>[your language]</i>
|
||||
Add Extensions: cxx hxx</pre><p>On the other hand, if it’s scanning some files you don’t want it to scan, you can exclude extensions as well. Just add this to the top of your file:</p><pre class=Example>Ignore Extensions: c cpp</pre><p>In this example, Natural Docs will ignore C++ source files, thus only scanning the headers.</p></div><div class=Topic><a name=AddingLanguages></a><div class=TopicTitle>Adding Languages</div><p>You can add <a href="languages.html">basic language support</a> for any programming language just by editing these configuration files. Here are the most important settings:</p><pre class=Example>Language: Fictional
|
||||
|
||||
Extensions: fsrc fhdr
|
||||
Shebang Strings: fictional
|
||||
Line Comment: //
|
||||
Block Comment: /* */
|
||||
Package Separator: ::</pre><p>This tells Natural Docs that any files with the .fsrc or .fhdr extensions are part of our fictional programming language. Also, any .cgi or extensionless files that have “fictional” in the shebang (<code>#!</code>) line are part of it as well. Line comments start with <code>//</code> and block comments appear between <code>/*</code> and <code>*/</code>. The default package separator is <code>::</code>. Not too hard, huh?</p><p>You can also add settings to <a href="#IndexPrefixes">ignore prefixes in the index</a> and <a href="#Prototypes">detect prototypes</a>, but those are dealt with in their own sections on this page.</p></div><div class=Topic><a name=Prototypes></a><div class=TopicTitle>Prototypes</div><p>So you’ve <a href="#AddingLanguages">added a new language</a> and want to detect prototypes. Or perhaps you <a href="customizingtopics.html#AddingTopicTypes">added a custom topic type</a> and want to detect prototypes for that as well. Here’s an example of the properties you need:</p><pre class=Example>Function Prototype Enders: ; {
|
||||
Variable Prototype Enders: ; =</pre><p>The algorithm for finding prototypes is very simple, yet it works really well in practice. All the code following the comment is grabbed until it reaches an ender symbol or another comment. Ender symbols appearing inside parenthesis, brackets, braces, or angle brackets don’t count. If it reaches an ender symbol and somewhere in that code is the topic title, the code is accepted as the prototype.</p><p>So in the example above, variables end at semicolons (the end of the declaration) or equal signs (the default value expression, which we don’t want to include.) Since the Natural Docs comment for the variable should have appeared right before the definition, that leaves us with the name and type. Functions are handled similarly: they end at a semicolon (the end of a predeclaration) or an opening brace (the beginning of the body) leaving us with the name, parameters, and return type.</p><p>You can do this with any topic type, including custom ones. Any prototypes that look like they have parameters will be formatted as such automatically.</p><div class=SubTopic>Line Breaks</div><p>For some languages, line breaks are significant. To have them end a prototype, use <code>\n</code>. If it has an extender symbol that allows the code to continue on the next line, you can specify that as well.</p><pre class=Example>Function Prototype Ender: \n
|
||||
Variable Prototype Ender: \n =
|
||||
Line Extender: _</pre><div class=SubTopic>Colors</div><p>If you’re collecting prototypes for a custom topic type, they will not automatically get their own background color like the other types have. <a href="styles.html#CommonCustomizations">You have to define it via CSS.</a></p></div><div class=Topic><a name=IndexPrefixes></a><div class=TopicTitle>Index Prefixes</div><p>Natural Docs has the ability to ignore prefixes in the indexes. This is necessary because in certain languages, variables are prefixed with <code>$</code> or other symbols and we don’t want them to get all grouped together under the symbols heading. Instead, they appear in the sidebar and are sorted as if they’re not there.</p><div class=NDIndex><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading>A</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix> </td><td class=IEntry><span class=ISymbol>AddProperty</span>, <span class=IParent>SomeClass</span></td></tr><tr><td class=ISymbolPrefix>$</td><td class=IEntry><span class=ISymbol>amount</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><span class=ISymbol>Average</span></td></tr></table></div><p>However, we can take advantage of this simply to get around coding conventions. Suppose you prefix all your class names with C. They’d all form one gigantic group under C in the index. If you want, you can have it ignored so CCat, CDog, and CMouse get filed under C, D, and M instead. Just add this to your languages file:</p><pre class=Example>Alter Language: <i>[your language]</i>
|
||||
Add Ignored Class Prefix in Index: C</pre><p>Now C is ignored in your indexes:</p><div class=NDIndex><table border=0 cellspacing=0 cellpadding=0><tr><td class=IHeading id=IFirstHeading>A</td><td></td></tr><tr><td class=ISymbolPrefix id=IFirstSymbolPrefix>C</td><td class=IEntry><span class=ISymbol>Account</span></td></tr><tr><td class=ISymbolPrefix>C</td><td class=IEntry><span class=ISymbol>AccountHolder</span></td></tr><tr><td class=ISymbolPrefix> </td><td class=IEntry><span class=ISymbol>AddProperty</span>, <span class=IParent>SomeClass</span></td></tr><tr><td class=ISymbolPrefix>$</td><td class=IEntry><span class=ISymbol>amount</span></td></tr><tr><td class=ISymbolPrefix id=ILastSymbolPrefix> </td><td class=IEntry><span class=ISymbol>Average</span></td></tr></table></div><p>You can include any number of prefixes and can do this for any topic type. So if you have a bunch of functions that start with <code>COM_</code> and <code>DB_</code>, you can ignore them too:</p><pre class=Example>Alter Language: <i>[your language]</i>
|
||||
Add Ignored Class Prefix in Index: C
|
||||
Add Ignored Function Prefixes in Index: COM_ DB_</pre></div><div class=Topic><a name=SpecialLanguages></a><div class=TopicTitle>Special Languages</div><p>There are two languages with special properties: Shebang Script and Text File.</p><p>Shebang Script allows you to define the file extensions where the language is really determined by the shebang (<code>#!</code>) line within it. For example, .cgi files. If Natural Docs finds a .cgi file, it sees that it’s a Shebang Script so it opens it up to parse it’s shebang line. It then searches it for substrings defined by other languages’ <code>Shebang String</code> settings to find out what language it really is. Files with no extension are always treated this way.</p><p>With Text File, the entire file is treated like a comment. There are no comment symbols required, you can just put Natural Docs content there in plain text. The most important setting is <code>Extensions</code>.</p><p>However, since it is possible to document classes, functions, etc. in text files, they also have their own <code>Package Separator</code> and <code>Ignored <i>[type]</i> Prefixes in Index</code> settings. To make things easier on you, by default it copies these settings from whichever language has the most source files in your project. You can override this by manually setting them, but you shouldn’t need to.</p></div><div class=Topic><a name=SyntaxReference></a><div class=TopicTitle>Syntax Reference</div><p>Unlike other Natural Docs configuration files, comments can only appear on their own lines. They cannot appear after something else on a line because settings may need to use the <code>#</code> symbol. Likewise, lists are separated with spaces instead of commas because commas themselves may need to appear on the list.</p><p>Singular and plural forms are generally both supported, so you can write <code>Extension</code> or <code>Extensions</code>. It doesn’t matter if they match how many items are set. Also, you can use either <code>Ignore</code> or <code>Ignored</code>.</p><pre class=Example>Ignore Extensions: <i>[extension] [extension]</i> ...</pre><p>Causes the listed file extensions to be ignored, even if they were previously defined to be part of a language. The list is space-separated. ex. “<code>Ignore Extensions: cvs txt</code>”</p><pre class=Example>Language: <i>[name]</i>
|
||||
Alter Language: <i>[name]</i></pre><p>Creates a new language or alters an existing one. Names can use any characters. Note the <a href="#SpecialLanguages">special behavior for languages named Shebang Script and Text File</a>.</p><p>If you’re altering an existing language and a property has an <code>[Add/Replace]</code> form, you have to specify whether you’re adding to or replacing the list if that property has already been defined.</p><div class=SubTopic>General Language Properties</div><pre class=Example>Extensions: <i>[extension] [extension]</i> ...
|
||||
<i>[Add/Replace]</i> Extensions: <i>[extension] [extension]</i> ...</pre><p>Defines file extensions for the language’s source files. The list is space-separated. ex. “<code>Extensions: c cpp</code>”. You can use extensions that were previously used by another language to redefine them. You can use <code>*</code> to specify all undefined extensions.</p><pre class=Example>Shebang Strings: <i>[string] [string]</i> ...
|
||||
<i>[Add/Replace]</i> Shebang Strings: <i>[string] [string]</i> ...</pre><p>Defines a list of strings that can appear in the shebang (<code>#!</code>) line to designate that it’s part of this language. They can appear anywhere in the line, so <code>php</code> will work for “<code>#!/user/bin/php4</code>”. You can use strings that were previously used by another language to redefine them.</p><pre class=Example>Ignore Prefixes in Index: <i>[prefix] [prefix]</i> ...
|
||||
Ignore <i>[type]</i> Prefixes in Index: <i>[prefix] [prefix]</i> ...
|
||||
|
||||
<i>[Add/Replace]</i> Ignored Prefixes in Index: <i>[prefix] [prefix]</i> ...
|
||||
<i>[Add/Replace]</i> Ignored <i>[type]</i> Prefixes in Index: <i>[prefix] [prefix]</i> ...</pre><p>Specifies prefixes that should be ignored when sorting symbols for an index. Can be specified in general or for a specific topic type. The prefixes will still appear, the symbols will just be sorted as if they’re not there. For example, specifying <code>ADO_</code> for functions will mean that <code>ADO_DoSomething</code> will appear under D instead of A.</p><div class=SubTopic>Basic Language Support Properties</div><p>These attributes are only available for languages with basic language support.</p><pre class=Example>Line Comments: <i>[symbol] [symbol]</i> ...</pre><p>Defines a space-separated list of symbols that are used for line comments, if any. ex. “<code>Line Comment: //</code>”.</p><pre class=Example>Block Comments: <i>[opening symbol] [closing symbol] [o.s.] [c.s.]</i> ...</pre><p>Defines a space-separated list of symbol pairs that are used for block comments, if any. ex. “<code>Block Comment: /* */</code>”.</p><pre class=Example>Enum Values: <i>[global|under type|under parent]</i></pre><p>Defines the behavior of enum values. The default is global.</p><table border=0 cellspacing=0 cellpadding=0 class=EnumTable><tr><td class=EnumOption>Global</td><td>Enum values are always global and will be referenced as “Value”.</td></tr><tr><td class=EnumOption>Under Type</td><td>Enum values appear under the type and will be referenced as “Package.Enum.Value”.</td></tr><tr><td class=EnumOption>Under Parent</td><td>Enum values appear under the parent and will be referenced as “Package.Value”</td></tr></table><pre class=Example><i>[type]</i> Prototype Enders: <i>[symbol] [symbol]</i> ...</pre><p>When defined, Natural Docs will attempt to collect prototypes from the code following the specified topic type. It grabs code until the first ender symbol or the next Natural Docs comment, and if it contains the topic name, it serves as its prototype. Use <code>\n</code> to specify a line break. ex. “<code>Function Prototype Enders: { ;</code>”, “<code>Variable Prototype Enders: = ;</code>”. </p><pre class=Example>Line Extender: <i>[symbol]</i></pre><p>Defines the symbol that allows a prototype to span multiple lines if normally a line break would end it.</p><pre class=Example>Perl Package: <i>[perl package]</i></pre><p>Specifies the Perl package used to fine-tune the language behavior in ways too complex to do in this file.</p><div class=SubTopic>Full Language Support Properties</div><p>These attributes are only available for languages with full language support.</p><pre class=Example>Full Language Support: <i>[perl package]</i></pre><p>Specifies the Perl package that has the parsing routines necessary for full language support.</p></div></td></tr><tr><td></td><td class=SideMenuBottom><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td class=SideMenuBottomLeft><img src="images/menu/bottomleft.png" width=18 height=19></td><td class=SideMenuBottomRight><img src="images/menu/bottomright.png" width=18 height=19></td></tr></table></td><td class=BodyBottom>Copyright © 2003-2010 Greg Valure</td></tr></table><script language=JavaScript><!--
|
||||
ClosingBrowserTags();// --></script></body></html>
|
74
lib/ann/fann/docs/NaturalDocs-1.52/Help/customizingtopics.html
Executable file
58
lib/ann/fann/docs/NaturalDocs-1.52/Help/documenting.html
Executable file
@ -0,0 +1,58 @@
|
||||
|
||||
|
||||
<html><head><title>Documenting Your Code - Natural Docs</title><link rel=stylesheet type="text/css" href="styles.css"><link rel=stylesheet type="text/css" href="examples.css"><style type="text/css"><!--
|
||||
|
||||
|
||||
#ReferenceTable {
|
||||
width: 100%;
|
||||
}
|
||||
#ReferenceTable #LeftSide {
|
||||
padding-right: 4ex;
|
||||
width: 40%;
|
||||
}
|
||||
#ReferenceTable #RightSide {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
#LeftSide a:link,
|
||||
#LeftSide a:hover,
|
||||
#LeftSide a:visited {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
#LeftSide .TopicTitle a:hover,
|
||||
#LeftSide .TopicTitle a:active {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#RightSide .Example {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
--></style><script language=JavaScript src="javascript/PNGHandling.js"></script><script language=JavaScript src="javascript/BrowserStyles.js"></script></head><body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><script language=JavaScript><!--
|
||||
OpeningBrowserTags();// --></script>
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
<table width=100% border=0 cellspacing=0 cellpadding=0 class=PageTable float=center><tr><td colspan=3 class=Header><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td><img src="images/header/leftside.png" width=30 height=75><a href="index.html"><img src="images/header/logo.png" width=524 height=75 alt="Natural Docs"></a></td><td align=right><img src="images/header/rightside.png" width=30 height=75></td></tr></table></td></tr><tr><td><img src="images/header/overleftmargin.png" width=10 height=6></td><td class=SideMenuTop><img src="images/header/overmenu.png" width=14 height=6></td><td class=BodyTop><img src="images/header/overbody.png" width=24 height=6></td></tr><tr><td></td><td class=SideMenu nowrap><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/about.png" width=52 height=13 alt="About"></div><div class=SideMenuBody><a href="languages.html" class=SideMenuEntry>Language Support</a><a href="output.html" class=SideMenuEntry>Output Formats</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/using.png" width=45 height=13 alt="Using"></div><div class=SideMenuBody><span class=SideMenuEntry id=SelectedSideMenuEntry>Documenting<br>Your Code</span><a href="keywords.html" class=SideMenuEntry>Keywords</a><a href="running.html" class=SideMenuEntry>Running</a><a href="troubleshooting.html" class=SideMenuEntry>Troubleshooting</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/customizing.png" width=96 height=13 alt="Customizing"></div><div class=SideMenuBody><a href="menu.html" class=SideMenuEntry>Organizing the Menu</a><a href="styles.html" class=SideMenuEntry>CSS Styles</a><a href="customizingtopics.html" class=SideMenuEntry>Topics and Keywords</a><a href="customizinglanguages.html" class=SideMenuEntry>Languages, Indexes,<br>and Prototypes</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/community.png" width=86 height=13 alt="Community"></div><div class=SideMenuBody><a href="http://www.naturaldocs.org/" class=SideMenuEntry>Web Site</a><a href="http://www.naturaldocs.org/mailinglist.html" class=SideMenuEntry>Mailing Lists</a><a href="http://www.naturaldocs.org/messageboards.html" class=SideMenuEntry>Message Boards</a><a href="http://www.naturaldocs.org/bugs.html" class=SideMenuEntry>Bugs and<br>Feature Requests</a></div></div></td><td class=Body width=100%><div class=PageTitle>Documenting Your Code</div><div class=Topic><table id=ReferenceTable border=0 cellspacing=0 cellpadding=0><tr><td id=LeftSide><div class=Topic><div class=TopicTitle><a href="documenting/walkthrough.html">Walkthrough</a></div><ul><li><a href="documenting/walkthrough.html#OurFirstFunction">Our First Function</a></i><li><a href="documenting/walkthrough.html#ClassesAndScope">Classes and Scope</a></i><li><a href="documenting/walkthrough.html#MoreFormatting">More Formatting</a></i><li><a href="documenting/walkthrough.html#MoreOnLinking">More on Linking</a></i><li><a href="documenting/walkthrough.html#ExtraDocumentation">Extra Documentation</a></i><li><a href="documenting/walkthrough.html#AbbreviatedSyntax">Abbreviated Syntax</a></i></ul></div><div class=Topic><div class=TopicTitle><a href="documenting/reference.html">Reference</a></div><ul><li><a href="documenting/reference.html#Comments">Comments</a></i><li><a href="documenting/reference.html#TextFiles">Text Files</a></i><li><a href="documenting/reference.html#KeywordsTopicsAndScope">Keywords, Topics, and Scope</a></i><li><a href="documenting/reference.html#Linking">Linking</a></i><li><a href="documenting/reference.html#FormattingAndLayout">Formatting and Layout</a></i><li><a href="documenting/reference.html#PageTitles">Page Titles</a></i><li><a href="documenting/reference.html#Summaries">Summaries</a></i><li><a href="documenting/reference.html#JavadocCompatibility">Javadoc Compatibility</a></i></ul></div></td><td id=RightSide><p>Here’s a quick example of how to document your code for Natural Docs. If you’re a new user, we have <a href="documenting/walkthrough.html">a walkthrough</a> to get you started. Otherwise, visit <a href="documenting/reference.html">the reference</a> for the full details.</p><pre class=Example>/*
|
||||
Function: Multiply
|
||||
|
||||
Multiplies two integers.
|
||||
|
||||
Parameters:
|
||||
|
||||
x - The first integer.
|
||||
y - The second integer.
|
||||
|
||||
Returns:
|
||||
|
||||
The two integers multiplied together.
|
||||
|
||||
See Also:
|
||||
|
||||
<Divide>
|
||||
*/
|
||||
int Multiply (int x, int y)
|
||||
{ return x * y; };</pre></td></tr></table></div></td></tr><tr><td></td><td class=SideMenuBottom><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td class=SideMenuBottomLeft><img src="images/menu/bottomleft.png" width=18 height=19></td><td class=SideMenuBottomRight><img src="images/menu/bottomright.png" width=18 height=19></td></tr></table></td><td class=BodyBottom>Copyright © 2003-2010 Greg Valure</td></tr></table><script language=JavaScript><!--
|
||||
ClosingBrowserTags();// --></script></body></html>
|
147
lib/ann/fann/docs/NaturalDocs-1.52/Help/documenting/reference.html
Executable file
181
lib/ann/fann/docs/NaturalDocs-1.52/Help/documenting/walkthrough.html
Executable file
@ -0,0 +1,181 @@
|
||||
|
||||
|
||||
<html><head><title>Documenting Your Code - Walkthrough - Natural Docs</title><link rel=stylesheet type="text/css" href="../styles.css"><link rel=stylesheet type="text/css" href="../examples.css"><script language=JavaScript src="../javascript/PNGHandling.js"></script><script language=JavaScript src="../javascript/BrowserStyles.js"></script><script language=JavaScript src="../example/NaturalDocs.js"></script></head><body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><script language=JavaScript><!--
|
||||
OpeningBrowserTags();// --></script>
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
<table width=100% border=0 cellspacing=0 cellpadding=0 class=PageTable float=center><tr><td colspan=3 class=Header><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td><img src="../images/header/leftside.png" width=30 height=75><a href="../index.html"><img src="../images/header/logo.png" width=524 height=75 alt="Natural Docs"></a></td><td align=right><img src="../images/header/rightside.png" width=30 height=75></td></tr></table></td></tr><tr><td><img src="../images/header/overleftmargin.png" width=10 height=6></td><td class=SideMenuTop><img src="../images/header/overmenu.png" width=14 height=6></td><td class=BodyTop><img src="../images/header/overbody.png" width=24 height=6></td></tr><tr><td></td><td class=SideMenu nowrap><div class=SideMenuSection><div class=SideMenuTitle><img src="../images/menu/about.png" width=52 height=13 alt="About"></div><div class=SideMenuBody><a href="../languages.html" class=SideMenuEntry>Language Support</a><a href="../output.html" class=SideMenuEntry>Output Formats</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="../images/menu/using.png" width=45 height=13 alt="Using"></div><div class=SideMenuBody><a href="../documenting.html" class=SideMenuEntry id=SelectedSideMenuEntry>Documenting<br>Your Code</a><a href="../keywords.html" class=SideMenuEntry>Keywords</a><a href="../running.html" class=SideMenuEntry>Running</a><a href="../troubleshooting.html" class=SideMenuEntry>Troubleshooting</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="../images/menu/customizing.png" width=96 height=13 alt="Customizing"></div><div class=SideMenuBody><a href="../menu.html" class=SideMenuEntry>Organizing the Menu</a><a href="../styles.html" class=SideMenuEntry>CSS Styles</a><a href="../customizingtopics.html" class=SideMenuEntry>Topics and Keywords</a><a href="../customizinglanguages.html" class=SideMenuEntry>Languages, Indexes,<br>and Prototypes</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="../images/menu/community.png" width=86 height=13 alt="Community"></div><div class=SideMenuBody><a href="http://www.naturaldocs.org/" class=SideMenuEntry>Web Site</a><a href="http://www.naturaldocs.org/mailinglist.html" class=SideMenuEntry>Mailing Lists</a><a href="http://www.naturaldocs.org/messageboards.html" class=SideMenuEntry>Message Boards</a><a href="http://www.naturaldocs.org/bugs.html" class=SideMenuEntry>Bugs and<br>Feature Requests</a></div></div></td><td class=Body width=100%><div class=PageTitle>Documenting Your Code</div><div class=TOC><a href="#OurFirstFunction">Our First Function</a> · <a href="#ClassesAndScope">Classes and Scope</a> · <a href="#MoreFormatting">More Formatting</a><br><a href="#MoreOnLinking">More on Linking</a> · <a href="#ExtraDocumentation">Extra Documentation</a> · <a href="#AbbreviatedSyntax">Abbreviated Syntax</a></div><div class=Topic><a name="OurFirstFunction"></a><div class=TopicTitle>Our First Function</div><p>So you downloaded Natural Docs, you <a href="../running.html">figured out the command line</a>, and now it’s time to start documenting your code. Natural Docs tries to make this very straightforward and painless, so let’s just dive right in:</p><pre class=Example>/*
|
||||
Function: Multiply
|
||||
Multiplies two integers and returns the result.
|
||||
*/
|
||||
int Multiply (int x, int y)
|
||||
{ return x * y; };
|
||||
</pre><p>That’s all you need. Run Natural Docs and here’s what appears in your output:</p><div class=NDContent><div class=CFunction><div class=CTopic><h3 class=CTitle><a name="Multiply"></a>Multiply</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters>int Multiply (</td><td class=PType>int </td><td class=PParameter>x,</td><td></td></tr><tr><td></td><td class=PType>int </td><td class=PParameter>y</td><td class=PAfterParameters>)</td></tr></table></td></tr></table><p class=CParagraph>Multiplies two integers and returns the result.</p></div></div></div></div><p>Okay, so that’s all you need, but probably not all you want. After all, you’ve got some real functions to document, not little one-liners. Here’s something more elaborate:</p><pre class=Example>/*
|
||||
Function: Multiply
|
||||
|
||||
Multiplies two integers.
|
||||
|
||||
Parameters:
|
||||
|
||||
x - The first integer.
|
||||
y - The second integer.
|
||||
|
||||
Returns:
|
||||
|
||||
The two integers multiplied together.
|
||||
|
||||
See Also:
|
||||
|
||||
<Divide>
|
||||
*/
|
||||
int Multiply (int x, int y)
|
||||
{ return x * y; };
|
||||
</pre><div class=NDContent><div class=CFunction><div class=CTopic><h3 class=CTitle><a name="Example_Class.Multiply"></a>Multiply</h3><div class=CBody><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters>int Multiply (</td><td class=PType>int </td><td class=PParameter>x,</td><td></td></tr><tr><td></td><td class=PType>int </td><td class=PParameter>y</td><td class=PAfterParameters>)</td></tr></table></td></tr></table><p class=CParagraph>Multiplies two integers.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>x</td><td class=CDLDescription>The first integer.</td></tr><tr><td class=CDLEntry>y</td><td class=CDLDescription>The second integer.</td></tr></table><h4 class=CHeading>Returns</h4><p class=CParagraph>The two integers multiplied together.</p><h4 class=CHeading>See Also</h4><p class=CParagraph><a href="#Example_Class.Divide" class=LFunction id=link116 onMouseOver="ShowTip(event, 'ttDivide', 'link116')" onMouseOut="HideTip('ttDivide')">Divide</a></p></div></div></div></div><div class=CToolTip id="ttAdd"><div class=CFunction><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters>int Add (</td><td class=PType>int </td><td class=PParameter>x,</td><td></td></tr><tr><td></td><td class=PType>int </td><td class=PParameter>y</td><td class=PAfterParameters>)</td></tr></table></td></tr></table>Adds two integers.</div></div><div class=CToolTip id="ttSubtract"><div class=CFunction><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters>int Subtract (</td><td class=PType>int </td><td class=PParameter>x,</td><td></td></tr><tr><td></td><td class=PType>int </td><td class=PParameter>y</td><td class=PAfterParameters>)</td></tr></table></td></tr></table>Subtracts two integers.</div></div><div class=CToolTip id="ttMultiply"><div class=CFunction><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters>int Multiply (</td><td class=PType>int </td><td class=PParameter>x,</td><td></td></tr><tr><td></td><td class=PType>int </td><td class=PParameter>y</td><td class=PAfterParameters>)</td></tr></table></td></tr></table>Multiplies two integers.</div></div><div class=CToolTip id="ttDivide"><div class=CFunction><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters>int Divide (</td><td class=PType>int </td><td class=PParameter>x,</td><td></td></tr><tr><td></td><td class=PType>int </td><td class=PParameter>y</td><td class=PAfterParameters>)</td></tr></table></td></tr></table>Divides two integers.</div></div><div class=CToolTip id="ttIsEqual"><div class=CFunction><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters>bool IsEqual (</td><td class=PType>int </td><td class=PParameter>x,</td><td></td></tr><tr><td></td><td class=PType>int </td><td class=PParameter>y</td><td class=PAfterParameters>)</td></tr></table></td></tr></table>Returns whether two integers are equal.</div></div><p>Still not too scary, huh? Notice the comments are just as readable as the output. No tags littered about, and the structure is very natural. You probably get it just by looking at it, but let’s go through the details anyway.</p><pre class=Example>Function: Multiply
|
||||
</pre><p>Every one of these comments you write (called <i>topics</i>) are going to start with a <i>topic line</i> in the format <code>“keyword: title”</code>. There are <a href="../keywords.html">a lot of keywords</a>, but they’re exactly what you’d expect: Function, Class, Variable, etc. There are also a lot of synonyms so instead of Function you could use Func, Procedure, Proc, Method, Constructor, etc. It’s designed so you can just use whatever it is you’re describing without memorizing anything. You can glance over <a href="../keywords.html">the keyword list</a> but you shouldn’t have to consult it very often.</p></p><p>The other part of the topic line is the title. It should match whatever it is you’re documenting, in this case the function name Multiply. Natural Docs is case sensitive even if your programming language isn’t, so make sure you match it closely or you might not get the prototype in your output, which is the little gray box. You don’t need to include the parameters in the title. In fact, it’s better if you don’t.</p></p><pre class=Example>Parameters:
|
||||
|
||||
Returns:
|
||||
|
||||
See Also:
|
||||
</pre><p>You can also define <a href="reference.html#Headings">headings</a> by skipping a line and ending the text with a colon. If you’re used to other documentation systems you may think there’s only a handful of headings to choose from, but any text formatted this way will become one. If you want a heading called Dependencies you can go right ahead and add it.</p><pre class=Example>x - The first integer.
|
||||
y - The second integer.
|
||||
</pre><p>This is what’s called a <a href="reference.html#DefinitionLists">definition list.</a> You can use more than one line to finish the definition, as it won’t stop until you skip a line.</p><pre class=Example>x - The first integer.
|
||||
y - The second integer with a long description.
|
||||
This is still part of the description.
|
||||
|
||||
This is a new paragraph because we skipped a line.
|
||||
</pre><p>Indentation doesn’t matter either, so even if the second description line wasn’t indented to match the first, it would still be considered part of it.</p><pre class=Example><Divide>
|
||||
</pre><p>This is how we link in Natural Docs, with angle brackets. There will be a lot more to say about this later, but for now I’ll just show you something cool. Hover over it in the output below:</p><div class=NDContent><div class=CTopic><div class=CBody><p class=CParagraph><a href="#Example_Class.Divide" class=LFunction id=link116 onMouseOver="ShowTip(event, 'ttDivide', 'link216')" onMouseOut="HideTip('ttDivide')">Divide</a></p></div></div></div><p>You get that <i>everywhere</i> in your generated documentation.</p></div><div class=Topic><a name="ClassesAndScope"></a><div class=TopicTitle>Classes and Scope</div><p>So that’s good for our one function of questionable usefulness, but what if we have a whole class of questionable usefulness? We can document the class and it’s members the same way we documented the individual function, with a Natural Docs comment right above each element. We’ll go back to short descriptions to keep the example manageable.</p><pre class=Example>/*
|
||||
Class: Counter
|
||||
A class that manages an incrementing counter.
|
||||
*/
|
||||
class Counter
|
||||
{
|
||||
public:
|
||||
|
||||
/*
|
||||
Constructor: Counter
|
||||
Initializes the object.
|
||||
*/
|
||||
Counter()
|
||||
{ value = 0; };
|
||||
|
||||
/*
|
||||
Function: Value
|
||||
Returns the value of the counter.
|
||||
*/
|
||||
int Value()
|
||||
{ return value; };
|
||||
|
||||
/*
|
||||
Function: Increment
|
||||
Adds one to the counter.
|
||||
*/
|
||||
void Increment()
|
||||
{ value++; };
|
||||
|
||||
protected:
|
||||
|
||||
/*
|
||||
Variable: value
|
||||
The counter's value.
|
||||
*/
|
||||
int value;
|
||||
};
|
||||
</pre><p>Everything’s the same, we just substituted Class and Variable for the Function keyword when it was appropriate. We also used Constructor, but we could have just as easily used Function there too. They’re both keywords for the same thing so it doesn’t matter.</p><a name="Scope"></a><div class="SubTopic">Scope</div><p>Like the source code itself, Natural Docs topics have <a href="reference.html#Scope">scope.</a> Value and Increment are seen as part of class Counter, just like they are in the code. Why is this important? Linking. Linking from one topic to another has similar rules to how one function can call another. Since Value is in the same class as Increment, it’s topic can link to it with just <code><Increment></code>. However, linking to Increment from a different class would require <code><Counter.Increment></code> instead. You can actually use any of the three most common class/member notations: <code><Counter.Increment></code>, <code><Counter::Increment></code>, and <code><Counter->Increment></code>.</p><p>If your programming language has <a href="../languages.html">full language support</a>, the scope is determined by the code and applied automatically. However, if you only have <a href="../languages.html">basic language support</a> it follows these rules:</p><ul><li>Any topic that appears under a Class topic (or anything that says <a href="../keywords.html">Starts Scope</a>) is part of that class.</li><li>Any topic that appears under a Section topic (or anything that says <a href="../keywords.html">Ends Scope</a>) is global again.</li><li>Any File topic (or anything that says <a href="../keywords.html">Always Global</a>) is global no matter what and doesn’t affect any other topics.</li><p></ul></p><p>Chances are you would have written the same thing even if you didn’t know this and it would have just worked. You usually won’t need to think about them at all. However, it’s still good to be aware of them in case something doesn’t behave the way you expected it to.</p><p>You actually know enough to go start documenting now. I know Mr. ScrollBar says there’s more on this page you can learn, but if you want to skip out early, you can. Really. I don’t mind.</p></div><div class=Topic><a name="MoreFormatting"></a><div class=TopicTitle>More Formatting</div><p>Okay then. On we go.</p><a name="ParagraphsBoldAndUnderline"></a><div class="SubTopic">Paragraphs, Bold, and Underline</div><p>The syntax for these three is exactly what you would expect it to be.</p><pre class=Example>*Bold text*
|
||||
|
||||
_Underlined text_
|
||||
|
||||
Paragraphs are broken by skipping lines. So the two
|
||||
lines above each have their own paragraph, but these
|
||||
three lines are all part of the same one.
|
||||
</pre><div class=NDContent><div class=CBody><div class=CFunction><div class=CTopic><p><b>Bold text</b></p><p><u>Underlined text</u></p><p>Paragraphs are broken by skipping lines. So the two lines above each have their own paragraph, but these three lines are all part of the same one.</p></div></div></div></div><p>When underlining multiple words, you can use an underscore for each space or only put them at the edges like we did above. Both ways will work.</p><a name="BulletLists"></a><div class="SubTopic">Bullet Lists</div><p>You can add <a href="reference.html#BulletLists">bullet lists</a> by starting a line with a dash, an asterisk, an o, or a plus. Like definition lists, bullets can span multiple lines and indentation doesn’t matter. To end a bullet you have to skip a line before doing something else.</p><pre class=Example>- Bullet one.
|
||||
- Bullet two.
|
||||
Bullet two continued.
|
||||
- Bullet three.
|
||||
|
||||
Some text after the bullet list.
|
||||
</pre><div class=NDContent><div class=CFunction><div class=CTopic><div class=CBody><ul class=CBulletList><li>Bullet one.</li><li>Bullet two. Bullet two continued.</li><li>Bullet three.</li></ul><p class=CParagraph>Some text after the bullet list.</p></div></div></div></div><a name="CodeAndTextDiagrams"></a><div class="SubTopic">Code and Text Diagrams</div><p>You can add <a href="reference.html#CodeAndTextDiagrams">example code or text diagrams</a> by starting each line with <code>></code>, <code>|</code>, or <code>:</code>.</p><pre class=Example>> a = b + c;
|
||||
> b++;
|
||||
</pre><div class=NDContent><div class=CFunction><div class=CTopic><div class=CBody><pre class=CCode>a = b + c;<br>b++;</pre></div></div></div></div><p>If you have a long stretch, you can use <code>(start code)</code> and <code>(end)</code> instead.</p><pre class=Example>(start code)
|
||||
|
||||
if (x == 0) {
|
||||
DoSomething();
|
||||
}
|
||||
|
||||
return x;
|
||||
|
||||
(end)
|
||||
</pre><div class=NDContent><div class=CFunction><div class=CTopic><div class=CBody><pre class=CCode>if (x == 0) {<br> DoSomething();<br>}<br><br>return x;</pre></div></div></div></div><p>You can also use <code>example</code>, <code>diagram</code>, or <code>table</code> instead of <code>code</code>. Just use whatever’s appropriate.</p><p>As I mentioned before, we don’t want you to worry about memorizing minor details, so in that spirit it will also accept <code>begin</code> for <code>start</code> and <code>finish</code> or <code>done</code> for <code>end</code>. You can also write <code>(end code)</code> instead of just <code>(end)</code>.</p><p>Syntax highlighting will be applied to <code>(start code)</code> sections by default. If you’d like to also apply it to <code>></code>, <code>:</code>, and <code>|</code> lines or turn it off completely, use the <a href="../running.html"><code>-hl</code> command line option</a>.</p><a name="Images"></a><div class="SubTopic">Images</div><p>You can include images in your documentation by writing “<code>(see filename)</code>”. If you put it alone on a line it will be embedded in place, or if you put it in a paragraph it will appear after it using the file name as a caption.</p><pre class=Example>This is the first paragraph.
|
||||
|
||||
(see logo.gif)
|
||||
|
||||
This is the second paragraph (see logo.gif) This
|
||||
is more of the second paragraph.
|
||||
</pre><div class=NDContent><div class=CFunction><div class=CTopic><div class=CBody><p class=CParagraph>This is the first paragraph.</p><img src="../images/logo.gif" width="268" height="61"><p class=CParagraph>This is the second paragraph <a href="#Image1" class=CImageLink>(see logo)</a> This is more of the second paragraph.</p><div class=CImage><a name="Image1"></a><div class=CImageCaption>logo</div><img src="../images/logo.gif" width="268" height="61"></div></div></div></div></div><p>The image file names are relative to the source file the comment appears in, so if your file is C:\Project\SourceFile.cpp and your image is C:\Project\Images\Logo.gif, you would write <code>(see Images/Logo.gif)</code>. However, you can also specify image directories in <a href="../running.html#CommandLine">the command line with <code>-img</code></a>, so if all your source files are in C:\Project\Source and all your images are in C:\Project\Images, you can put “<code>-img C:\Project\Images</code>” on the command line and just use <code>(see logo.gif)</code> again.</p></div><div class=Topic><a name="MoreOnLinking"></a><div class=TopicTitle>More on Linking</div><p>Yes, there’s still more to linking. You can link to URLs and e-mail addresses, but in this case the angle brackets are optional.</p><pre class=Example>Visit <http://www.website.com> or send messages to
|
||||
email@address.com.
|
||||
</pre><div class=NDContent><div class=CFunction><div class=CTopic><div class=CBody><p class=CParagraph>Visit <a href="#" onClick="return false;" class=LURL>http://www.website.com</a> or send messages to <a href="#" onclick="location.href='mai' + 'lto:' + 'em' + 'ail' + '@' + 'addre' + 'ss.com'; return false;" class="LEMail">em<span style="display: none;">.nosp@m.</span>ail<span>@</span>addre<span style="display: none;">.nosp@m.</span>ss.com</a>.</p></div></div></div></div><p>You can create named links by putting the text, “at”, and then the address in the angle brackets. This format lets it read naturally in a sentence.</p><pre class=Example>Visit <the website at http://www.website.com> or <e-mail me at email@address.com>.
|
||||
</pre><div class=NDContent><div class=CFunction><div class=CTopic><div class=CBody><p class=CParagraph>Visit <a href="#" onClick="return false;" class=LURL>the website</a> or <a href="#" onclick="location.href='mai' + 'lto:' + 'em' + 'ail' + '@' + 'addre' + 'ss.com'; return false;" class="LEMail">e-mail me</a>.</p></div></div></div></div><p>E-mail addresses are protected from spam crawlers. They look and act like regular links (try it above) but you can see the actual HTML that’s generated for them <a href="reference.html#URLsAndEMail">here</a>.</p><p>As for regular links, to help them fit into sentences easily you can actually include plurals and possessives inside the angle brackets. In other words, you don’t have to use awkward syntax like <code><Object>s</code>, although that’s supported as well. You can simply write <code><Objects></code> and it will link to the symbol <code>Object</code> just fine. It can handle any plural and/or possessive form you can throw at it. I’m not kidding: <code>Foxes</code>, <code>Fox’s</code>, <code>Foxes’</code>, <code>Children</code>, <code>Mice</code>, <code>Alumni</code>, <code>Indices</code>, <code>Amoebae</code>, <code>Teeth</code>, just try to trip it up.</p></div><div class=Topic><a name="ExtraDocumentation"></a><div class=TopicTitle>Extra Documentation</div><p>Sometimes you want to include documentation that doesn’t correspond directly to a code element. Maybe you want to include license information or architecture notes. There are two ways to do this.</p><a name="FreestandingTopics"></a><div class="SubTopic">Freestanding Topics</div><p>Just because most of the things you write will directly correspond to an element of your source code doesn’t mean they have to. You can pick any of <a href="../keywords.html">the available keywords</a> and create a freestanding comment with it. For example:</p><pre class=Example>/*
|
||||
Class: Counter
|
||||
A class that manages an incrementing counter.
|
||||
*/
|
||||
class Counter
|
||||
{
|
||||
public:
|
||||
|
||||
/*
|
||||
About: License
|
||||
This file is licensed under the GPL.
|
||||
*/
|
||||
|
||||
/*
|
||||
Constructor: Counter
|
||||
Initializes the object.
|
||||
*/
|
||||
Counter()
|
||||
{ value = 0; };
|
||||
...
|
||||
</pre><p>The extra license topic will be added to the output just like the functions.</p><div class=NDContent><div class=CFunction><div class=CTopic><h3 class=CTitle>License</h3><div class=CBody><p class=CParagraph>This file is licensed under the GPL.</p></div></div></div></div><p>Remember that because of <a href="#Scope">scope</a>, the License topic will actually be considered part of Counter the way it’s listed above. You’d link to it from outside Counter with <code><Counter.License></code>. That idea may take some getting used to, but if an extra topic only applies to one class that’s actually the most appropriate way to do it. In this case it’s a license, so if it applies to the entire project instead you could put the comment above the class to make it global, just like moving a function there would.</p><a name="TextFiles"></a><div class="SubTopic">Text Files</div><p>You can also add additional documentation with text files. If you put a file with a .txt extension in your source tree and start it with a topic line, it’s contents will be treated the same as if it were in a comment in your source code. That means you can define multiple topics within it, you can link between them and topics in your source code, and you can use all available formatting options.</p><pre class=Example>Title: License
|
||||
|
||||
This file is licensed under the GPL.
|
||||
|
||||
I can link to <Counter> and <Counter.Increment>, and
|
||||
the documentation in that class can even link back
|
||||
with <License>.
|
||||
|
||||
|
||||
About: Second Topic
|
||||
|
||||
I can create a *second* topic in here too, complete
|
||||
with formatting.
|
||||
</pre><p>The thing some people forget though is that you <b>must</b> start it with a topic line, like “<code>Title: License</code>” above. This is how Natural Docs tells it apart from regular text files.</p></div><div class=Topic><a name="AbbreviatedSyntax"></a><div class=TopicTitle>Abbreviated Syntax</div><p>Here’s another useful thing you may want to know about. Suppose you have a lot of little things to document, like constants. Writing a separate topic for each one can be very tedious, no matter how much you compress it:</p><pre class=Example>// Constant: COUNTER_NORMAL
|
||||
// Causes the counter to increment normally.
|
||||
#define COUNTER_NORMAL 0
|
||||
|
||||
// Constant: COUNTER_ODD
|
||||
// Causes the counter to only increment in odd numbers.
|
||||
#define COUNTER_ODD 1
|
||||
|
||||
// Constant: COUNTER_EVEN
|
||||
// Causes the counter to only increment in even numbers.
|
||||
#define COUNTER_EVEN 2
|
||||
</pre><p>One thing you may have noticed in the <a href="../keywords.html">keyword list</a> is that they almost all have plural forms. These are used to create what are called <a href="reference.html#ListTopics">list topics.</a> You define a topic using a plural keyword, and then anything appearing in a <a href="reference.html#DefinitionLists">definition list</a> within it creates a linkable symbol as if they each had their own topic. For example:</p><pre class=Example>/*
|
||||
Constants: Counter Modes
|
||||
|
||||
COUNTER_NORMAL - Causes the counter to increment normally.
|
||||
COUNTER_ODD - Causes the counter to only increment in odd numbers.
|
||||
COUNTER_EVEN - Causes the counter to only increment in even numbers.
|
||||
*/
|
||||
#define COUNTER_NORMAL 0
|
||||
#define COUNTER_ODD 1
|
||||
#define COUNTER_EVEN 2
|
||||
</pre><p>I would now be able to write <code><COUNTER_ODD></code> and have it work the same as it would with the first example.</p><p>Using the enum or enumeration keyword is special because it automatically behaves in a similar manner. This allows both the enum and its values to be documented in the same place.</p><pre class=Example>/*
|
||||
Enum: CounterMode
|
||||
|
||||
NORMAL - Causes the counter to increment normally.
|
||||
ODD - Causes the counter to only increment in odd numbers.
|
||||
EVEN - Causes the counter to only increment in even numbers.
|
||||
*/
|
||||
enum CounterMode { NORMAL, ODD, EVEN };
|
||||
</pre><p>That’s it, you’re done with this walkthrough. You should know enough now to make very good use of Natural Docs. If you still want to know more, you can look in <a href="reference.html">the reference</a> for some of the smaller details we may have skipped over. Also, look at the Customizing pages on this web site for even more you can do.</p></div></td></tr><tr><td></td><td class=SideMenuBottom><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td class=SideMenuBottomLeft><img src="../images/menu/bottomleft.png" width=18 height=19></td><td class=SideMenuBottomRight><img src="../images/menu/bottomright.png" width=18 height=19></td></tr></table></td><td class=BodyBottom>Copyright © 2003-2010 Greg Valure</td></tr></table><script language=JavaScript><!--
|
||||
ClosingBrowserTags();// --></script></body></html>
|
528
lib/ann/fann/docs/NaturalDocs-1.52/Help/example/Default.css
Executable file
@ -0,0 +1,528 @@
|
||||
/*
|
||||
IMPORTANT: If you're editing this file in the output directory of one of
|
||||
your projects, your changes will be overwritten the next time you run
|
||||
Natural Docs. Instead, copy this file to your project directory, make your
|
||||
changes, and you can use it with -s. Even better would be to make a CSS
|
||||
file in your project directory with only your changes, which you can then
|
||||
use with -s [original style] [your changes].
|
||||
|
||||
On the other hand, if you're editing this file in the Natural Docs styles
|
||||
directory, the changes will automatically be applied to all your projects
|
||||
that use this style the next time Natural Docs is run on them.
|
||||
|
||||
This file is part of Natural Docs, which is Copyright <20> 2003-2004 Greg Valure
|
||||
Natural Docs is licensed under the GPL
|
||||
*/
|
||||
|
||||
body {
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
color: #000000;
|
||||
margin: 0px; padding: 0px }
|
||||
|
||||
body.UnframedPage {
|
||||
background-color: #E8E8E8 }
|
||||
|
||||
|
||||
a:link,
|
||||
a:visited { color: #900000; text-decoration: none }
|
||||
a:hover { color: #900000; text-decoration: underline }
|
||||
a:active { color: #FF0000; text-decoration: underline }
|
||||
|
||||
td {
|
||||
vertical-align: top }
|
||||
|
||||
/*
|
||||
Comment out this line to use web-style paragraphs (blank line between
|
||||
paragraphs, no indent) instead of print-style paragraphs (no blank line,
|
||||
indented.)
|
||||
*/
|
||||
p {
|
||||
text-indent: 5ex; margin: 0 }
|
||||
|
||||
|
||||
/* Can't use something like display: none or it won't break. */
|
||||
.HB {
|
||||
font-size: 1px }
|
||||
|
||||
|
||||
|
||||
|
||||
body.FramedMenuPage,
|
||||
.MenuSection {
|
||||
font-size: 9pt;
|
||||
background-color: #E8E8E8;
|
||||
padding: 10px 0 0 0 }
|
||||
|
||||
.MenuSection {
|
||||
width: 27ex }
|
||||
|
||||
|
||||
.MTitle {
|
||||
font-size: 16pt; font-weight: bold; font-variant: small-caps;
|
||||
text-align: center;
|
||||
padding: 5px 10px 15px 10px;
|
||||
border-bottom: 1px dotted #000000;
|
||||
margin-bottom: 15px }
|
||||
|
||||
.MSubTitle {
|
||||
font-size: 9pt; font-weight: normal; font-variant: normal;
|
||||
margin-top: 1ex; margin-bottom: 5px }
|
||||
|
||||
|
||||
.MEntry a:link,
|
||||
.MEntry a:hover,
|
||||
.MEntry a:visited { color: #606060; margin-right: 0 }
|
||||
.MEntry a:active { color: #A00000; margin-right: 0 }
|
||||
|
||||
|
||||
.MGroup {
|
||||
font-variant: small-caps; font-weight: bold;
|
||||
margin: 1em 0 1em 10px }
|
||||
|
||||
/* Konqueror just can't do margins. */
|
||||
.KHTML .MGroup {
|
||||
margin-bottom: 0; padding-bottom: 1em }
|
||||
|
||||
.MGroupContent {
|
||||
font-variant: normal; font-weight: normal }
|
||||
|
||||
.MGroup a:link,
|
||||
.MGroup a:hover,
|
||||
.MGroup a:visited { color: #545454; margin-right: 10px }
|
||||
.MGroup a:active { color: #A00000; margin-right: 10px }
|
||||
|
||||
|
||||
.MFile,
|
||||
.MText,
|
||||
.MLink,
|
||||
.MIndex {
|
||||
padding: 1px 17px 2px 10px;
|
||||
margin: .25em 0 .25em 0 }
|
||||
|
||||
.MText {
|
||||
font-size: 8pt; font-style: italic }
|
||||
|
||||
.MLink {
|
||||
font-style: italic }
|
||||
|
||||
#MSelected {
|
||||
color: #000000; background-color: #FFFFFF;
|
||||
/* Replace padding with border. */
|
||||
padding: 0 10px 0 10px;
|
||||
border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;
|
||||
margin-right: 5px }
|
||||
|
||||
/* Close off the left side when its in a group. */
|
||||
.MGroup #MSelected {
|
||||
padding-left: 9px; border-left-width: 1px }
|
||||
|
||||
/* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
|
||||
.Gecko #MSelected {
|
||||
-moz-border-radius-topright: 10px;
|
||||
-moz-border-radius-bottomright: 10px }
|
||||
.Gecko .MGroup #MSelected {
|
||||
-moz-border-radius-topleft: 10px;
|
||||
-moz-border-radius-bottomleft: 10px }
|
||||
|
||||
|
||||
|
||||
|
||||
body.FramedContentPage,
|
||||
.ContentSection {
|
||||
background-color: #FFFFFF;
|
||||
padding-bottom: 15px }
|
||||
|
||||
.ContentSection {
|
||||
border-width: 0 0 1px 1px; border-style: solid; border-color: #000000 }
|
||||
|
||||
|
||||
.CTopic {
|
||||
font-size: 10pt;
|
||||
/* This should be a margin but Konq 3.1.1 sucks. */
|
||||
padding-bottom: 3em }
|
||||
|
||||
|
||||
.CTitle {
|
||||
font-size: 12pt; font-weight: bold;
|
||||
border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;
|
||||
margin: 0 15px .5em 15px }
|
||||
|
||||
.CGroup .CTitle {
|
||||
font-size: 16pt; font-variant: small-caps;
|
||||
padding-left: 15px; padding-right: 15px;
|
||||
border-width: 0 0 2px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
.CClass .CTitle,
|
||||
.CInterface .CTitle,
|
||||
.CDatabase .CTitle,
|
||||
.CDatabaseTable .CTitle,
|
||||
.CSection .CTitle {
|
||||
font-size: 18pt;
|
||||
color: #FFFFFF; background-color: #A0A0A0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 2px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
#MainTopic .CTitle {
|
||||
font-size: 20pt;
|
||||
color: #FFFFFF; background-color: #7070C0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 0 0 3px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
.CBody {
|
||||
margin-left: 15px; margin-right: 15px }
|
||||
|
||||
|
||||
.CToolTip {
|
||||
position: absolute; visibility: hidden;
|
||||
left: 0; top: 0; max-width: 50%;
|
||||
background-color: #FFFFE0;
|
||||
padding: 5px;
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
|
||||
font-size: 8pt }
|
||||
|
||||
/* Opera 6 gives it a huge height otherwise. */
|
||||
.Opera6 .CTooltip, .Opera5 .CTooltip {
|
||||
max-width: 100% }
|
||||
|
||||
.CHeading {
|
||||
font-weight: bold; font-size: 10pt;
|
||||
margin-top: 1.5em; margin-bottom: .5em }
|
||||
|
||||
.CCode {
|
||||
font: 10pt "Courier New", Courier, monospace;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.CBulletList {
|
||||
/* I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
|
||||
Reapply it here as padding. */
|
||||
padding-left: 15px; padding-right: 15px;
|
||||
margin: .5em 5ex .5em 5ex;
|
||||
}
|
||||
|
||||
.CDescriptionList {
|
||||
margin: .5em 5ex 0 5ex }
|
||||
|
||||
/* IE 4 and Konqueror always makes it too long. */
|
||||
.IE4 .CDescriptionList,
|
||||
.KHTML .CDescriptionList {
|
||||
width: 85% }
|
||||
|
||||
.CDLEntry {
|
||||
font: 10pt "Courier New", Courier, monospace; color: #808080;
|
||||
padding-bottom: .25em;
|
||||
white-space: nowrap }
|
||||
|
||||
.CDLDescription {
|
||||
font-size: 10pt; /* For browsers that don't inherit correctly, like Opera 5. */
|
||||
padding-bottom: .5em; padding-left: 5ex }
|
||||
|
||||
.CTopic img {
|
||||
text-align: center;
|
||||
display: block;
|
||||
margin: 1em auto;
|
||||
}
|
||||
.CImageCaption {
|
||||
font-variant: small-caps;
|
||||
font-size: 8pt;
|
||||
color: #808080;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
top: 1em;
|
||||
}
|
||||
|
||||
.CImageLink {
|
||||
color: #808080;
|
||||
font-style: italic;
|
||||
}
|
||||
a.CImageLink:link,
|
||||
a.CImageLink:visited,
|
||||
a.CImageLink:hover { color: #808080 }
|
||||
|
||||
|
||||
|
||||
.Prototype {
|
||||
font: 10pt "Courier New", Courier, monospace;
|
||||
padding: 5px 3ex;
|
||||
border-width: 1px; border-style: solid;
|
||||
margin: 0 5ex 1.5em 5ex;
|
||||
}
|
||||
|
||||
.Prototype td {
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.PDefaultValue,
|
||||
.PTypePrefix {
|
||||
color: #8F8F8F;
|
||||
}
|
||||
.PTypePrefix {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.IE .Prototype table {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.CFunction .Prototype {
|
||||
background-color: #F4F4F4; border-color: #D0D0D0 }
|
||||
.CProperty .Prototype {
|
||||
background-color: #F4F4FF; border-color: #C0C0E8 }
|
||||
.CVariable .Prototype {
|
||||
background-color: #FFFFF0; border-color: #E0E0A0 }
|
||||
|
||||
.CDatabaseIndex .Prototype,
|
||||
.CConstant .Prototype {
|
||||
background-color: #D0D0D0; border-color: #000000 }
|
||||
.CType .Prototype {
|
||||
background-color: #FFF8F8; border-color: #E8C8C8 }
|
||||
.CDatabaseTrigger .Prototype,
|
||||
.CEvent .Prototype,
|
||||
.CDelegate .Prototype {
|
||||
background-color: #F0FCF0; border-color: #B8E4B8 }
|
||||
|
||||
.CToolTip .Prototype {
|
||||
margin: 0 0 .5em 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.Summary {
|
||||
margin: 1.5em 5ex 0 5ex }
|
||||
|
||||
.STitle {
|
||||
font-size: 12pt; font-weight: bold;
|
||||
margin-bottom: .5em }
|
||||
|
||||
|
||||
.SBorder {
|
||||
background-color: #FFFFF0;
|
||||
padding: 15px;
|
||||
border: 1px solid #C0C060 }
|
||||
|
||||
/* Let's observe the evolution of IE's brokeness, shall we?
|
||||
IE 4 always makes them too long, there's no way around it. */
|
||||
.IE4 .SBorder {
|
||||
width: 85% }
|
||||
/* IE 5 will make them too long unless you set the width to 100%. Isn't this implied for a div? */
|
||||
.IE5 .SBorder {
|
||||
width: 100% }
|
||||
/* IE 6 behaves like 5 when it's in a frame, but without frames it will be correct without a width or slightly too long
|
||||
(but not enough to scroll) with a width. This arbitrary weirdness simply astounds me. */
|
||||
body.FramedContentPage .IE6 .SBorder {
|
||||
width: 100% }
|
||||
|
||||
/* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
|
||||
.Gecko .SBorder {
|
||||
-moz-border-radius: 20px }
|
||||
|
||||
|
||||
.STable {
|
||||
font-size: 9pt; width: 100% }
|
||||
|
||||
.SEntrySize {
|
||||
width: 30% }
|
||||
.SDescriptionSize {
|
||||
width: 70% }
|
||||
|
||||
|
||||
.SMarked {
|
||||
background-color: #F8F8D8 }
|
||||
|
||||
|
||||
.SEntry .SIndent1 {
|
||||
margin-left: 1.5ex }
|
||||
.SEntry .SIndent2 {
|
||||
margin-left: 3ex }
|
||||
.SEntry .SIndent3 {
|
||||
margin-left: 4.5ex }
|
||||
.SEntry .SIndent4 {
|
||||
margin-left: 6ex }
|
||||
.SEntry .SIndent5 {
|
||||
margin-left: 7.5ex }
|
||||
|
||||
.SDescription {
|
||||
padding-left: 3ex }
|
||||
|
||||
.SDescription a { color: #800000}
|
||||
.SDescription a:active { color: #A00000 }
|
||||
|
||||
|
||||
.SGroup {
|
||||
margin-top: .5em; margin-bottom: .25em }
|
||||
|
||||
.SGroup .SEntry {
|
||||
font-weight: bold; font-variant: small-caps }
|
||||
|
||||
.SGroup .SEntry a { color: #800000 }
|
||||
.SGroup .SEntry a:active { color: #F00000 }
|
||||
|
||||
|
||||
.SMain .SEntry,
|
||||
.SClass .SEntry,
|
||||
.SDatabase .SEntry,
|
||||
.SDatabaseTable .SEntry,
|
||||
.SSection .SEntry {
|
||||
font-weight: bold; font-size: 10pt;
|
||||
margin-bottom: .25em }
|
||||
|
||||
.SClass,
|
||||
.SDatabase,
|
||||
.SDatabaseTable,
|
||||
.SSection {
|
||||
margin-top: 1em }
|
||||
|
||||
.SMain .SEntry a,
|
||||
.SClass .SEntry a,
|
||||
.SDatabase .SEntry a,
|
||||
.SDatabaseTable .SEntry a,
|
||||
.SSection .SEntry a { color: #000000 }
|
||||
|
||||
.SMain .SEntry a:active,
|
||||
.SClass .SEntry a:active,
|
||||
.SDatabase .SEntry a:active,
|
||||
.SDatabaseTable .SEntry a:active,
|
||||
.SSection .SEntry a:active { color: #A00000 }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.ClassHierarchy {
|
||||
margin: 0 15px 1em 15px }
|
||||
|
||||
.CHEntry {
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
|
||||
margin-bottom: 3px;
|
||||
padding: 2px 2ex;
|
||||
font-size: 10pt;
|
||||
background-color: #F4F4F4; color: #606060;
|
||||
}
|
||||
|
||||
.Gecko .CHEntry {
|
||||
-moz-border-radius: 4px;
|
||||
}
|
||||
|
||||
.CHCurrent .CHEntry {
|
||||
font-weight: bold;
|
||||
border-color: #000000;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.CHChildNote .CHEntry {
|
||||
font-style: italic;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.CHIndent {
|
||||
margin-left: 3ex;
|
||||
}
|
||||
|
||||
.CHEntry a:link,
|
||||
.CHEntry a:visited,
|
||||
.CHEntry a:hover {
|
||||
color: #606060;
|
||||
}
|
||||
.CHEntry a:active {
|
||||
color: #800000;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
body.FramedIndexPage,
|
||||
.IndexSection {
|
||||
background-color: #FFFFFF;
|
||||
font-size: 10pt;
|
||||
padding: 15px }
|
||||
|
||||
.IndexSection {
|
||||
border-width: 0 0 1px 1px; border-style: solid; border-color: #000000 }
|
||||
|
||||
.IPageTitle {
|
||||
font-size: 20pt; font-weight: bold;
|
||||
color: #FFFFFF; background-color: #7070C0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 0 0 3px 0; border-color: #000000; border-style: solid;
|
||||
margin: -15px -15px 0 -15px }
|
||||
|
||||
.INavigationBar {
|
||||
text-align: center;
|
||||
background-color: #FFFFF0;
|
||||
padding: 5px;
|
||||
border-bottom: solid 1px black;
|
||||
margin: 0 -15px 15px -15px }
|
||||
|
||||
.INavigationBar a {
|
||||
font-weight: bold }
|
||||
|
||||
.IHeading {
|
||||
font-size: 16pt; font-weight: bold;
|
||||
padding: 2.5em 0 .5em 0;
|
||||
text-align: center;
|
||||
width: 3.5ex;
|
||||
}
|
||||
#IFirstHeading {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.IEntry {
|
||||
padding-left: 1ex; }
|
||||
|
||||
.ISubIndex {
|
||||
padding-left: 3ex; padding-bottom: .5em }
|
||||
|
||||
/* While it may cause some entries to look like links when they aren't, I found it's much easier to read the
|
||||
index if everything's the same color. */
|
||||
.ISymbol {
|
||||
font-weight: bold; color: #900000 }
|
||||
|
||||
.ISymbolPrefix {
|
||||
text-align: right;
|
||||
color: #C47C7C;
|
||||
background-color: #F8F8F8;
|
||||
border-right: 3px solid #E0E0E0;
|
||||
border-left: 1px solid #E0E0E0;
|
||||
padding: 0 1px 0 2px;
|
||||
}
|
||||
#IFirstSymbolPrefix {
|
||||
border-top: 1px solid #E0E0E0;
|
||||
}
|
||||
#ILastSymbolPrefix {
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
#IOnlySymbolPrefix {
|
||||
border-top: 1px solid #E0E0E0;
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
|
||||
a.IParent,
|
||||
a.IFile {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.Footer {
|
||||
font-size: 8pt; color: #909090 }
|
||||
|
||||
body.UnframedPage .Footer {
|
||||
text-align: right;
|
||||
margin: 2px }
|
||||
|
||||
body.FramedMenuPage .Footer {
|
||||
text-align: center;
|
||||
margin: 5em 10px 0 10px}
|
||||
|
||||
.Footer a:link,
|
||||
.Footer a:hover,
|
||||
.Footer a:visited { color: #909090 }
|
||||
.Footer a:active { color: #A00000 }
|
204
lib/ann/fann/docs/NaturalDocs-1.52/Help/example/NaturalDocs.js
Executable file
@ -0,0 +1,204 @@
|
||||
|
||||
//
|
||||
// Browser Styles
|
||||
// ____________________________________________________________________________
|
||||
|
||||
var agt=navigator.userAgent.toLowerCase();
|
||||
var browserType;
|
||||
var browserVer;
|
||||
|
||||
if (agt.indexOf("opera") != -1)
|
||||
{
|
||||
browserType = "Opera";
|
||||
|
||||
if (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1)
|
||||
{ browserVer = "Opera5"; }
|
||||
else if (agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1)
|
||||
{ browserVer = "Opera6"; }
|
||||
else if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)
|
||||
{ browserVer = "Opera7"; }
|
||||
}
|
||||
|
||||
else if (agt.indexOf("khtml") != -1 || agt.indexOf("konq") != -1 || agt.indexOf("safari") != -1)
|
||||
{
|
||||
browserType = "KHTML";
|
||||
}
|
||||
|
||||
else if (agt.indexOf("msie") != -1)
|
||||
{
|
||||
browserType = "IE";
|
||||
|
||||
if (agt.indexOf("msie 4") != -1)
|
||||
{ browserVer = "IE4"; }
|
||||
else if (agt.indexOf("msie 5") != -1)
|
||||
{ browserVer = "IE5"; }
|
||||
else if (agt.indexOf("msie 6") != -1)
|
||||
{ browserVer = "IE6"; }
|
||||
}
|
||||
|
||||
else if (agt.indexOf("gecko") != -1)
|
||||
{
|
||||
browserType = "Gecko";
|
||||
}
|
||||
|
||||
// Opera already taken care of.
|
||||
else if (agt.indexOf("mozilla") != -1 && agt.indexOf("compatible") == -1 && agt.indexOf("spoofer") == -1 &&
|
||||
agt.indexOf("webtv") == -1 && agt.indexOf("hotjava") == -1)
|
||||
{
|
||||
browserType = "Netscape";
|
||||
|
||||
if (agt.indexOf("mozilla/4") != -1)
|
||||
{ browserVer = "Netscape4"; }
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Menu
|
||||
// ____________________________________________________________________________
|
||||
|
||||
|
||||
function ToggleMenu(id)
|
||||
{
|
||||
if (!window.document.getElementById)
|
||||
{ return; };
|
||||
|
||||
var display = window.document.getElementById(id).style.display;
|
||||
|
||||
if (display == "none")
|
||||
{ display = "block"; }
|
||||
else
|
||||
{ display = "none"; }
|
||||
|
||||
window.document.getElementById(id).style.display = display;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Tooltips
|
||||
// ____________________________________________________________________________
|
||||
|
||||
|
||||
var tooltipTimer = 0;
|
||||
|
||||
function ShowTip(event, tooltipID, linkID)
|
||||
{
|
||||
if (tooltipTimer)
|
||||
{ clearTimeout(tooltipTimer); };
|
||||
|
||||
var docX = event.clientX + window.pageXOffset;
|
||||
var docY = event.clientY + window.pageYOffset;
|
||||
|
||||
var showCommand = "ReallyShowTip('" + tooltipID + "', '" + linkID + "', " + docX + ", " + docY + ")";
|
||||
|
||||
// KHTML cant handle showing on a timer right now.
|
||||
|
||||
if (browserType != "KHTML")
|
||||
{ tooltipTimer = setTimeout(showCommand, 1000); }
|
||||
else
|
||||
{ eval(showCommand); };
|
||||
}
|
||||
|
||||
function ReallyShowTip(tooltipID, linkID, docX, docY)
|
||||
{
|
||||
tooltipTimer = 0;
|
||||
|
||||
var tooltip;
|
||||
var link;
|
||||
|
||||
if (document.getElementById)
|
||||
{
|
||||
tooltip = document.getElementById(tooltipID);
|
||||
link = document.getElementById(linkID);
|
||||
}
|
||||
else if (document.all)
|
||||
{
|
||||
tooltip = eval("document.all['" + tooltipID + "']");
|
||||
link = eval("document.all['" + linkID + "']");
|
||||
}
|
||||
|
||||
if (tooltip)
|
||||
{
|
||||
var left = 0;
|
||||
var top = 0;
|
||||
|
||||
// Not everything supports offsetTop/Left/Width, and some, like Konqueror and Opera 5, think they do but do it badly.
|
||||
|
||||
if (link && link.offsetWidth != null && browserType != "KHTML" && browserVer != "Opera5")
|
||||
{
|
||||
var item = link;
|
||||
while (item != document.body)
|
||||
{
|
||||
left += item.offsetLeft;
|
||||
item = item.offsetParent;
|
||||
}
|
||||
|
||||
item = link;
|
||||
while (item != document.body)
|
||||
{
|
||||
top += item.offsetTop;
|
||||
item = item.offsetParent;
|
||||
}
|
||||
top += link.offsetHeight;
|
||||
}
|
||||
|
||||
// The fallback method is to use the mouse X and Y relative to the document. We use a separate if and test if its a number
|
||||
// in case some browser snuck through the above if statement but didn't support everything.
|
||||
|
||||
if (!isFinite(top) || top == 0)
|
||||
{
|
||||
left = docX;
|
||||
top = docY;
|
||||
}
|
||||
|
||||
// Some spacing to get it out from under the cursor.
|
||||
|
||||
top += 10;
|
||||
|
||||
// Make sure the tooltip doesnt get smushed by being too close to the edge, or in some browsers, go off the edge of the
|
||||
// page. We do it here because Konqueror does get offsetWidth right even if it doesnt get the positioning right.
|
||||
|
||||
if (tooltip.offsetWidth != null)
|
||||
{
|
||||
var width = tooltip.offsetWidth;
|
||||
var docWidth = document.body.clientWidth;
|
||||
|
||||
if (left + width > docWidth)
|
||||
{ left = docWidth - width - 1; }
|
||||
}
|
||||
|
||||
// Opera 5 chokes on the px extension, so it can use the Microsoft one instead.
|
||||
|
||||
if (tooltip.style.left != null && browserVer != "Opera5")
|
||||
{
|
||||
tooltip.style.left = left + "px";
|
||||
tooltip.style.top = top + "px";
|
||||
}
|
||||
else if (tooltip.style.pixelLeft != null)
|
||||
{
|
||||
tooltip.style.pixelLeft = left;
|
||||
tooltip.style.pixelTop = top;
|
||||
}
|
||||
|
||||
tooltip.style.visibility = "visible";
|
||||
}
|
||||
}
|
||||
|
||||
function HideTip(tooltipID)
|
||||
{
|
||||
if (tooltipTimer)
|
||||
{
|
||||
clearTimeout(tooltipTimer);
|
||||
tooltipTimer = 0;
|
||||
}
|
||||
|
||||
var tooltip;
|
||||
|
||||
if (document.getElementById)
|
||||
{ tooltip = document.getElementById(tooltipID); }
|
||||
else if (document.all)
|
||||
{ tooltip = eval("document.all['" + tooltipID + "']"); }
|
||||
|
||||
if (tooltip)
|
||||
{ tooltip.style.visibility = "hidden"; }
|
||||
}
|
||||
|
507
lib/ann/fann/docs/NaturalDocs-1.52/Help/example/Roman.css
Executable file
@ -0,0 +1,507 @@
|
||||
/*
|
||||
IMPORTANT: If you're editing this file in the output directory of one of
|
||||
your projects, your changes will be overwritten the next time you run
|
||||
Natural Docs. Instead, copy this file to your project directory, make your
|
||||
changes, and you can use it with -s. Even better would be to make a CSS
|
||||
file in your project directory with only your changes, which you can then
|
||||
use with -s [original style] [your changes].
|
||||
|
||||
On the other hand, if you're editing this file in the Natural Docs styles
|
||||
directory, the changes will automatically be applied to all your projects
|
||||
that use this style the next time Natural Docs is run on them.
|
||||
|
||||
This file is part of Natural Docs, which is Copyright <20> 2003-2004 Greg Valure
|
||||
Natural Docs is licensed under the GPL
|
||||
*/
|
||||
|
||||
body {
|
||||
font-family: "Times New Roman", Roman, serif;
|
||||
color: #000000;
|
||||
margin: 0px; padding: 0px }
|
||||
|
||||
body.UnframedPage {
|
||||
background-color: #E8E8E8 }
|
||||
|
||||
|
||||
a:link,
|
||||
a:visited { color: #900000; text-decoration: none }
|
||||
a:hover { color: #900000; text-decoration: underline }
|
||||
a:active { color: #FF0000; text-decoration: underline }
|
||||
|
||||
td {
|
||||
vertical-align: top }
|
||||
|
||||
/*
|
||||
Comment out this line to use web-style paragraphs (blank line between
|
||||
paragraphs, no indent) instead of print-style paragraphs (no blank line,
|
||||
indented.)
|
||||
*/
|
||||
p {
|
||||
text-indent: 5ex; margin: 0 }
|
||||
|
||||
|
||||
/* Can't use something like display: none or it won't break. */
|
||||
.HB {
|
||||
font-size: 1px }
|
||||
|
||||
|
||||
|
||||
|
||||
body.FramedMenuPage,
|
||||
.MenuSection {
|
||||
font-size: 10pt;
|
||||
background-color: #E8E8E8;
|
||||
padding: 10px 0 0 0 }
|
||||
|
||||
.MenuSection {
|
||||
width: 27ex }
|
||||
|
||||
|
||||
.MTitle {
|
||||
font-size: 18pt; font-weight: bold; font-variant: small-caps;
|
||||
text-align: center;
|
||||
padding: 5px 10px 15px 10px;
|
||||
border-bottom: 1px dotted #000000;
|
||||
margin-bottom: 15px }
|
||||
|
||||
.MSubTitle {
|
||||
font-size: 10pt; font-weight: normal; font-variant: normal;
|
||||
margin-top: 1ex; margin-bottom: 5px }
|
||||
|
||||
|
||||
.MEntry a:link,
|
||||
.MEntry a:hover,
|
||||
.MEntry a:visited { color: #606060; margin-right: 0 }
|
||||
.MEntry a:active { color: #A00000; margin-right: 0 }
|
||||
|
||||
|
||||
.MGroup {
|
||||
font-variant: small-caps; font-weight: bold;
|
||||
margin: 1em 0 1em 10px }
|
||||
|
||||
/* Konqueror just can't do margins. */
|
||||
.KHTML .MGroup {
|
||||
margin-bottom: 0; padding-bottom: 1em }
|
||||
|
||||
.MGroupContent {
|
||||
font-variant: normal; font-weight: normal }
|
||||
|
||||
.MGroup a:link,
|
||||
.MGroup a:hover,
|
||||
.MGroup a:visited { color: #545454; margin-right: 10px }
|
||||
.MGroup a:active { color: #A00000; margin-right: 10px }
|
||||
|
||||
|
||||
.MFile,
|
||||
.MText,
|
||||
.MLink,
|
||||
.MIndex {
|
||||
padding: 1px 17px 2px 10px;
|
||||
margin: .25em 0 .25em 0 }
|
||||
|
||||
.MText {
|
||||
font-size: 8pt; font-style: italic }
|
||||
|
||||
.MLink {
|
||||
font-style: italic }
|
||||
|
||||
#MSelected {
|
||||
color: #000000; background-color: #FFFFFF;
|
||||
/* Replace padding with border. */
|
||||
padding: 0 10px 0 10px;
|
||||
border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;
|
||||
margin-right: 5px }
|
||||
|
||||
/* Close off the left side when its in a group. */
|
||||
.MGroup #MSelected {
|
||||
padding-left: 9px; border-left-width: 1px }
|
||||
|
||||
/* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
|
||||
.Gecko #MSelected {
|
||||
-moz-border-radius-topright: 10px;
|
||||
-moz-border-radius-bottomright: 10px }
|
||||
.Gecko .MGroup #MSelected {
|
||||
-moz-border-radius-topleft: 10px;
|
||||
-moz-border-radius-bottomleft: 10px }
|
||||
|
||||
|
||||
|
||||
|
||||
body.FramedContentPage,
|
||||
.ContentSection {
|
||||
background-color: #FFFFFF;
|
||||
padding-bottom: 15px }
|
||||
|
||||
.ContentSection {
|
||||
border-width: 0 0 1px 1px; border-style: solid; border-color: #000000 }
|
||||
|
||||
|
||||
.CTopic {
|
||||
font-size: 12pt;
|
||||
/* This should be a margin but Konq 3.1.1 sucks. */
|
||||
padding-bottom: 3em }
|
||||
|
||||
|
||||
.CTitle {
|
||||
font-size: 16pt; font-weight: bold;
|
||||
border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;
|
||||
margin: 0 15px .5em 15px }
|
||||
|
||||
.CGroup .CTitle {
|
||||
font-size: 18pt; font-variant: small-caps;
|
||||
padding-left: 15px; padding-right: 15px;
|
||||
border-width: 0 0 2px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
.CClass .CTitle,
|
||||
.CInterface .CTitle,
|
||||
.CDatabase .CTitle,
|
||||
.CDatabaseTable .CTitle,
|
||||
.CSection .CTitle {
|
||||
font-size: 20pt;
|
||||
color: #FFFFFF; background-color: #A0A0A0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 2px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
#MainTopic .CTitle {
|
||||
font-size: 24pt;
|
||||
color: #FFFFFF; background-color: #7070C0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 0 0 3px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
.CBody {
|
||||
margin-left: 15px; margin-right: 15px }
|
||||
|
||||
|
||||
.CToolTip {
|
||||
position: absolute; visibility: hidden;
|
||||
left: 0; top: 0; max-width: 50%;
|
||||
background-color: #FFFFE0;
|
||||
padding: 5px;
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
|
||||
font-size: 10pt }
|
||||
|
||||
/* Opera 6 gives it a huge height otherwise. */
|
||||
.Opera6 .CTooltip, .Opera5 .CTooltip {
|
||||
max-width: 100% }
|
||||
|
||||
.CHeading {
|
||||
font-weight: bold;
|
||||
margin-top: 1.5em; margin-bottom: .5em }
|
||||
|
||||
.CCode {
|
||||
font: 10pt "Courier New", Courier, monospace;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.CBulletList {
|
||||
/* I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
|
||||
Reapply it here as padding. */
|
||||
padding-left: 15px; padding-right: 15px;
|
||||
margin: .5em 5ex .5em 5ex;
|
||||
}
|
||||
|
||||
.CDescriptionList {
|
||||
margin: .5em 5ex 0 5ex }
|
||||
|
||||
/* IE 4 and Konqueror always makes it too long. */
|
||||
.IE4 .CDescriptionList,
|
||||
.KHTML .CDescriptionList {
|
||||
width: 85% }
|
||||
|
||||
.CDLEntry {
|
||||
font: 10pt "Courier New", Courier, monospace; color: #808080;
|
||||
padding-bottom: .25em;
|
||||
white-space: nowrap }
|
||||
|
||||
.CDLDescription {
|
||||
font-size: 12pt; /* For browsers that don't inherit correctly, like Opera 5. */
|
||||
padding-bottom: .5em; padding-left: 5ex }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.Prototype {
|
||||
font: 10pt "Courier New", Courier, monospace;
|
||||
padding: 5px 3ex;
|
||||
border-width: 1px; border-style: solid;
|
||||
margin: 0 5ex 1.5em 5ex;
|
||||
}
|
||||
|
||||
.Prototype td {
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
.PDefaultValue,
|
||||
.PTypePrefix {
|
||||
color: #8F8F8F;
|
||||
}
|
||||
.PTypePrefix {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.IE .Prototype table {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.CFunction .Prototype {
|
||||
background-color: #F4F4F4; border-color: #D0D0D0 }
|
||||
.CProperty .Prototype {
|
||||
background-color: #F4F4FF; border-color: #C0C0E8 }
|
||||
.CVariable .Prototype {
|
||||
background-color: #FFFFF0; border-color: #E0E0A0 }
|
||||
|
||||
.CDatabaseIndex .Prototype,
|
||||
.CConstant .Prototype {
|
||||
background-color: #D0D0D0; border-color: #000000 }
|
||||
.CType .Prototype {
|
||||
background-color: #FFF8F8; border-color: #E8C8C8 }
|
||||
.CDatabaseTrigger .Prototype,
|
||||
.CEvent .Prototype,
|
||||
.CDelegate .Prototype {
|
||||
background-color: #F0FCF0; border-color: #B8E4B8 }
|
||||
|
||||
.CToolTip .Prototype {
|
||||
margin: 0 0 .5em 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.Summary {
|
||||
margin: 1.5em 5ex 0 5ex }
|
||||
|
||||
.STitle {
|
||||
font-size: 14pt; font-weight: bold;
|
||||
margin-bottom: .5em }
|
||||
|
||||
|
||||
.SBorder {
|
||||
background-color: #FFFFF0;
|
||||
padding: 15px;
|
||||
border: 1px solid #C0C060 }
|
||||
|
||||
/* Let's observe the evolution of IE's brokeness, shall we?
|
||||
IE 4 always makes them too long, there's no way around it. */
|
||||
.IE4 .SBorder {
|
||||
width: 85% }
|
||||
/* IE 5 will make them too long unless you set the width to 100%. Isn't this implied for a div? */
|
||||
.IE5 .SBorder {
|
||||
width: 100% }
|
||||
/* IE 6 behaves like 5 when it's in a frame, but without frames it will be correct without a width or slightly too long
|
||||
(but not enough to scroll) with a width. This arbitrary weirdness simply astounds me. */
|
||||
body.FramedContentPage .IE6 .SBorder {
|
||||
width: 100% }
|
||||
|
||||
/* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
|
||||
.Gecko .SBorder {
|
||||
-moz-border-radius: 20px }
|
||||
|
||||
|
||||
.STable {
|
||||
font-size: 10pt; width: 100% }
|
||||
|
||||
.SEntrySize {
|
||||
width: 30% }
|
||||
.SDescriptionSize {
|
||||
width: 70% }
|
||||
|
||||
|
||||
.SMarked {
|
||||
background-color: #F8F8D8 }
|
||||
|
||||
|
||||
.SEntry .SIndent1 {
|
||||
margin-left: 1.5ex }
|
||||
.SEntry .SIndent2 {
|
||||
margin-left: 3ex }
|
||||
.SEntry .SIndent3 {
|
||||
margin-left: 4.5ex }
|
||||
.SEntry .SIndent4 {
|
||||
margin-left: 6ex }
|
||||
.SEntry .SIndent5 {
|
||||
margin-left: 7.5ex }
|
||||
|
||||
.SDescription {
|
||||
padding-left: 3ex }
|
||||
|
||||
.SDescription a { color: #800000}
|
||||
.SDescription a:active { color: #A00000 }
|
||||
|
||||
|
||||
.SGroup {
|
||||
margin-top: .5em; margin-bottom: .25em }
|
||||
|
||||
.SGroup .SEntry {
|
||||
font-weight: bold; font-variant: small-caps }
|
||||
|
||||
.SGroup .SEntry a { color: #800000 }
|
||||
.SGroup .SEntry a:active { color: #F00000 }
|
||||
|
||||
|
||||
.SMain .SEntry,
|
||||
.SClass .SEntry,
|
||||
.SDatabase .SEntry,
|
||||
.SDatabaseTable .SEntry,
|
||||
.SSection .SEntry {
|
||||
font-weight: bold; font-size: 12pt;
|
||||
margin-bottom: .25em }
|
||||
|
||||
.SClass,
|
||||
.SDatabase,
|
||||
.SDatabaseTable,
|
||||
.SSection {
|
||||
margin-top: 1em }
|
||||
|
||||
.SMain .SEntry a,
|
||||
.SClass .SEntry a,
|
||||
.SDatabase .SEntry a,
|
||||
.SDatabaseTable .SEntry a,
|
||||
.SSection .SEntry a { color: #000000 }
|
||||
|
||||
.SMain .SEntry a:active,
|
||||
.SClass .SEntry a:active,
|
||||
.SDatabase .SEntry a:active,
|
||||
.SDatabaseTable .SEntry a:active,
|
||||
.SSection .SEntry a:active { color: #A00000 }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.ClassHierarchy {
|
||||
margin: 0 15px 1em 15px }
|
||||
|
||||
.CHEntry {
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
|
||||
margin-bottom: 3px;
|
||||
padding: 2px 2ex;
|
||||
font-size: 12pt;
|
||||
background-color: #F4F4F4; color: #606060;
|
||||
}
|
||||
|
||||
.Gecko .CHEntry {
|
||||
-moz-border-radius: 4px;
|
||||
}
|
||||
|
||||
.CHCurrent .CHEntry {
|
||||
font-weight: bold;
|
||||
border-color: #000000;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.CHChildNote .CHEntry {
|
||||
font-style: italic;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.CHIndent {
|
||||
margin-left: 3ex;
|
||||
}
|
||||
|
||||
.CHEntry a:link,
|
||||
.CHEntry a:visited,
|
||||
.CHEntry a:hover {
|
||||
color: #606060;
|
||||
}
|
||||
.CHEntry a:active {
|
||||
color: #800000;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
body.FramedIndexPage,
|
||||
.IndexSection {
|
||||
background-color: #FFFFFF;
|
||||
font: 12pt "Times New Roman", serif;
|
||||
padding: 15px }
|
||||
|
||||
.IndexSection {
|
||||
border-width: 0 0 1px 1px; border-style: solid; border-color: #000000 }
|
||||
|
||||
.IPageTitle {
|
||||
font-size: 24pt; font-weight: bold;
|
||||
color: #FFFFFF; background-color: #7070C0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 0 0 3px 0; border-color: #000000; border-style: solid;
|
||||
margin: -15px -15px 0 -15px }
|
||||
|
||||
.INavigationBar {
|
||||
text-align: center;
|
||||
background-color: #FFFFF0;
|
||||
padding: 5px;
|
||||
border-bottom: solid 1px black;
|
||||
margin: 0 -15px 15px -15px }
|
||||
|
||||
.INavigationBar a {
|
||||
font-weight: bold }
|
||||
|
||||
.IHeading {
|
||||
font-size: 20pt; font-weight: bold;
|
||||
padding: 2.5em 0 .5em 0;
|
||||
text-align: center;
|
||||
width: 3.5ex;
|
||||
}
|
||||
#IFirstHeading {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.IEntry {
|
||||
padding-left: 1ex; }
|
||||
|
||||
.ISubIndex {
|
||||
padding-left: 3ex; padding-bottom: .5em }
|
||||
|
||||
/* While it may cause some entries to look like links when they aren't, I found it's much easier to read the
|
||||
index if everything's the same color. */
|
||||
.ISymbol {
|
||||
font-weight: bold; color: #900000 }
|
||||
|
||||
.ISymbolPrefix {
|
||||
text-align: right;
|
||||
color: #C47C7C;
|
||||
background-color: #F8F8F8;
|
||||
border-right: 3px solid #E0E0E0;
|
||||
border-left: 1px solid #E0E0E0;
|
||||
padding: 0 1px 0 2px;
|
||||
}
|
||||
#IFirstSymbolPrefix {
|
||||
border-top: 1px solid #E0E0E0;
|
||||
}
|
||||
#ILastSymbolPrefix {
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
#IOnlySymbolPrefix {
|
||||
border-top: 1px solid #E0E0E0;
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
|
||||
a.IParent,
|
||||
a.IFile {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.Footer {
|
||||
font-size: 8pt; color: #909090 }
|
||||
|
||||
body.UnframedPage .Footer {
|
||||
text-align: right;
|
||||
margin: 2px }
|
||||
|
||||
body.FramedMenuPage .Footer {
|
||||
text-align: center;
|
||||
margin: 5em 10px 0 10px}
|
||||
|
||||
.Footer a:link,
|
||||
.Footer a:hover,
|
||||
.Footer a:visited { color: #909090 }
|
||||
.Footer a:active { color: #A00000 }
|
507
lib/ann/fann/docs/NaturalDocs-1.52/Help/example/Small.css
Executable file
@ -0,0 +1,507 @@
|
||||
/*
|
||||
IMPORTANT: If you're editing this file in the output directory of one of
|
||||
your projects, your changes will be overwritten the next time you run
|
||||
Natural Docs. Instead, copy this file to your project directory, make your
|
||||
changes, and you can use it with -s. Even better would be to make a CSS
|
||||
file in your project directory with only your changes, which you can then
|
||||
use with -s [original style] [your changes].
|
||||
|
||||
On the other hand, if you're editing this file in the Natural Docs styles
|
||||
directory, the changes will automatically be applied to all your projects
|
||||
that use this style the next time Natural Docs is run on them.
|
||||
|
||||
This file is part of Natural Docs, which is Copyright <20> 2003-2004 Greg Valure
|
||||
Natural Docs is licensed under the GPL
|
||||
*/
|
||||
|
||||
body {
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
color: #000000;
|
||||
margin: 0px; padding: 0px }
|
||||
|
||||
body.UnframedPage {
|
||||
background-color: #E8E8E8 }
|
||||
|
||||
|
||||
a:link,
|
||||
a:visited { color: #900000; text-decoration: none }
|
||||
a:hover { color: #900000; text-decoration: underline }
|
||||
a:active { color: #FF0000; text-decoration: underline }
|
||||
|
||||
td {
|
||||
vertical-align: top }
|
||||
|
||||
/*
|
||||
Comment out this line to use web-style paragraphs (blank line between
|
||||
paragraphs, no indent) instead of print-style paragraphs (no blank line,
|
||||
indented.)
|
||||
*/
|
||||
p {
|
||||
text-indent: 5ex; margin: 0 }
|
||||
|
||||
|
||||
/* Can't use something like display: none or it won't break. */
|
||||
.HB {
|
||||
font-size: 1px }
|
||||
|
||||
|
||||
|
||||
|
||||
body.FramedMenuPage,
|
||||
.MenuSection {
|
||||
font-size: 8pt;
|
||||
background-color: #E8E8E8;
|
||||
padding: 10px 0 0 0 }
|
||||
|
||||
.MenuSection {
|
||||
width: 27ex }
|
||||
|
||||
|
||||
.MTitle {
|
||||
font-size: 16pt; font-weight: bold; font-variant: small-caps;
|
||||
text-align: center;
|
||||
padding: 5px 10px 15px 10px;
|
||||
border-bottom: 1px dotted #000000;
|
||||
margin-bottom: 15px }
|
||||
|
||||
.MSubTitle {
|
||||
font-size: 9pt; font-weight: normal; font-variant: normal;
|
||||
margin-top: 1ex; margin-bottom: 5px }
|
||||
|
||||
|
||||
.MEntry a:link,
|
||||
.MEntry a:hover,
|
||||
.MEntry a:visited { color: #606060; margin-right: 0 }
|
||||
.MEntry a:active { color: #A00000; margin-right: 0 }
|
||||
|
||||
|
||||
.MGroup {
|
||||
font-variant: small-caps; font-weight: bold;
|
||||
margin: 1em 0 1em 10px }
|
||||
|
||||
/* Konqueror just can't do margins. */
|
||||
.KHTML .MGroup {
|
||||
margin-bottom: 0; padding-bottom: 1em }
|
||||
|
||||
.MGroupContent {
|
||||
font-variant: normal; font-weight: normal }
|
||||
|
||||
.MGroup a:link,
|
||||
.MGroup a:hover,
|
||||
.MGroup a:visited { color: #545454; margin-right: 10px }
|
||||
.MGroup a:active { color: #A00000; margin-right: 10px }
|
||||
|
||||
|
||||
.MFile,
|
||||
.MText,
|
||||
.MLink,
|
||||
.MIndex {
|
||||
padding: 1px 17px 2px 10px;
|
||||
margin: .25em 0 .25em 0 }
|
||||
|
||||
.MText {
|
||||
font-size: 8pt; font-style: italic }
|
||||
|
||||
.MLink {
|
||||
font-style: italic }
|
||||
|
||||
#MSelected {
|
||||
color: #000000; background-color: #FFFFFF;
|
||||
/* Replace padding with border. */
|
||||
padding: 0 10px 0 10px;
|
||||
border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;
|
||||
margin-right: 5px }
|
||||
|
||||
/* Close off the left side when its in a group. */
|
||||
.MGroup #MSelected {
|
||||
padding-left: 9px; border-left-width: 1px }
|
||||
|
||||
/* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
|
||||
.Gecko #MSelected {
|
||||
-moz-border-radius-topright: 10px;
|
||||
-moz-border-radius-bottomright: 10px }
|
||||
.Gecko .MGroup #MSelected {
|
||||
-moz-border-radius-topleft: 10px;
|
||||
-moz-border-radius-bottomleft: 10px }
|
||||
|
||||
|
||||
|
||||
|
||||
body.FramedContentPage,
|
||||
.ContentSection {
|
||||
background-color: #FFFFFF;
|
||||
padding-bottom: 15px }
|
||||
|
||||
.ContentSection {
|
||||
border-width: 0 0 1px 1px; border-style: solid; border-color: #000000 }
|
||||
|
||||
|
||||
.CTopic {
|
||||
font-size: 8pt;
|
||||
/* This should be a margin but Konq 3.1.1 sucks. */
|
||||
padding-bottom: 3em }
|
||||
|
||||
|
||||
.CTitle {
|
||||
font-size: 11pt; font-weight: bold;
|
||||
border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;
|
||||
margin: 0 15px .5em 15px }
|
||||
|
||||
.CGroup .CTitle {
|
||||
font-size: 16pt; font-variant: small-caps;
|
||||
padding-left: 15px; padding-right: 15px;
|
||||
border-width: 0 0 2px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
.CClass .CTitle,
|
||||
.CInterface .CTitle,
|
||||
.CDatabase .CTitle,
|
||||
.CDatabaseTable .CTitle,
|
||||
.CSection .CTitle {
|
||||
font-size: 18pt;
|
||||
color: #FFFFFF; background-color: #A0A0A0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 2px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
#MainTopic .CTitle {
|
||||
font-size: 20pt;
|
||||
color: #FFFFFF; background-color: #7070C0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 0 0 3px 0; border-color: #000000;
|
||||
margin-left: 0; margin-right: 0 }
|
||||
|
||||
.CBody {
|
||||
margin-left: 15px; margin-right: 15px }
|
||||
|
||||
|
||||
.CToolTip {
|
||||
position: absolute; visibility: hidden;
|
||||
left: 0; top: 0; max-width: 50%;
|
||||
background-color: #FFFFE0;
|
||||
padding: 5px;
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
|
||||
font-size: 8pt }
|
||||
|
||||
/* Opera 6 gives it a huge height otherwise. */
|
||||
.Opera6 .CTooltip, .Opera5 .CTooltip {
|
||||
max-width: 100% }
|
||||
|
||||
.CHeading {
|
||||
font-weight: bold; font-size: 9pt;
|
||||
margin-top: 1.5em; margin-bottom: .5em }
|
||||
|
||||
.CCode {
|
||||
font: 8pt "Courier New", Courier, monospace;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.CBulletList {
|
||||
/* I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
|
||||
Reapply it here as padding. */
|
||||
padding-left: 15px; padding-right: 15px;
|
||||
margin: .5em 5ex .5em 5ex;
|
||||
}
|
||||
|
||||
.CDescriptionList {
|
||||
margin: .5em 5ex 0 5ex }
|
||||
|
||||
/* IE 4 and Konqueror always makes it too long. */
|
||||
.IE4 .CDescriptionList,
|
||||
.KHTML .CDescriptionList {
|
||||
width: 85% }
|
||||
|
||||
.CDLEntry {
|
||||
font: 8pt "Courier New", Courier, monospace; color: #808080;
|
||||
padding-bottom: .25em;
|
||||
white-space: nowrap }
|
||||
|
||||
.CDLDescription {
|
||||
font-size: 8pt; /* For browsers that don't inherit correctly, like Opera 5. */
|
||||
padding-bottom: .5em; padding-left: 5ex }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.Prototype {
|
||||
font: 8pt "Courier New", Courier, monospace;
|
||||
padding: 5px 3ex;
|
||||
border-width: 1px; border-style: solid;
|
||||
margin: 0 5ex 1.5em 5ex;
|
||||
}
|
||||
|
||||
.Prototype td {
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.PDefaultValue,
|
||||
.PTypePrefix {
|
||||
color: #8F8F8F;
|
||||
}
|
||||
.PTypePrefix {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.IE .Prototype table {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.CFunction .Prototype {
|
||||
background-color: #F4F4F4; border-color: #D0D0D0 }
|
||||
.CProperty .Prototype {
|
||||
background-color: #F4F4FF; border-color: #C0C0E8 }
|
||||
.CVariable .Prototype {
|
||||
background-color: #FFFFF0; border-color: #E0E0A0 }
|
||||
|
||||
.CDatabaseIndex .Prototype,
|
||||
.CConstant .Prototype {
|
||||
background-color: #D0D0D0; border-color: #000000 }
|
||||
.CType .Prototype {
|
||||
background-color: #FFF8F8; border-color: #E8C8C8 }
|
||||
.CDatabaseTrigger .Prototype,
|
||||
.CEvent .Prototype,
|
||||
.CDelegate .Prototype {
|
||||
background-color: #F0FCF0; border-color: #B8E4B8 }
|
||||
|
||||
.CToolTip .Prototype {
|
||||
margin: 0 0 .5em 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.Summary {
|
||||
margin: 1.5em 5ex 0 5ex }
|
||||
|
||||
.STitle {
|
||||
font-size: 11pt; font-weight: bold;
|
||||
margin-bottom: .5em }
|
||||
|
||||
|
||||
.SBorder {
|
||||
background-color: #FFFFF0;
|
||||
padding: 15px;
|
||||
border: 1px solid #C0C060 }
|
||||
|
||||
/* Let's observe the evolution of IE's brokeness, shall we?
|
||||
IE 4 always makes them too long, there's no way around it. */
|
||||
.IE4 .SBorder {
|
||||
width: 85% }
|
||||
/* IE 5 will make them too long unless you set the width to 100%. Isn't this implied for a div? */
|
||||
.IE5 .SBorder {
|
||||
width: 100% }
|
||||
/* IE 6 behaves like 5 when it's in a frame, but without frames it will be correct without a width or slightly too long
|
||||
(but not enough to scroll) with a width. This arbitrary weirdness simply astounds me. */
|
||||
body.FramedContentPage .IE6 .SBorder {
|
||||
width: 100% }
|
||||
|
||||
/* A treat for Mozilla users. Blatantly non-standard. Will be replaced with CSS 3 attributes when finalized/supported. */
|
||||
.Gecko .SBorder {
|
||||
-moz-border-radius: 20px }
|
||||
|
||||
|
||||
.STable {
|
||||
font-size: 8pt; width: 100% }
|
||||
|
||||
.SEntrySize {
|
||||
width: 30% }
|
||||
.SDescriptionSize {
|
||||
width: 70% }
|
||||
|
||||
|
||||
.SMarked {
|
||||
background-color: #F8F8D8 }
|
||||
|
||||
|
||||
.SEntry .SIndent1 {
|
||||
margin-left: 1.5ex }
|
||||
.SEntry .SIndent2 {
|
||||
margin-left: 3ex }
|
||||
.SEntry .SIndent3 {
|
||||
margin-left: 4.5ex }
|
||||
.SEntry .SIndent4 {
|
||||
margin-left: 6ex }
|
||||
.SEntry .SIndent5 {
|
||||
margin-left: 7.5ex }
|
||||
|
||||
.SDescription {
|
||||
padding-left: 3ex }
|
||||
|
||||
.SDescription a { color: #800000}
|
||||
.SDescription a:active { color: #A00000 }
|
||||
|
||||
|
||||
.SGroup {
|
||||
margin-top: .5em; margin-bottom: .25em }
|
||||
|
||||
.SGroup .SEntry {
|
||||
font-weight: bold; font-variant: small-caps }
|
||||
|
||||
.SGroup .SEntry a { color: #800000 }
|
||||
.SGroup .SEntry a:active { color: #F00000 }
|
||||
|
||||
|
||||
.SMain .SEntry,
|
||||
.SClass .SEntry,
|
||||
.SDatabase .SEntry,
|
||||
.SDatabaseTable .SEntry,
|
||||
.SSection .SEntry {
|
||||
font-weight: bold; font-size: 9pt;
|
||||
margin-bottom: .25em }
|
||||
|
||||
.SClass,
|
||||
.SDatabase,
|
||||
.SDatabaseTable,
|
||||
.SSection {
|
||||
margin-top: 1em }
|
||||
|
||||
.SMain .SEntry a,
|
||||
.SClass .SEntry a,
|
||||
.SDatabase .SEntry a,
|
||||
.SDatabaseTable .SEntry a,
|
||||
.SSection .SEntry a { color: #000000 }
|
||||
|
||||
.SMain .SEntry a:active,
|
||||
.SClass .SEntry a:active,
|
||||
.SDatabase .SEntry a:active,
|
||||
.SDatabaseTable .SEntry a:active,
|
||||
.SSection .SEntry a:active { color: #A00000 }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.ClassHierarchy {
|
||||
margin: 0 15px 1em 15px }
|
||||
|
||||
.CHEntry {
|
||||
border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
|
||||
margin-bottom: 3px;
|
||||
padding: 2px 2ex;
|
||||
font-size: 8pt;
|
||||
background-color: #F4F4F4; color: #606060;
|
||||
}
|
||||
|
||||
.Gecko .CHEntry {
|
||||
-moz-border-radius: 4px;
|
||||
}
|
||||
|
||||
.CHCurrent .CHEntry {
|
||||
font-weight: bold;
|
||||
border-color: #000000;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.CHChildNote .CHEntry {
|
||||
font-style: italic;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.CHIndent {
|
||||
margin-left: 3ex;
|
||||
}
|
||||
|
||||
.CHEntry a:link,
|
||||
.CHEntry a:visited,
|
||||
.CHEntry a:hover {
|
||||
color: #606060;
|
||||
}
|
||||
.CHEntry a:active {
|
||||
color: #800000;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
body.FramedIndexPage,
|
||||
.IndexSection {
|
||||
background-color: #FFFFFF;
|
||||
font-size: 8pt;
|
||||
padding: 15px }
|
||||
|
||||
.IndexSection {
|
||||
border-width: 0 0 1px 1px; border-style: solid; border-color: #000000 }
|
||||
|
||||
.IPageTitle {
|
||||
font-size: 20pt; font-weight: bold;
|
||||
color: #FFFFFF; background-color: #7070C0;
|
||||
padding: 10px 15px 10px 15px;
|
||||
border-width: 0 0 3px 0; border-color: #000000; border-style: solid;
|
||||
margin: -15px -15px 0 -15px }
|
||||
|
||||
.INavigationBar {
|
||||
text-align: center;
|
||||
background-color: #FFFFF0;
|
||||
padding: 5px;
|
||||
border-bottom: solid 1px black;
|
||||
margin: 0 -15px 15px -15px }
|
||||
|
||||
.INavigationBar a {
|
||||
font-weight: bold }
|
||||
|
||||
.IHeading {
|
||||
font-size: 14pt; font-weight: bold;
|
||||
padding: 2.5em 0 .5em 0;
|
||||
text-align: center;
|
||||
width: 3.5ex;
|
||||
}
|
||||
#IFirstHeading {
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
.IEntry {
|
||||
padding-left: 1ex; }
|
||||
|
||||
.ISubIndex {
|
||||
padding-left: 3ex; padding-bottom: .5em }
|
||||
|
||||
/* While it may cause some entries to look like links when they aren't, I found it's much easier to read the
|
||||
index if everything's the same color. */
|
||||
.ISymbol {
|
||||
font-weight: bold; color: #900000 }
|
||||
|
||||
.ISymbolPrefix {
|
||||
text-align: right;
|
||||
color: #C47C7C;
|
||||
background-color: #F8F8F8;
|
||||
border-right: 3px solid #E0E0E0;
|
||||
border-left: 1px solid #E0E0E0;
|
||||
padding: 0 1px 0 2px;
|
||||
}
|
||||
#IFirstSymbolPrefix {
|
||||
border-top: 1px solid #E0E0E0;
|
||||
}
|
||||
#ILastSymbolPrefix {
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
#IOnlySymbolPrefix {
|
||||
border-top: 1px solid #E0E0E0;
|
||||
border-bottom: 1px solid #E0E0E0;
|
||||
}
|
||||
|
||||
a.IParent,
|
||||
a.IFile {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.Footer {
|
||||
font-size: 8pt; color: #909090 }
|
||||
|
||||
body.UnframedPage .Footer {
|
||||
text-align: right;
|
||||
margin: 2px }
|
||||
|
||||
body.FramedMenuPage .Footer {
|
||||
text-align: center;
|
||||
margin: 5em 10px 0 10px}
|
||||
|
||||
.Footer a:link,
|
||||
.Footer a:hover,
|
||||
.Footer a:visited { color: #909090 }
|
||||
.Footer a:active { color: #A00000 }
|
43
lib/ann/fann/docs/NaturalDocs-1.52/Help/example/showstyle.html
Executable file
90
lib/ann/fann/docs/NaturalDocs-1.52/Help/examples.css
Executable file
@ -0,0 +1,90 @@
|
||||
@import URL(example/Default.css);
|
||||
|
||||
|
||||
.NDContent {
|
||||
color: #000000; background-color: #FFFFFF;
|
||||
padding: 15px 0;
|
||||
border-style: solid;
|
||||
border-width: 1px 3px 3px 1px;
|
||||
border-color: #c0c0c0 #808080 #808080 #c0c0c0;
|
||||
margin: 1em 5ex;
|
||||
-moz-border-radius: 12px;
|
||||
}
|
||||
|
||||
.NDContent p,
|
||||
.NDContent li,
|
||||
.NDContent td,
|
||||
.NDMenu td,
|
||||
.NDSummary td,
|
||||
.NDIndex td {
|
||||
font-size: 10pt;
|
||||
line-height: normal;
|
||||
}
|
||||
.NDContent .CTopic {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.Prototype td {
|
||||
font: 10pt Courier New, monospace;
|
||||
}
|
||||
.NDIndex .IHeading {
|
||||
font-size: 16pt;
|
||||
}
|
||||
|
||||
|
||||
.NDMenu {
|
||||
font: 9pt Verdana, Arial, sans-serif;
|
||||
color: #000000; background-color: #E8E8E8;
|
||||
width: 27ex;
|
||||
padding: 10px 0;
|
||||
border-style: solid;
|
||||
border-width: 1px 3px 3px 1px;
|
||||
border-color: #808080 #606060 #606060 #808080;
|
||||
margin: 1em 0 1em 5ex;
|
||||
-moz-border-radius: 12px;
|
||||
}
|
||||
|
||||
|
||||
.NDFooter {
|
||||
font: 8pt Verdana, Arial, sans-serif;
|
||||
color: #909090; background-color: #E8E8E8;
|
||||
border-style: solid;
|
||||
border-width: 1px 3px 3px 1px;
|
||||
border-color: #808080 #606060 #606060 #808080;
|
||||
margin: 1em 0 1em 5ex;
|
||||
-moz-border-radius: 12px;
|
||||
}
|
||||
.NDFooter td {
|
||||
font-size: 8pt;
|
||||
padding: 0 2ex;
|
||||
}
|
||||
|
||||
.NDFooter a:link,
|
||||
.NDFooter a:hover,
|
||||
.NDFooter a:visited { color: #909090 }
|
||||
.NDFooter a:active { color: #A00000 }
|
||||
|
||||
|
||||
.NDSummary {
|
||||
padding: 15px;
|
||||
border-style: solid;
|
||||
border-width: 1px 3px 3px 1px;
|
||||
border-color: #c0c0c0 #808080 #808080 #c0c0c0;
|
||||
margin: 1em 5ex;
|
||||
-moz-border-radius: 12px;
|
||||
}
|
||||
|
||||
.NDSummary .Summary {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
|
||||
.NDIndex {
|
||||
color: #000000; background-color: #FFFFFF;
|
||||
padding: 15px;
|
||||
border-style: solid;
|
||||
border-width: 1px 3px 3px 1px;
|
||||
border-color: #c0c0c0 #808080 #808080 #c0c0c0;
|
||||
margin: 1em 5ex;
|
||||
-moz-border-radius: 12px;
|
||||
}
|
||||
|
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/header/background.png
Executable file
After Width: | Height: | Size: 229 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/header/leftside.png
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/header/logo.png
Executable file
After Width: | Height: | Size: 12 KiB |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/header/overbody.png
Executable file
After Width: | Height: | Size: 283 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/header/overbodybg.png
Executable file
After Width: | Height: | Size: 141 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/header/overleftmargin.png
Executable file
After Width: | Height: | Size: 188 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/header/overmenu.png
Executable file
After Width: | Height: | Size: 244 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/header/overmenubg.png
Executable file
After Width: | Height: | Size: 141 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/header/rightside.png
Executable file
After Width: | Height: | Size: 1.2 KiB |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/menu/about.png
Executable file
After Width: | Height: | Size: 397 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/menu/background.png
Executable file
After Width: | Height: | Size: 187 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/menu/bottomleft.png
Executable file
After Width: | Height: | Size: 235 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/menu/bottomright.png
Executable file
After Width: | Height: | Size: 234 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/menu/community.png
Executable file
After Width: | Height: | Size: 507 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/menu/customizing.png
Executable file
After Width: | Height: | Size: 575 B |
BIN
lib/ann/fann/docs/NaturalDocs-1.52/Help/images/menu/using.png
Executable file
After Width: | Height: | Size: 390 B |
9
lib/ann/fann/docs/NaturalDocs-1.52/Help/index.html
Executable file
@ -0,0 +1,9 @@
|
||||
|
||||
|
||||
<html><head><title>Natural Docs</title><link rel=stylesheet type="text/css" href="styles.css"><script language=JavaScript src="javascript/PNGHandling.js"></script><script language=JavaScript src="javascript/BrowserStyles.js"></script></head><body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><script language=JavaScript><!--
|
||||
OpeningBrowserTags();// --></script>
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
<table width=100% border=0 cellspacing=0 cellpadding=0 class=PageTable float=center><tr><td colspan=3 class=Header><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td><img src="images/header/leftside.png" width=30 height=75><a href="."><img src="images/header/logo.png" width=524 height=75 alt="Natural Docs"></a></td><td align=right><img src="images/header/rightside.png" width=30 height=75></td></tr></table></td></tr><tr><td><img src="images/header/overleftmargin.png" width=10 height=6></td><td class=SideMenuTop><img src="images/header/overmenu.png" width=14 height=6></td><td class=BodyTop><img src="images/header/overbody.png" width=24 height=6></td></tr><tr><td></td><td class=SideMenu nowrap><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/about.png" width=52 height=13 alt="About"></div><div class=SideMenuBody><a href="languages.html" class=SideMenuEntry>Language Support</a><a href="output.html" class=SideMenuEntry>Output Formats</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/using.png" width=45 height=13 alt="Using"></div><div class=SideMenuBody><a href="documenting.html" class=SideMenuEntry>Documenting<br>Your Code</a><a href="keywords.html" class=SideMenuEntry>Keywords</a><a href="running.html" class=SideMenuEntry>Running</a><a href="troubleshooting.html" class=SideMenuEntry>Troubleshooting</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/customizing.png" width=96 height=13 alt="Customizing"></div><div class=SideMenuBody><a href="menu.html" class=SideMenuEntry>Organizing the Menu</a><a href="styles.html" class=SideMenuEntry>CSS Styles</a><a href="customizingtopics.html" class=SideMenuEntry>Topics and Keywords</a><a href="customizinglanguages.html" class=SideMenuEntry>Languages, Indexes,<br>and Prototypes</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/community.png" width=86 height=13 alt="Community"></div><div class=SideMenuBody><a href="http://www.naturaldocs.org/" class=SideMenuEntry>Web Site</a><a href="http://www.naturaldocs.org/mailinglist.html" class=SideMenuEntry>Mailing Lists</a><a href="http://www.naturaldocs.org/messageboards.html" class=SideMenuEntry>Message Boards</a><a href="http://www.naturaldocs.org/bugs.html" class=SideMenuEntry>Bugs and<br>Feature Requests</a></div></div></td><td class=Body width=100%><div class=PageTitle>Version 1.52</div><div class=Topic><p>This is the Natural Docs help file, a subset of the documentation available at <a href="http://www.naturaldocs.org">the web site</a>. Everything you need is on the menu to the left.</p></div></td></tr><tr><td></td><td class=SideMenuBottom><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td class=SideMenuBottomLeft><img src="images/menu/bottomleft.png" width=18 height=19></td><td class=SideMenuBottomRight><img src="images/menu/bottomright.png" width=18 height=19></td></tr></table></td><td class=BodyBottom>Copyright © 2003-2010 Greg Valure</td></tr></table><script language=JavaScript><!--
|
||||
ClosingBrowserTags();// --></script></body></html>
|
77
lib/ann/fann/docs/NaturalDocs-1.52/Help/javascript/BrowserStyles.js
Executable file
@ -0,0 +1,77 @@
|
||||
|
||||
//
|
||||
// Browser Styles
|
||||
// ____________________________________________________________________________
|
||||
|
||||
var agt=navigator.userAgent.toLowerCase();
|
||||
var browserType;
|
||||
var browserVer;
|
||||
|
||||
if (agt.indexOf("opera") != -1)
|
||||
{
|
||||
browserType = "Opera";
|
||||
|
||||
if (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1)
|
||||
{ browserVer = "Opera5"; }
|
||||
else if (agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1)
|
||||
{ browserVer = "Opera6"; }
|
||||
else if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)
|
||||
{ browserVer = "Opera7"; }
|
||||
}
|
||||
|
||||
else if (agt.indexOf("khtml") != -1 || agt.indexOf("konq") != -1 || agt.indexOf("safari") != -1)
|
||||
{
|
||||
browserType = "KHTML";
|
||||
}
|
||||
|
||||
else if (agt.indexOf("msie") != -1)
|
||||
{
|
||||
browserType = "IE";
|
||||
|
||||
if (agt.indexOf("msie 4") != -1)
|
||||
{ browserVer = "IE4"; }
|
||||
else if (agt.indexOf("msie 5") != -1)
|
||||
{ browserVer = "IE5"; }
|
||||
else if (agt.indexOf("msie 6") != -1)
|
||||
{ browserVer = "IE6"; }
|
||||
else if (agt.indexOf("msie 7") != -1)
|
||||
{ browserVer = "IE7"; }
|
||||
}
|
||||
|
||||
else if (agt.indexOf("gecko") != -1)
|
||||
{
|
||||
browserType = "Gecko";
|
||||
}
|
||||
|
||||
// Opera already taken care of.
|
||||
else if (agt.indexOf("mozilla") != -1 && agt.indexOf("compatible") == -1 && agt.indexOf("spoofer") == -1 &&
|
||||
agt.indexOf("webtv") == -1 && agt.indexOf("hotjava") == -1)
|
||||
{
|
||||
browserType = "Netscape";
|
||||
|
||||
if (agt.indexOf("mozilla/4") != -1)
|
||||
{ browserVer = "Netscape4"; }
|
||||
}
|
||||
|
||||
|
||||
function OpeningBrowserTags()
|
||||
{
|
||||
if (browserType)
|
||||
{
|
||||
document.write('<div class='+browserType+'>');
|
||||
|
||||
if (browserVer)
|
||||
{ document.write('<div class='+browserVer+'>'); }
|
||||
}
|
||||
};
|
||||
|
||||
function ClosingBrowserTags()
|
||||
{
|
||||
if (browserType)
|
||||
{
|
||||
document.write('</div>');
|
||||
|
||||
if (browserVer)
|
||||
{ document.write('</div>'); }
|
||||
}
|
||||
};
|
72
lib/ann/fann/docs/NaturalDocs-1.52/Help/javascript/PNGHandling.js
Executable file
@ -0,0 +1,72 @@
|
||||
// Parts derived from:
|
||||
// Opacity Displayer, Version 1.0
|
||||
// Copyright Michael Lovitt, 6/2002.
|
||||
// Distribute freely, but please leave this notice intact.
|
||||
// http://www.alistapart.com/articles/pngopacity/
|
||||
|
||||
// Parts derived from:
|
||||
// Natural Docs
|
||||
// Copyright (C) 2003-2004 Greg Valure
|
||||
// http://www.naturaldocs.org/
|
||||
|
||||
|
||||
var pngTransform;
|
||||
var pngNormal;
|
||||
|
||||
var agt=navigator.userAgent.toLowerCase();
|
||||
|
||||
if (agt.indexOf("opera") != -1)
|
||||
{
|
||||
if ( (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1) &&
|
||||
agt.indexOf("mac") != -1)
|
||||
{
|
||||
pngNormal = 1;
|
||||
}
|
||||
else if (agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1 ||
|
||||
agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1)
|
||||
{
|
||||
pngNormal = 1;
|
||||
}
|
||||
}
|
||||
|
||||
else if (agt.indexOf("msie") != -1)
|
||||
{
|
||||
if (agt.indexOf("msie 5.5") != -1 || agt.indexOf("msie 6") != -1)
|
||||
{
|
||||
if (agt.indexOf("mac") != -1)
|
||||
{ pngNormal = 1; }
|
||||
else if (agt.indexOf("win") != -1)
|
||||
{ pngTransform = 1; };
|
||||
}
|
||||
|
||||
else if (agt.indexOf("msie 5") != -1)
|
||||
{
|
||||
if (agt.indexOf("mac") != -1)
|
||||
{ pngNormal = 1; };
|
||||
}
|
||||
|
||||
else if (agt.indexOf("msie 7") != -1)
|
||||
{ pngNormal = 1; }
|
||||
}
|
||||
|
||||
else if (agt.indexOf("gecko") != -1)
|
||||
{
|
||||
pngNormal = 1;
|
||||
}
|
||||
|
||||
|
||||
function PNGGIF(strPath, intWidth, intHeight, strAlt, strID)
|
||||
{
|
||||
if (pngTransform)
|
||||
{
|
||||
document.write('<div style="height:'+intHeight+'px;width:'+intWidth+'px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+strPath+'.png\', sizingMethod=\'scale\')" id="'+strID+'"></div>');
|
||||
}
|
||||
else if (pngNormal)
|
||||
{
|
||||
document.write('<img src="'+strPath+'.png" width="'+intWidth+'" height="'+intHeight+'" alt="'+strAlt+'" id="'+strID+'"/>');
|
||||
}
|
||||
else
|
||||
{
|
||||
document.write('<img src="'+strPath+'.gif" width="'+intWidth+'" height="'+intHeight+'" alt="'+strAlt+'" id="'+strID+'" />');
|
||||
}
|
||||
};
|
38
lib/ann/fann/docs/NaturalDocs-1.52/Help/keywords.html
Executable file
32
lib/ann/fann/docs/NaturalDocs-1.52/Help/languages.html
Executable file
79
lib/ann/fann/docs/NaturalDocs-1.52/Help/menu.html
Executable file
@ -0,0 +1,79 @@
|
||||
|
||||
|
||||
<html><head><title>Organizing the Menu - Natural Docs</title><link rel=stylesheet type="text/css" href="styles.css"><link rel=stylesheet type="text/css" href="examples.css"><style type="text/css"><!--
|
||||
|
||||
|
||||
.TimestampTable {
|
||||
margin: 1em 4ex;
|
||||
}
|
||||
.TimestampTable td {
|
||||
padding: 0 3ex 0 0;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
--></style><script language=JavaScript src="javascript/PNGHandling.js"></script><script language=JavaScript src="javascript/BrowserStyles.js"></script><script language=JavaScript src="example/NaturalDocs.js"></script></head><body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><script language=JavaScript><!--
|
||||
OpeningBrowserTags();// --></script>
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
<table width=100% border=0 cellspacing=0 cellpadding=0 class=PageTable float=center><tr><td colspan=3 class=Header><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td><img src="images/header/leftside.png" width=30 height=75><a href="index.html"><img src="images/header/logo.png" width=524 height=75 alt="Natural Docs"></a></td><td align=right><img src="images/header/rightside.png" width=30 height=75></td></tr></table></td></tr><tr><td><img src="images/header/overleftmargin.png" width=10 height=6></td><td class=SideMenuTop><img src="images/header/overmenu.png" width=14 height=6></td><td class=BodyTop><img src="images/header/overbody.png" width=24 height=6></td></tr><tr><td></td><td class=SideMenu nowrap><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/about.png" width=52 height=13 alt="About"></div><div class=SideMenuBody><a href="languages.html" class=SideMenuEntry>Language Support</a><a href="output.html" class=SideMenuEntry>Output Formats</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/using.png" width=45 height=13 alt="Using"></div><div class=SideMenuBody><a href="documenting.html" class=SideMenuEntry>Documenting<br>Your Code</a><a href="keywords.html" class=SideMenuEntry>Keywords</a><a href="running.html" class=SideMenuEntry>Running</a><a href="troubleshooting.html" class=SideMenuEntry>Troubleshooting</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/customizing.png" width=96 height=13 alt="Customizing"></div><div class=SideMenuBody><span class=SideMenuEntry id=SelectedSideMenuEntry>Organizing the Menu</span><a href="styles.html" class=SideMenuEntry>CSS Styles</a><a href="customizingtopics.html" class=SideMenuEntry>Topics and Keywords</a><a href="customizinglanguages.html" class=SideMenuEntry>Languages, Indexes,<br>and Prototypes</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/community.png" width=86 height=13 alt="Community"></div><div class=SideMenuBody><a href="http://www.naturaldocs.org/" class=SideMenuEntry>Web Site</a><a href="http://www.naturaldocs.org/mailinglist.html" class=SideMenuEntry>Mailing Lists</a><a href="http://www.naturaldocs.org/messageboards.html" class=SideMenuEntry>Message Boards</a><a href="http://www.naturaldocs.org/bugs.html" class=SideMenuEntry>Bugs and<br>Feature Requests</a></div></div></td><td class=Body width=100%><div class=PageTitle>Organizing the Menu</div><div class=TOC><a href="#OrderAndTitles">Order and Titles</a> · <a href="#Grouping">Grouping</a> · <a href="#IndexesAndSearch">Indexes and Search</a> · <a href="#AutomaticChanges">Automatic Changes</a><br><a href="#Extras">Extras</a> · <a href="#Errors">Errors</a> · <a href="#PortabilityAndVersioningSystems">Portability and Versioning Systems</a></div><div class=Topic><p>Natural Docs creates a file called <code>Menu.txt</code> in your <a href="running.html#CommandLine">project directory</a> that you can edit to organize the menu. It normally takes care of this on its own, but you have the option of improving it manually if you want to.</p></div><div class=Topic><a name="OrderAndTitles"></a><div class=TopicTitle>Order and Titles</div><p>If you’ve never looked in it before, the menu file will have some comments explaining its syntax and a list like you see below.</p><pre class=Example>File: ClassA (ClassA.h)
|
||||
File: ClassB (ClassB.h)
|
||||
File: Globals (Globals.h)
|
||||
</pre><p>The list gets turned into a menu that looks like this:</p><table class=NDMenu><tr><td><div class=MEntry><div class=MFile><a href="#" onClick="return false;">ClassA</a></div></div><div class=MEntry><div class=MFile><a href="#" onClick="return false;">ClassB</a></div></div><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Globals</a></div></div></td></tr></table><p>The lines are in the format “<code>File: <i>[title]</i> (<i>[filename]</i>)</code>”. When Natural Docs made the menu, it decided on its own what the title of each file should be and then put them in alphabetical order. However, suppose we don’t want this. We want Globals above the classes and we want spaces in the menu titles. So we edit the file.</p><pre class=Example>File: Globals (Globals.h)
|
||||
File: Class A (ClassA.h)
|
||||
File: Class B (ClassB.h)
|
||||
</pre><p>Run Natural Docs again and the menu is updated.</p><table class=NDMenu><tr><td><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Globals</a></div></div><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class A</a></div></div><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class B</a></div></div></td></tr></table><p>However, open the menu file again and you’ll see something interesting.</p><pre class=Example>File: Globals (Globals.h)
|
||||
File: Class A (no auto-title, ClassA.h)
|
||||
File: Class B (no auto-title, ClassB.h)
|
||||
</pre><p>Natural Docs noticed that you changed a couple of the titles and added a <code>no auto-title</code> attribute to each one. This tells it to never change them on it’s own in the future, so your changes won’t be lost. You don’t have to worry about adding this, Natural Docs will always do it automatically. However, to go back to automatic titles you’d have to manually remove it.</p></div><div class=Topic><a name="Grouping"></a><div class=TopicTitle>Grouping</div><p>This menu is good for our example, but in the real world they get much, much longer. We can add groups to organize it further. Natural Docs will create them automatically based on the each file’s directory, but once again you can improve it manually if that’s not good enough.</p><p>You can add groups as shown below.</p><pre class=Example>File: Globals (Globals.h)
|
||||
Group: Classes {
|
||||
File: Class A (no auto-title, ClassA.h)
|
||||
File: Class B (no auto-title, ClassB.h) }
|
||||
</pre><table class=NDMenu><tr><td><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Globals</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MenuGroup11');">Classes</a><div class=MGroupContent id=MenuGroup11><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class A</a></div></div><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class B</a></div></div></div></div></div></td></tr></table><p>You can also nest them inside each other.</p><pre class=Example>File: Globals (Globals.h)
|
||||
Group: Classes {
|
||||
File: Class A (no auto-title, ClassA.h)
|
||||
Group: Nested Group {
|
||||
File: Class B (no auto-title, ClassB.h) }
|
||||
}
|
||||
</pre><table class=NDMenu><tr><td><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Globals</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MenuGroup21');">Classes</a><div class=MGroupContent id=MenuGroup21><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class A</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MenuGroup22');">Nested Group</a><div class=MGroupContent id=MenuGroup22><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class B</a></div></div></div></div></div></div></div></div></td></tr></table><p>We’ll get rid of the nested group because it doesn’t make sense for our example. Run Natural Docs, open up the menu file again and take a look.</p><pre class=Example>File: Globals (Globals.h)
|
||||
|
||||
Group: Classes {
|
||||
|
||||
File: Class A (no auto-title, ClassA.h)
|
||||
File: Class B (no auto-title, ClassB.h)
|
||||
} # Group: Classes
|
||||
</pre><p>Natural Docs reformatted it. When you’re organizing the menu, you don’t have to worry about the indentation or otherwise keeping it neat. The file is reformatted every time it changes, so you can make quick and dirty edits and Natural Docs will keep it readable.</p><p>Besides breaking up long lists, groups also serve another purpose. Clicking on them will make it expand and collapse. Go ahead and try it in the examples above. When the menu gets too long its groups will start being collapsed by default, allowing easier navigation on large projects where it would just be impractical to show everything at once.</p></div><div class=Topic><a name="IndexesAndSearch"></a><div class=TopicTitle>Indexes and Search</div><p>Natural Docs will automatically determine what indexes your project needs and add them to the menu. Anything indexed will also be used for the search feature. The entries will look like this:</p><pre class=Example>Group: Index {
|
||||
|
||||
Index: Everything
|
||||
Class Index: Classes
|
||||
Function Index: Functions
|
||||
} # Group: Index
|
||||
</pre><p>Like the file entries we saw before, you can rename them by editing the title and reorder them by cutting and pasting. However, if you decide you don’t want a particular index to be generated, just delete its entry and it will go away. Just like before, Natural Docs will detect this and add something new:</p><pre class=Example>Don't Index: Functions
|
||||
</pre><p>As with <code>no auto-title</code>, Natural Docs adds this automatically to make sure it doesn’t later undo your changes.</p></div><div class=Topic><a name="AutomaticChanges"></a><div class=TopicTitle>Automatic Changes</div><p>Natural Docs tries to manage the menu on its own as much as possible so you don’t have to worry about it. This is just a peek into some of the things it does so you know what to expect.</p><p>You already saw that by default Natural Docs tries to guess what title should be for each file. If you leave it this way, Natural Docs will always update the menu for you if the file’s content changes significantly enough to change its guess, such as if you rename the first class defined in it. If you’d like to take advantage of this to define the menu title in each source file instead of in the menu itself, add a “<code>Title: [title]</code>” comment to the top of the file.</p><p>When you add and delete source files, Natural Docs will automatically add and remove them from the menu file. When adding one it will look for the best group to put it in by directory. If your grouping mirrors the source tree somewhat, this will be a lot more accurate. Also, if the group it’s putting it in is alphabetized, Natural Docs will put it in the correct place to maintain that alphabetization. In fact, even if an existing file’s automatic title changes, it will change it’s position to make sure a previously alphabetized group stays that way.</p><p>There are exceptions in alphabetization for the indexes. If a group only contains indexes, it can be the last item on the menu or in its parent group without making it count as unsorted. Also, within groups that only contain indexes, the general index can be first, also without making the group count as unsorted.</p><p>Finally, if Natural Docs adds some files to a group that causes it to become too long, it will attempt to sub-group it based on directory. However, it will <i>only</i> do this when its adding files on its own, so you don’t have to worry about it constantly messing up your groups. Since new files aren’t added to a project that often, if you change the menu manually it should stay that way for quite some time.</p></div><div class=Topic><a name="Extras"></a><div class=TopicTitle>Extras</div><p>There’s more you can do with the menu than just renaming and reorganizing its entries. Natural Docs has a few extras you can add to it as well.</p><a name="TitleAndSubtitle"></a><div class="SubTopic">Title and Subtitle</div><p>You can add a title and subtitle to your menu.</p><pre class=Example>Title: My Project
|
||||
SubTitle: Something That Does Something
|
||||
|
||||
File: Globals (Globals.h)
|
||||
Group: Classes
|
||||
File: Class A (no auto-title, ClassA.h)
|
||||
File: Class B (no auto-title, ClassB.h)
|
||||
</pre><table class=NDMenu><tr><td><div class=MTitle>My Project<div class=MSubTitle>Something That Does Something</div></div><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Globals</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MenuGroup31');">Classes</a><div class=MGroupContent id=MenuGroup31><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class A</a></div></div><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class B</a></div></div></div></div></div></td></tr></table><p>In addition to adding the title to the menu, the Title tag will also change the HTML page titles from “<i>Class A</i>” to “<i>Class A - My Project</i>”, making bookmarks clearer.</p><a name="TextAndWebLinks"></a><div class="SubTopic">Text and Web Links</div><p>You can also add arbitrary text and web links to your menu.</p><pre class=Example>File: Globals (Globals.h)
|
||||
Group: Classes {
|
||||
Text: I couldn't think of good names for these classes.
|
||||
File: Class A (no auto-title, ClassA.h)
|
||||
File: Class B (no auto-title, ClassB.h)
|
||||
}
|
||||
Link: Built with Natural Docs (http://www.naturaldocs.org)
|
||||
</pre><table class=NDMenu><tr><td><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Globals</a></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MenuGroup51');">Classes</a><div class=MGroupContent id=MenuGroup51><div class=MEntry><div class=MText>I couldn’t think of good names for these classes.</div></div><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class A</a></div></div><div class=MEntry><div class=MFile><a href="#" onClick="return false;">Class B</a></div></div></div></div></div><div class=MEntry><div class=MLink><a href="#" onClick="return false;">Built with Natural Docs</a></div></div></td></tr></table><p>Even though comments use the # character, adding an anchor to a link (such as “http://www.website.com/page.html#anchor”) will still work.</p><a name="Footers"></a><div class="SubTopic">Footers</div><p>Finally, you can add a footer to all your pages, such as a copyright notice. Natural Docs will change any (c)’s it finds into real copyright symbols.</p><pre class=Example>Footer: Copyright (C) 2010 Me
|
||||
</pre><table class=NDFooter><tr><td>Copyright © 2010 Me · <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></td></tr></table><p>You can also add a timestamp in any format you want. The tokens you can use in building it are:</p><p><table class=TimestampTable></p><p><tr><td><code>m</code></td><td>One or two digit month.</td><td>January is “1”</td></tr></p><p><tr><td><code>mm</code></td><td>Always two digit month.</td><td>January is “01”</td></tr></p><p><tr><td><code>mon</code></td><td>Short month word.</td><td>January is “Jan”</td></tr></p><p><tr><td><code>month</code></td><td>Long month word.</td><td>January is “January”</td></tr></p><p><tr><td><code>d</code></td><td>One or two digit day.</td><td>1 is “1”</td></tr></p><p><tr><td><code>dd</code></td><td>Always two digit day.</td><td>1 is “01”</td></tr></p><p><tr><td><code>day</code></td><td>Day with letter extension.</td><td>1 is “1st”</td></tr></p><p><tr><td><code>yy</code></td><td>Two digit year.</td><td>2010 is “10”</td></tr></p><p><tr><td><code>yyyy</code></td><td>Four digit year.</td><td>2010 is “2010”</td></tr></p><p><tr><td><code>year</code></td><td>Four digit year.</td><td>2010 is “2010”</td></tr></p><p></table></p><p>Everything else appears literally, so we can add:</p><pre class=Example>Timestamp: Updated month day, year
|
||||
</pre><p>and get:</p><table class=NDFooter><tr><td>Copyright © 2010 Me · Updated January 1st, 2010 · <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></td></tr></table></div><div class=Topic><a name="Errors"></a><div class=TopicTitle>Errors</div><p>If there’s ever an error in the menu file, Natural Docs will tell you when it’s run. It also adds a comment for each one in the menu file itself so that you can search for them in a text editor.</p><pre class=Example># There is an error in this file. Search for ERROR to find it.
|
||||
|
||||
File: Globals (Globals.h)
|
||||
Group: Classes {
|
||||
# ERROR: Txet is not a valid keyword.
|
||||
Txet: I couldn't think of good names for these classes.
|
||||
File: Class A (no auto-title, ClassA.h)
|
||||
File: Class B (no auto-title, ClassB.h)
|
||||
}
|
||||
</pre><p>Remember that Natural Docs reformats the menu file whenever it’s run, so you only need to correct the error. Natural Docs will remove the error comments on its own.</p></div><div class=Topic><a name="PortabilityAndVersioningSystems"></a><div class=TopicTitle>Portability and Versioning Systems</div><p>If you only use <a href="running.html">one input directory</a>, all the files in the menu will have relative paths. However, if you have more Natural Docs will use the absolute path instead.</p><p>This is not a problem. The menu file can still be shared between machines even if they don’t keep the source tree in the exact same location. As long as you have the same layout within the source tree and point to the same base directories in the command line, Natural Docs will be able to convert the paths automatically for the new machine.</p><p>However, if you’re putting the menu file in a versioning system like Subversion or SourceSafe, it might be very desirable to only have relative paths so anybody can check it in and only the real changes show. In that case, instead of using multiple input directories, see if it’s possible to only have one input directory and use the <a href="running.html#CommandLine"><code>-xi</code> command line option</a> to exclude the subdirectories you don’t want scanned.</p></div><div class=Topic><a name="ThatsIt"></a><div class=TopicTitle>That’s It!</div><p>And we’re done. The syntax to do all of this is included in the menu file itself, so you don’t need to memorize everything. You shouldn’t need to organize the menu very often, just after a lot of new files have been added and if you don’t like the default.</p><p>Note that if you’re using the non-framed HTML output format, changing the menu does require every output file to be updated. However, Natural Docs has a special process just for this so it won’t take nearly as long as if it were rebuilding them all from scratch. Still, if you’re working on a large project, it may be worth considering the framed HTML output format.</p></div></td></tr><tr><td></td><td class=SideMenuBottom><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td class=SideMenuBottomLeft><img src="images/menu/bottomleft.png" width=18 height=19></td><td class=SideMenuBottomRight><img src="images/menu/bottomright.png" width=18 height=19></td></tr></table></td><td class=BodyBottom>Copyright © 2003-2010 Greg Valure</td></tr></table><script language=JavaScript><!--
|
||||
ClosingBrowserTags();// --></script></body></html>
|
84
lib/ann/fann/docs/NaturalDocs-1.52/Help/output.html
Executable file
@ -0,0 +1,84 @@
|
||||
|
||||
|
||||
<html><head><title>Output Formats - Natural Docs</title><link rel=stylesheet type="text/css" href="styles.css"><style type="text/css"><!--
|
||||
|
||||
|
||||
.FormatTable {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.FormatTable td {
|
||||
padding-bottom: .5em;
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
.FormatName {
|
||||
font: bold 12pt Georgia, serif;
|
||||
padding-left: 5ex;
|
||||
}
|
||||
|
||||
.FormatExample
|
||||
{
|
||||
padding-left: 3ex;
|
||||
}
|
||||
|
||||
.FormatDescription {
|
||||
width: 100%;
|
||||
padding-left: 3ex;
|
||||
padding-right: 5ex;
|
||||
}
|
||||
|
||||
|
||||
.BrowserTable {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.BrowserTable td {
|
||||
padding-bottom: .5em;
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
.BrowserName {
|
||||
font: bold 12pt Georgia, serif;
|
||||
padding-left: 5ex;
|
||||
}
|
||||
.BrowserSubNames {
|
||||
font: italic 8pt Georgia, serif;
|
||||
}
|
||||
|
||||
.BrowserVersion {
|
||||
padding-left: 3ex;
|
||||
}
|
||||
|
||||
.BrowserDescription {
|
||||
width: 100%;
|
||||
line-height: 150%;
|
||||
padding-left: 3ex;
|
||||
padding-right: 5ex;
|
||||
}
|
||||
|
||||
.FormatExample,
|
||||
.FormatDescription,
|
||||
.BrowserVersion,
|
||||
.BrowserDescription {
|
||||
padding-top: 4px;
|
||||
}
|
||||
.IE .FormatExample,
|
||||
.IE .FormatDescription,
|
||||
.IE .BrowserVersion,
|
||||
.IE .BrowserDescription {
|
||||
padding-top: 3px;
|
||||
}
|
||||
.IE .FormatTable,
|
||||
.IE .BrowserTable {
|
||||
}
|
||||
|
||||
|
||||
|
||||
--></style><script language=JavaScript src="javascript/PNGHandling.js"></script><script language=JavaScript src="javascript/BrowserStyles.js"></script></head><body marginwidth=0 marginheight=0 leftmargin=0 topmargin=0><script language=JavaScript><!--
|
||||
OpeningBrowserTags();// --></script>
|
||||
|
||||
<!-- saved from url=(0026)http://www.naturaldocs.org -->
|
||||
|
||||
<table width=100% border=0 cellspacing=0 cellpadding=0 class=PageTable float=center><tr><td colspan=3 class=Header><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td><img src="images/header/leftside.png" width=30 height=75><a href="index.html"><img src="images/header/logo.png" width=524 height=75 alt="Natural Docs"></a></td><td align=right><img src="images/header/rightside.png" width=30 height=75></td></tr></table></td></tr><tr><td><img src="images/header/overleftmargin.png" width=10 height=6></td><td class=SideMenuTop><img src="images/header/overmenu.png" width=14 height=6></td><td class=BodyTop><img src="images/header/overbody.png" width=24 height=6></td></tr><tr><td></td><td class=SideMenu nowrap><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/about.png" width=52 height=13 alt="About"></div><div class=SideMenuBody><a href="languages.html" class=SideMenuEntry>Language Support</a><span class=SideMenuEntry id=SelectedSideMenuEntry>Output Formats</span></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/using.png" width=45 height=13 alt="Using"></div><div class=SideMenuBody><a href="documenting.html" class=SideMenuEntry>Documenting<br>Your Code</a><a href="keywords.html" class=SideMenuEntry>Keywords</a><a href="running.html" class=SideMenuEntry>Running</a><a href="troubleshooting.html" class=SideMenuEntry>Troubleshooting</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/customizing.png" width=96 height=13 alt="Customizing"></div><div class=SideMenuBody><a href="menu.html" class=SideMenuEntry>Organizing the Menu</a><a href="styles.html" class=SideMenuEntry>CSS Styles</a><a href="customizingtopics.html" class=SideMenuEntry>Topics and Keywords</a><a href="customizinglanguages.html" class=SideMenuEntry>Languages, Indexes,<br>and Prototypes</a></div></div><div class=SideMenuSection><div class=SideMenuTitle><img src="images/menu/community.png" width=86 height=13 alt="Community"></div><div class=SideMenuBody><a href="http://www.naturaldocs.org/" class=SideMenuEntry>Web Site</a><a href="http://www.naturaldocs.org/mailinglist.html" class=SideMenuEntry>Mailing Lists</a><a href="http://www.naturaldocs.org/messageboards.html" class=SideMenuEntry>Message Boards</a><a href="http://www.naturaldocs.org/bugs.html" class=SideMenuEntry>Bugs and<br>Feature Requests</a></div></div></td><td class=Body width=100%><div class=PageTitle>Output Formats</div><div class=Topic><p>These are the output formats that are currently implemented in Natural Docs.</p><table width=100% border=0 cellspacing=0 cellpadding=0 class=FormatTable><tr><td class=FormatName>HTML</td><td class=FormatDescription>HTML output. Each page is self-contained. Linking to specific pages is easy, but every file has to be updated whenever the menu changes.</td></tr><tr><td class=FormatName>FramedHTML</td><td class=FormatDescription>HTML output based on frames. The menu is updated quickly, but linking to individual pages is difficult and some people just plain hate frames.</td></tr></table></div><div class=Topic><div class=TopicTitle>HTML Compatibility</div><p>These are the browsers Natural Docs’ HTML output has been tested with. All browsers will be able to view and navigate it, some of the older ones just may not be able to use advanced features like search correctly.</p><table width=100% border=0 cellspacing=0 cellpadding=0 class=BrowserTable><tr><td class=BrowserName nowrap>FireFox</td><td class=BrowserDescription>Tested with 1.0, 1.5, and 2.0.</td></tr><tr><td class=BrowserName nowrap>Internet Explorer</td><td class=BrowserDescription>Tested with 6 and 7.</td></tr><tr><td class=BrowserName nowrap>Safari</td><td class=BrowserDescription>Tested with 2 and 3. Search doesn’t work with unframed HTML in 2.</td></tr><tr><td class=BrowserName nowrap>Opera</td><td class=BrowserDescription>Tested with 7.0, 7.5, 8.0, 8.5, and 9.0. Search doesn’t work with 7.0, and sometimes tooltips.</td></tr><tr><td class=BrowserName nowrap>Konqueror</td><td class=BrowserDescription>Tested with 3.5.5. Search doesn’t work.</td></tr></table></div></td></tr><tr><td></td><td class=SideMenuBottom><table width=100% border=0 cellspacing=0 cellpadding=0><tr><td class=SideMenuBottomLeft><img src="images/menu/bottomleft.png" width=18 height=19></td><td class=SideMenuBottomRight><img src="images/menu/bottomright.png" width=18 height=19></td></tr></table></td><td class=BodyBottom>Copyright © 2003-2010 Greg Valure</td></tr></table><script language=JavaScript><!--
|
||||
ClosingBrowserTags();// --></script></body></html>
|
40
lib/ann/fann/docs/NaturalDocs-1.52/Help/running.html
Executable file
292
lib/ann/fann/docs/NaturalDocs-1.52/Help/styles.css
Executable file
@ -0,0 +1,292 @@
|
||||
|
||||
body {
|
||||
background: #FFFFFF;
|
||||
margin: 18px 15px 25px 15px !important;
|
||||
}
|
||||
|
||||
body,
|
||||
td,
|
||||
li {
|
||||
font: 9pt Verdana, sans-serif;
|
||||
}
|
||||
p,
|
||||
td,
|
||||
li {
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
p {
|
||||
text-indent: 4ex;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
a:link,
|
||||
a:visited { color: #900000; text-decoration: none }
|
||||
a:hover { color: #900000; text-decoration: underline }
|
||||
a:active { color: #FF0000; text-decoration: underline }
|
||||
|
||||
.Opera wbr:after {
|
||||
content: "\00200B";
|
||||
}
|
||||
|
||||
.NoIndent p
|
||||
{ text-indent: 0; }
|
||||
|
||||
img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.First {
|
||||
margin-top: 0 !important;
|
||||
padding-top: 0 !important;
|
||||
}
|
||||
.Last {
|
||||
margin-bottom: 0 !important;
|
||||
padding-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.PageTable {
|
||||
max-width: 950px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.Header {
|
||||
background-image: URL("images/header/background.png");
|
||||
background-color: #7070C0;
|
||||
}
|
||||
.SideMenuTop {
|
||||
background: URL("images/header/overmenubg.png");
|
||||
}
|
||||
.SideMenuBottom {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
.BodyTop {
|
||||
background: URL("images/header/overbodybg.png");
|
||||
text-align: right;
|
||||
}
|
||||
.BodyBottom {
|
||||
vertical-align: bottom;
|
||||
text-align: right;
|
||||
font: italic 8pt Georgia, serif;
|
||||
color: #C0C0C0;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.Body {
|
||||
padding: 15px 20px 0 25px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
pre, code, .Example {
|
||||
font: 10pt Courier New, Courier, monospace;
|
||||
color: #606060;
|
||||
}
|
||||
a code {
|
||||
color: #C06060;
|
||||
}
|
||||
.Example {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.PageTitle {
|
||||
font: bold italic 21pt Trebuchet MS, sans-serif; letter-spacing: .5ex; text-transform: uppercase;
|
||||
margin-bottom: .5em }
|
||||
.IE .PageTitle {
|
||||
letter-spacing: 1.25ex;
|
||||
}
|
||||
|
||||
|
||||
.Topic {
|
||||
margin-bottom: 2em }
|
||||
|
||||
|
||||
.TopicTitle {
|
||||
font: 18pt Georgia, serif;
|
||||
border-width: 0 0 1px 0; border-style: solid; border-color: #C0C0C0;
|
||||
margin-bottom: .5em
|
||||
}
|
||||
#SubscribeTopicTitle {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.Subscribe {
|
||||
font-size: 8pt;
|
||||
margin-bottom: 2em;
|
||||
color: #909090;
|
||||
}
|
||||
|
||||
.Subscribe a:link,
|
||||
.Subscribe a:hover,
|
||||
.Subscribe a:visited {
|
||||
color: #909090 }
|
||||
|
||||
|
||||
.SubTopic {
|
||||
font-weight: bold; font-size: 10pt;
|
||||
padding-top: 1.5em; padding-bottom: .5em;
|
||||
}
|
||||
|
||||
.MiniTopic {
|
||||
font-weight: bold;
|
||||
padding-top: 1em; padding-bottom: 0em;
|
||||
}
|
||||
|
||||
|
||||
.TOC {
|
||||
text-align: center;
|
||||
font: 8pt Verdana, sans-serif;
|
||||
text-transform: uppercase;
|
||||
background-color: #F8F8F8;
|
||||
border-width: 1px; border-style: solid; border-color: #C0C0C0;
|
||||
margin-bottom: 1.5em;
|
||||
padding: 2px 0;
|
||||
-moz-border-radius: 14px;
|
||||
}
|
||||
|
||||
.TOC a {
|
||||
margin: 0 0.75ex; }
|
||||
|
||||
.TOC a:link,
|
||||
.TOC a:hover,
|
||||
.TOC a:visited {
|
||||
color: #404040 }
|
||||
|
||||
|
||||
.Example {
|
||||
background-color: #FDFDFD;
|
||||
padding: 15px;
|
||||
border: 1px solid #C0C0C0;
|
||||
border-width: 1px 1px 1px 6px;
|
||||
border-style: dashed dashed dashed solid;
|
||||
color: #707070;
|
||||
margin: 15px 5ex;
|
||||
}
|
||||
|
||||
|
||||
.LastUpdated {
|
||||
font: italic 10pt Georgia, serif;
|
||||
color: #A0A0A0;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.FAQSummary {
|
||||
margin-bottom: 3em;
|
||||
}
|
||||
.FAQSummaryGroup {
|
||||
font: bold 12pt Georgia, serif;
|
||||
margin: 1em 0 .25em 0;
|
||||
}
|
||||
.FAQGroup {
|
||||
font: 18pt Georgia, serif;
|
||||
border-bottom: 1px solid #C0C0C0;
|
||||
margin-bottom: .5em;
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
.FAQSummaryEntry:link,
|
||||
.FAQSummaryEntry:visited,
|
||||
.FAQSummaryEntry:hover,
|
||||
.FAQSummaryEntry:active {
|
||||
}
|
||||
|
||||
.FAQEntry {
|
||||
margin-bottom: 3em;
|
||||
}
|
||||
.FAQEntryTitle {
|
||||
font: bold 12pt Georgia, serif;
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
.FAQEntry .SubTopic {
|
||||
font: italic 9pt Verdana, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.SideMenu {
|
||||
width: 175px; /* 195 minus padding */
|
||||
text-align: center;
|
||||
padding-top: 15px;
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
.SideMenuBottom {
|
||||
background-color: #F0F0F0;
|
||||
}
|
||||
.SideMenuBottomRight {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.SideMenuSection {
|
||||
margin-bottom: 3em;
|
||||
}
|
||||
|
||||
.SideMenuTitle {
|
||||
padding-bottom: 3px;
|
||||
border-bottom: 1px solid #D0D0D0;
|
||||
}
|
||||
|
||||
.SideMenuBody {
|
||||
padding-top: 1em;
|
||||
background: URL("images/menu/background.png") repeat-x;
|
||||
}
|
||||
|
||||
.SideMenuEntry {
|
||||
font: 8pt Verdana, sans-serif;
|
||||
margin: 0 10px 1em 10px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
a.SideMenuEntry:link,
|
||||
a.SideMenuEntry:visited {
|
||||
color: #000000;
|
||||
padding: 1px 10px 2px 9px;
|
||||
}
|
||||
a.SideMenuEntry:hover,
|
||||
a.SideMenuEntry:active,
|
||||
#SelectedSideMenuEntry {
|
||||
border-style: solid;
|
||||
border-width: 1px 2px 2px 1px;
|
||||
padding: 0 8px;
|
||||
text-decoration: none;
|
||||
-moz-border-radius: 10px;
|
||||
}
|
||||
a.SideMenuEntry:hover,
|
||||
a.SideMenuEntry:active {
|
||||
color: #000000;
|
||||
border-color: #C8C8C8;
|
||||
background-color: #F8F8F8;
|
||||
}
|
||||
#SelectedSideMenuEntry {
|
||||
color: #000000;
|
||||
border-color: #606060;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.SideMenuSourceForge {
|
||||
padding-top: 2.5em;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Needed by the release notes for 1.3 */
|
||||
|
||||
.ExPrototype {
|
||||
font: 10pt Courier New, Courier, monospace;
|
||||
padding: 5px 3ex;
|
||||
background-color: #F4F4F4;
|
||||
border: 1px solid #D0D0D0;
|
||||
margin: 1em 0;
|
||||
}
|
||||
.ExPrototype td {
|
||||
font: 10pt Courier New, Courier, monospace;
|
||||
}
|
||||
.ExPrototype .Fade {
|
||||
color: #8F8F8F;
|
||||
}
|
||||
|