Home  /  Autodocs

amigaguide.datatype

data type for AmigaGuide databases.

FUNCTIONS

GetAGString

FUNCTION

The amigaguide.datatype is the DataTypes class for AmigaGuide databases.

TAGS

DTA_TriggerMethods
List of the trigger methods supported.

Applicability is (G).

DTA_Methods
List of the methods supported.

Applicability is (G).

DTA_TextAttr (struct TextAttr *)
Text attribute to use for the AmigaGuide database.

Applicability is (ISG).

DTA_Name (STRPTR)
Name of the AmigaGuide database.

Applicability is (I).

DTA_Handle (BPTR)
File handle for the AmigaGuide database.

Applicability is (I).

DTA_NodeName (STRPTR)
Document to display.

Applicability is (I).

TDTA_WordDelim (STRPTR)
Characters used to deliminate words.

Applicability is (IS). Defaults to "\t *-,<>()[];\"".

AGA_HelpGroup (ULONG)
Help group that the AmigaGuide object belongs in.

Applicability is (I).

AGA_Secure (BOOL)
This tag allows you control whether AmigaGuide will execute the commands "ONOPEN", "ONCLOSE", "LINK RX", "LINK RXS" and "LINK SYSTEM". These commands present a potential security hole if, for example, AmigaGuide documents are displayed in an e-mail reader program. To disabled them, set the AGA_Secure tag to TRUE; in this case AmigaGuide will still recognize the commands but will not execute them.

Applicability is (ISG). Defaults to FALSE. (V41)

COMMANDS

Commands must start in the very first column of a line, and can be the only thing on the line. If a line begins with an @ sign, then it is interpreted as a command.

The following commands can be used in the global section of a database.

@$VER: <AmigaDOS version string> Specify the version of the database. This command must always be in upper-case.

@(C) <copyright> Specify the copyright notice for the database.

@AUTHOR <name> Specify the author of the database.

@DATABASE <name> Must be the very first line of an AmigaGuide document.

@DNODE <name> Indicates the start of a dynamic node. The AmigaGuide system uses the callback hooks to obtain the document from a document provider. This is obsolete, do not use.

@FONT <name> <size> Specify the font to use for the database.

@HEIGHT <chars> How high, in characters, the largest document is.

@HELP <name/node> Specify the name of the help node, which will be accessed by the Help button. Can be a node in an external database.

@INDEX <name/node> Specify the name of the index node, which will be accessed by the Index button. Can be a node in an external database.

@MACRO <name> <commands> This is used to construct a macro. A macro can be used the same way as an attribute command, and can only consist of other attribute commands or macros. The macro list is searched before the attribute command list is searched. This is new for V40.

@macro icom "@{i}$1 @{ui}"

...

This is an @{icom "example"} of macro.

@MASTER <path> Complete path of the source document used to define this AmigaGuide database.

@NODE <name> <title> Indicate the start of a node (page/article/section). The first node, or main node, must be named MAIN. MAIN must be the master table of contents for the database.

@ONCLOSE <rxcommand> This is used to specify an ARexx macro file to execute when the database is closed. The return value of the script has no effect on the database. New for V40.

@ONOPEN <rxcommand> This is used to specify an ARexx macro file to execute when the database is opened. If the script returns an error, then the database will not be opened. New for V40.

@REM <remark> @REMARK <remark> This is used to place remarks in the database. These remarks are not displayed to the user.

@SMARTWRAP This is used to indicate that the text of the database is to wordwrapped using a more intelligent algorithm than @wordwrap. A paragraph doesn't need to be restricted to one physical line, but paragraphs must be separated by two line feeds. New for V40.

@TAB <num> Number of spaces in a tab. Defaults to 8. New for V40.

@WIDTH <chars> How wide, in characters, the largest document is.

@WORDWRAP Turn on wordwrapping for the whole database. A paragraph must be restrained to one physical line.

The following commands can be used within nodes of a database.

A backslash is the escape character. A backslash in front of the @ sign is used to escape it. The backslash has no effect as an escape character inside commands such as @ONOPEN or @{".." LINK ..}; in cases like these it is treated as a regular character. Please note that AmigaGuide V35 does not treat the backslash character as an escape character.

@ENDNODE <name> Indicate the end of a node. Must start at the beginning of a line.

