TABLE OF CONTENTS amigaguide/amigaguide.datatype amigaguide/amigaguide.datatype amigaguide/amigaguide.datatype NAME amigaguide.datatype -- data type for AmigaGuide databases. FUNCTION The amigaguide.datatype is the DataTypes class for AmigaGuide databases. METHODS OM_NEW -- Create a new AmigaGuide object. OM_GET -- Obtain the value of an attribute. OM_SET -- Set the values of multiple attributes. OM_UPDATE -- Update the values of multiple attributes. OM_DISPOSE -- Dispose of an AmigaGuide object. GM_LAYOUT -- Layout the object and notify the application of the title and size. GM_HITTEST -- Determine if the object has been hit with the mouse. GM_GOACTIVE -- Tell the object to go active. GM_HANDLEINPUT -- Handle input. GM_RENDER -- Cause the AmigaGuide database to render. DTM_GOTO -- Cause the AmigaGuide database to load and display document. DTM_TRIGGER -- Trigger an event. STM_COMMAND - Invoke an AmigaGuide command. STM_CONTENTS - Display the table of contents. STM_INDEX - Display the index. STM_HELP - Display the help file. STM_RETRACE - Retrace. STM_BROWSE_PREV - Go to the previous sequential document. STM_BROWSE_NEXT - Go to the next sequential document. DTM_PROCLAYOUT -- Layout (remap) the AmigaGuide database on the application's process. DTM_FRAMEBOX -- Obtain the display environment that the AmigaGuide database requires. DTM_SELECT -- Select an area in the AmigaGuide database. DTM_CLEARSELECTED -- Deselect the selected area of the AmigaGuide database. DTM_COPY -- Copy the selected area of the text to the clipboard as FTXT. If no area is selected, then the entire text is copied. DTM_PRINT -- Print the selected area of the text. If no area is selected, then the entire text is printed. DTM_WRITE -- Write the selected area of the text to a file. If no area is selected, then the entire text is saved. 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 disable 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: Specify the version of the database. This command must always be in upper-case. @(C) Specify the copyright notice for the database. @AUTHOR Specify the author of the database. @DATABASE Must be the very first line of an AmigaGuide document. @DNODE 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 Specify the font to use for the database. @HEIGHT How high, in characters, the largest document is. @HELP Specify the name of the help node, which will be accessed by the Help button. Can be a node in an external database. @INDEX Specify the name of the index node, which will be accessed by the Index button. Can be a node in an external database. @MACRO 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 Complete path of the source document used to define this AmigaGuide database. @NODE 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 "Retrace" button. New for V40.