@FONT <name> <size> Specify the font to use for the node.

@HELP <name/node> Specify the name of the help node, which will be accessed by the Help button. Can be a node in an external database.

@INDEX <name/node> Specify the name of the index node, which will be accessed by the Index button. Can be a node in an external database.

@KEYWORDS <keywords> Keywords of the node. Someday when searching is reimplemented, there will be a keyword search.

@NEXT <node name> Node to display when the user selects "Browse >"

@ONCLOSE <rxcommand> This is used to specify an ARexx macro file to execute when the node is closed. The return value of the script has no effect on the node. New for V40.

@ONOPEN <rxcommand> This is used to specify an ARexx macro file to execute when the node is opened. If the script returns an error, then the node will not be opened. New for V40.

@PREV <node name> Node to display when the user selects "< Browse"

@SMARTWRAP This is used to indicate that the text of the node is to wordwrapped using a more intelligent algorithm than @wordwrap. A paragraph doesn't need to be restricted to one physical line, but paragraphs must be separated by two line feeds. New for V40.

@TAB <num> Number of spaces in a tab. Defaults to 8. New for V40.

@TITLE <title> Title to display in the title bar of the window during the display of this node. Must start at the beginning of a line.

@TOC <node name> Name of the node that contains the table of contents for this node. Defaults to MAIN. This is the node that is displayed when the user presses the "Contents" button.

@WORDWRAP Turn on wordwrapping for the node. A paragraph must be restrained to one physical line.

@{<label> <command>} Indicate a textual link point. Can be anywhere in a line. Starting with 3.0, AmigaGuide can can link to graphics, sounds, animations and other DataTypes.

ATTRIBUTES

Following is a list of attributes that can be applied to the text of a node.

@{AMIGAGUIDE} Displays the word AmigaGuide in bold followed by the ® symbol. New for V40.

@{APEN} Use to change the foreground color to a specific pen number. New for V40.

@{B} Turn bold on.

@{BG <color>} Used to change the background text color. Color can be:

Text Shine Shadow Fill FillText Background Highlight

@{BODY} Indicate that the following text is the body of the document. Word wrap will be turned back on if it is the default. New for V40.

@{BPEN} Use to change the background color to a specific pen number. New for V40.

@{CLEARTABS} Restore the default tab stops. New for V40.

@{CODE} Indicate that the following text is not to be word-wrapped. New for V40.

@{FG <color>} Used to change the foreground color. The same colors can be used as in the FG command.

@{I} Turn italic on.

@{JCENTER} Turn on centering. New for V40.

@{JLEFT} Turn on left justification. New for V40.

@{JRIGHT} Turn on right justification. New for V40.

@{LINDENT} Set the number of spaces to indent the body of a paragraph. New for V40.

@{LINE} Force a line feed without starting a new paragraph. New for V40.

@{PAR} Used to indicate the end of a paragraph. This is the same as two sequential LF's in the source file. New for V40.

@{PARD} Restore the default settings for a paragraph. Text pen to 1, background to 0, normal font, and no indentation. New for V40.

@{PARI} Set the number of spaces to indent the first line of a paragraph relative to the normal paragraph indentation. The value may be a negative number. New for V40.

@{PLAIN} Used to turn off all @{B}, @{I}, and @{U} commands. New for V40.

@{SETTABS <n> ... <n>} This is used to establish tab stops. New for V40.

@{TAB} The same as character 9 in the source file. New for V40.

@{U} Turn underline on.

@{UB} Turn bold off.

@{UI} Turn italic off.

@{UU} Turn underline off.

AREXX COMMANDS

AmigaGuide supports the following ARexx commands.

BEEP
DisplayBeep().

CLOSE
Close the current database.

GETNODECOUNT
Returns the number of nodes in the database using the RESULT variable. New for V40.

LINK
Go to the named node.

NEXT
Go to the next physical node in the database. Same as pressing the "Browse >" button. New for V40.

PREVIOUS
Go to the previous physical node in the database. Same as pressing the "Browse <" button. New for V40.

PRINT
Print the current node. Doesn't return until complete. New for V40.

QUIT
Close the current database.

RETRACE
Go to the previous node in the database. Same as pressing the "Back" button. New for V40.