JPTUI.inf

   Copyright (C) 1996 by Jean-Pierre Delprat.

JPTUI
*****

   JPTUI is a visually-attractive object-oriented Text User Interface
for DJGPP.  Designed for C++, it provides both a simple to use and a
powerful application programming interface (API).  It is this API that
is described in this document.

Overview
********

   JPTUI provides many features which allow you to quickly create
professional, quality user interfaces for MS-DOS programs, including
windows, menus, buttons, edit boxes, tab-bars, and much more.

Copying
*******

   You are free to copy and distribute JPTUI under the condition that
all of the files are included in their original and unmodified state.

   You may use JPTUI in your own programs without having to pay any
form of license fees or royalties.

Credits
*******

     Credits for JPTUI 3.1 documentation go to Lee Braiden.
     Credits for lzss and lzari go to Haruhiko Okumura.
     Credits for exedat go to Ren Olsthoorn.

What's new
**********

   JPTUI history can be found in the file 'CHANGES.TXT'

Preprocessor Symbols
********************

Boolean Definitions
===================

     JPTUI defines various alternate identifiers for the two boolean
     states (ON and OFF).  These can be used instead of the generic
     TRUE and FALSE in order to make it more obvious what they specify.

     For example, one of the arguments to the TWindow constructor is a
     boolean value which allows you to specify whether the window would
     have an info bar.  Normally, if you specified an info bar, the
     constructor would just have the argument TRUE as one of it's
     arguments, and you would probably not remember what it meant if
     you read the code at a later date.  By using the alternative
     identifier "INFO_BAR", the code instantly becomes more readable.

          DISABLED
          ENABLED
          
          NOT_CHECKED
          CHECKED
          
          NOT_SORTED
          SORTED
          
          NOT_MODAL
          MODAL
          
          NO_INFO_BAR
          INFO_BAR
          
          NOT_MOVABLE
          MOVABLE
          
          STRING_NEEDNT_TO_BE_IN_LIST
          STRING_MUST_BE_IN_LIST

Mouse Definitions
=================

     Button States

NO_BUTTON_PRESSED
     Self-explanatory.

LEFT_BUTTON_PRESSED
     Self-explanatory.

RIGHT_BUTTON_PRESSED
     Self-explanatory.

     Button Identifiers

LEFT_BUTTON
     Self-explanatory.

RIGHT_BUTTON
     Self-explanatory.

     Double-click Timing

MAX_DOUBLE_CLICK_DURATION
     This is the longest delay allowed between both mouse clicks in a
     `double-click' event.  If the delay is longer, it will not be
     considered a `double-click', but rather, as two separate clicks.
     This value is in Milliseconds.

     Mouse Pointer

     The following are defined as part of the enumeration
     `TMousePointer'.

MP_ARROW
     The normal `arrow' mouse pointer.

MP_HOURGLASS
     The hourglass pointer, used to indicate that the application is
     working on something.

Language Definitions
====================

     Language.

     The following are defined as part of the enumeration `TLanguage'.

NONE
     No language has been chosen yet.

FRENCH
     Self-explanatory.

ENGLISH
     Self-explanatory.

GERMAN
     Self-explanatory.

Cursor Definitions
==================

RECOVER_CURSOR
     This is used to specify the `Overwrite Mode' cursor.

INSERT_CURSOR
     Specifies the `Insert Mode' cursor.

Datatype Definitions
====================

MAXWORD
     This defines the maximum possible value for the `word' datatype.

     String to number conversion

LONG_MAX_LENGTH
     The maximum length of long integer's string-representation.

DOUBLE_MAX_LENGTH
     The maximum length of double's string-representation.

DOUBLE_NB_DIGITS
     The number of significant digits that will be recognised in a
     double's string- representation.

Object Type Definitions
=======================

     These are all quite self-explanatory, since they all refer the the
     respective classes, so I've just listed them here without any
     explanation for use as a reference table.  There is one exception,
     though, OBJ_NONE, which is explained immediately below.

OBJ_NONE
     This is used to mark unset variables, or to return an `invalid'
     code.

OBJ_WINDOW
OBJ_PUSH_BUTTON
OBJ_EDIT_ZONE
OBJ_FRAME_GROUP
OBJ_RADIO_GROUP
OBJ_CHECK_BOX
OBJ_WARNING_DIALOG
OBJ_LABEL
OBJ_SCROLL_BAR
OBJ_LIST_BOX
OBJ_TAB_GROUP
OBJ_TAB
OBJ_GAUGE
OBJ_TEXT_ZONE
OBJ_MENU_BAR
OBJ_MENU
OBJ_COMBO_LIST
File Definitions
================

     These constants define the maximal length of the buffers needed to
     hold the differents components of a file name.

MAX_PATH
     Example : X:\DIR\SUBDIR\FILE.EXT

MAX_DRIVE
     Example : X:

MAX_DIR
     Example : \DIR\SUBDIR\

MAX_FILE
     Example : FILE.EXT

Keycode Definitions
===================



          Normal keys
          
              ESC
              SPACE
              BACKSPACE
              TAB
              RETURN
          
              F1
              F2
              F3
              F4
              F5
              F6
              F7
              F8
              F9
              F10
              F11
              F12
          
              UP
              DOWN
              LEFT
              RIGHT
          
              HOME
              END
              INSERT
              DELETE
              PGUP
              PGDN
          
          
          SHIFT-Modified keys
          
              SHIFT_TAB
          
              SHIFT_F1
              SHIFT_F2
              SHIFT_F3
              SHIFT_F4
              SHIFT_F5
              SHIFT_F6
              SHIFT_F7
              SHIFT_F8
              SHIFT_F9
              SHIFT_F10
              SHIFT_F11
              SHIFT_F12
          
              SHIFT_LEFT
              SHIFT_RIGHT
              SHIFT_UP
              SHIFT_DOWN
          
              SHIFT_HOME
              SHIFT_END
              SHIFT_PGUP
              SHIFT_PGDN
              SHIFT_INSERT
              SHIFT_DELETE
          
          
          CTRL-Modified Keys
          
              CTRL_A
              CTRL_B
              CTRL_C
              CTRL_D
              CTRL_E
              CTRL_F
              CTRL_G
              CTRL_H
              CTRL_I
              CTRL_J
              CTRL_K
              CTRL_L
              CTRL_M
              CTRL_N
              CTRL_O
              CTRL_P
              CTRL_Q
              CTRL_R
              CTRL_S
              CTRL_T
              CTRL_U
              CTRL_V
              CTRL_W
              CTRL_X
              CTRL_Y
              CTRL_Z
          
              CTRL_BACKSPACE
          
              CTRL_F1
              CTRL_F2
              CTRL_F3
              CTRL_F4
              CTRL_F5
              CTRL_F6
              CTRL_F7
              CTRL_F8
              CTRL_F9
              CTRL_F10
          
              CTRL_F11
              CTRL_F12
          
              CTRL_UP
              CTRL_DOWN
              CTRL_LEFT
              CTRL_RIGHT
          
              CTRL_INSERT
              CTRL_DELETE
              CTRL_HOME
              CTRL_END
              CTRL_PGUP
              CTRL_PGDN
          
          
          Alt keys
          
              ALT_Q
              ALT_W
              ALT_E
              ALT_R
              ALT_T
              ALT_Y
              ALT_U
              ALT_I
              ALT_O
              ALT_P
              ALT_A
              ALT_S
              ALT_D
              ALT_F
              ALT_G
              ALT_H
              ALT_J
              ALT_K
              ALT_L
              ALT_Z
              ALT_X
              ALT_C
              ALT_V
              ALT_B
              ALT_N
              ALT_M
          
              ALT_1
              ALT_2
              ALT_3
              ALT_4
              ALT_5
              ALT_6
              ALT_7
              ALT_8
              ALT_9
              ALT_0
          
              ALT_F1
              ALT_F2
              ALT_F3
              ALT_F4
              ALT_F5
              ALT_F6
              ALT_F7
              ALT_F8
              ALT_F9
              ALT_F10
              ALT_F11
              ALT_F12
          
              ALT_BACKSPACE
              ALT_DELETE
          
          
          CTRL-SHIFT-Modified Keys
          
              CTRL_SHIFT_UP
              CTRL_SHIFT_DOWN
              CTRL_SHIFT_LEFT
              CTRL_SHIFT_RIGHT
          
              CTRL_SHIFT_HOME
              CTRL_SHIFT_END
              CTRL_SHIFT_PGUP
              CTRL_SHIFT_PGDN

Shortcut Definitions
====================


          SC_NONE
          
          SC_CTRL_A
          SC_CTRL_B
          SC_CTRL_C
          SC_CTRL_D
          SC_CTRL_E
          SC_CTRL_F
          SC_CTRL_G
          SC_CTRL_H
          SC_CTRL_I
          SC_CTRL_J
          SC_CTRL_K
          SC_CTRL_L
          SC_CTRL_M
          SC_CTRL_N
          SC_CTRL_O
          SC_CTRL_P
          SC_CTRL_Q
          SC_CTRL_R
          SC_CTRL_S
          SC_CTRL_T
          SC_CTRL_U
          SC_CTRL_V
          SC_CTRL_W
          SC_CTRL_X
          SC_CTRL_Y
          SC_CTRL_Z
          
          SC_ALT_A
          SC_ALT_B
          SC_ALT_C
          SC_ALT_D
          SC_ALT_E
          SC_ALT_F
          SC_ALT_G
          SC_ALT_H
          SC_ALT_I
          SC_ALT_J
          SC_ALT_K
          SC_ALT_L
          SC_ALT_M
          SC_ALT_N
          SC_ALT_O
          SC_ALT_P
          SC_ALT_Q
          SC_ALT_R
          SC_ALT_S
          SC_ALT_T
          SC_ALT_U
          SC_ALT_V
          SC_ALT_W
          SC_ALT_X
          SC_ALT_Y
          SC_ALT_Z
          
          SC_ALT_1
          SC_ALT_2
          SC_ALT_3
          SC_ALT_4
          SC_ALT_5
          SC_ALT_6
          SC_ALT_7
          SC_ALT_8
          SC_ALT_9
          SC_ALT_0
          
          SC_F1
          SC_F2
          SC_F3
          SC_F4
          SC_F5
          SC_F6
          SC_F7
          SC_F8
          SC_F9
          SC_F10
          SC_F11
          SC_F12
          
          SC_CTRL_F1
          SC_CTRL_F2
          SC_CTRL_F3
          SC_CTRL_F4
          SC_CTRL_F5
          SC_CTRL_F6
          SC_CTRL_F7
          SC_CTRL_F8
          SC_CTRL_F9
          SC_CTRL_F10
          SC_CTRL_F11
          SC_CTRL_F12
          
          SC_SHIFT_F1
          SC_SHIFT_F2
          SC_SHIFT_F3
          SC_SHIFT_F4
          SC_SHIFT_F5
          SC_SHIFT_F6
          SC_SHIFT_F7
          SC_SHIFT_F8
          SC_SHIFT_F9
          SC_SHIFT_F10
          SC_SHIFT_F11
          SC_SHIFT_F12
          
          SC_ALT_F1
          SC_ALT_F2
          SC_ALT_F3
          SC_ALT_F4
          SC_ALT_F5
          SC_ALT_F6
          SC_ALT_F7
          SC_ALT_F8
          SC_ALT_F9
          SC_ALT_F10
          SC_ALT_F11
          SC_ALT_F12
          
          SC_HOME
          SC_PGUP
          SC_END
          SC_PGDN
          SC_INSERT
          SC_DELETE
          
          SC_CTRL_HOME
          SC_CTRL_PGUP
          SC_CTRL_END
          SC_CTRL_PGDN
          SC_CTRL_BACKSPACE
          SC_CTRL_INSERT
          SC_CTRL_DELETE
          SC_CTRL_UP
          SC_CTRL_DOWN
          SC_CTRL_LEFT
          SC_CTRL_RIGHT
          
          SC_SHIFT_INSERT
          SC_SHIFT_DELETE
          
          SC_ALT_BACKSPACE
          SC_ALT_DELETE

Screen Definitions
==================

SCREEN_BACKGROUND
     	The screen's background character, including attributes.

     Text modes

     The following are defined as part of the enumeration `TTextMode'.

TEXTMODE_USER
     Any text mode you want to use, provided that you give me a
     function to set it.

TEXTMODE_80X25_8
     80 columns, 25 rows, 8x16 font.

TEXTMODE_80X25_9
     80 columns, 25 rows, 9x16 font (default).

TEXTMODE_80X28_8
     80 columns, 28 rows, 8x14 font.

TEXTMODE_80X28_9
     80 columns, 28 rows, 9x14 font.

TEXTMODE_80X50_8
     80 columns, 50 rows, 8x8 font.

TEXTMODE_80X50_9
     80 columns, 50 rows, 9x8 font.

Special Character Definitions
=============================

     Below are the identifiers for the special graphical characters
     used by JPTUI.  They are all quite self-explanatory, so I haven't
     included any additional explanation here.

     Border Characters

CHAR_UP_LEFT_CORNER
TEXT_UP_LEFT_CORNER
CHAR_UP_HLINE
TEXT_UP_HLINE
CHAR_UP_RIGHT_CORNER
TEXT_UP_RIGHT_CORNER
CHAR_LEFT_VLINE
TEXT_LEFT_VLINE
CHAR_RIGHT_VLINE
TEXT_RIGHT_VLINE
CHAR_BOTTOM_LEFT_CORNER
TEXT_BOTTOM_LEFT_CORNER
CHAR_BOTTOM_HLINE
TEXT_BOTTOM_HLINE
CHAR_BOTTOM_RIGHT_CORNER
TEXT_BOTTOM_RIGHT_CORNER
     Arrow Characters

TEXT_ARROW_UP
TEXT_ARROW_DOWN
TEXT_ARROW_LEFT
TEXT_ARROW_RIGHT
     Button Characters

TEXT_CLOSE_BUTTON
TEXT_CHECKED_RADIO_BUTTON
TEXT_UNCHECKED_RADIO_BUTTON
TEXT_CHECKED_CHECK_BOX
TEXT_UNCHECKED_CHECK_BOX
CHAR_UP_BOTTOM_HLINES
TEXT_UP_BOTTOM_HLINES
Sound Definitions
=================

ERROR_SOUND
     A general error sound.

BIP1
     Another sound.  This is normally used when an invalid key is
     pressed inside a TEditZone, but you can use it for anything that
     you feel it suits.

Window Definitions
==================

     Text justification (alignment)

CENTERED
     Text will be centered on the line when this is set.

JUSTIFIED_LEFT
     Text will be placed on the left of the line when this is set.

JUSTIFIED_RIGHT
     Text will be placed on the right of the line when this is set.

     Arrow types

ARROW_UP
     The up-arrow.

ARROW_DOWN
     The down-arrow.

ARROW_LEFT
     The left-arrow.

ARROW_RIGHT
     The right-arrow.

     Window styles (affects colors, etc.)

DIALOG1
     The standard dialog style.

DIALOG2
     Another dialog style -- for a bit more emphasis.

DIALOG3
     Another dialog style -- for even more emphasis.

ALERT
     For alerting the user about problems.

HELP
     The suggested style for help-windows, about boxes, etc.

PushButton Type Definitions
===========================

PB_NORMAL
     For standard PushButtons.

PB_DEFAULT
     Set this *only* for the button that you want to be hit by default
     (when the Return key is hit).

PB_CANCEL
     Set this *only* for the button that you want to be hit to abort
     (when the ESCape key is hit).

PRESSURE_TIME_LENGTH
     This value determines how many milliseconds an object will be
     displayed as depressed for when it's m_press() method is called.

EditZone Definitions
====================

EDITZONE_SCROLL_SPEED
     This defines the speed at which text scrolls in an EditZone.  The
     value is measured in milliseconds.  The actual area which is moved
     in this time depends on the operation.  For example, scrolling
     with the scroll arrows will move one line in the specified time,
     while scrolling by clicking the empty part of a scrollbar will
     scroll one page in the same time.

ScrollBar Definitions
=====================

     The following two values are actually defined as parts of the
     enumeration `TsbOrientation'.  They are used to specify whether
     the scrollbar is to be vertically or horizontally orientated.

SB_VERTICAL
SB_HORIZONTAL
SCROLLBAR_SCROLL_SPEED
     See EDITZONE_SCROLL_SPEED.  *Note EditZone Definitions::.

Gauge Definitions
=================

     The following two values are actually part of the `TStyle'
     enumeration.

GAUGE_PERCENTAGE_STYLE
     This specifies that the gauge will display it's value as a
     percentage of the total (ie, 10 percent instead of 1 out of 10).

GAUGE_OUT_OF_STYLE
     This specifies that the gauge will display it's value as a number
     of parts complete of of the total number of parts (ie, `1 out of
     10' instead of 10 percent).

List Definitions
================

LIST_SCROLL_SPEED
     See EDITZONE_SCROLL_SPEED.  *Note EditZone Definitions::.

TList Attribute Definitions
===========================

LI_NOATTR
     Specifies no attributes.

LI_DISABLED
     Specifies that the item is disabled.

LI_CHECKED
     Specifies that the item is checked.

LI_TOGGLE
     Specifies that the item can be checked, and should toggle (ie,
     that it should alternate between checked and unchecked each time
     it is selected).

TextZone Definitions
====================

TEXTZONE_SCROLL_SPEED
     See EDITZONE_SCROLL_SPEED.  *Note EditZone Definitions::.

MessageBox Definitions
======================

     The following three sets of definitions are ORed together to
     select your MessageBox type.

     Set 1 - Buttons

MB_OK
     A simple message, which the user can only read, and press OK.

MB_OKCANCEL
     A message box with two options -- OK and CANCEL.

MB_OKQUIT
     A message box with two options -- OK and QUIT.

MB_ABORTRETRYIGNORE
     The infamous ABORT/RETRY/IGNORE message.  It does look a lot
     friendlier with JPTUI, however...

MB_YESNOCANCEL
     A message box with three options -- YES, NO, and CANCEL.

MB_YESNO
     A message box with two options -- YES and NO.

MB_RETRYCANCEL
     A message box with two options -- RETRY and CANCEL.

     Set 2 - Icons

MB_NOICON
     Instructs the MessageBox function not to draw any icons.

MB_ICONSTOP
     Displays a `STOP' icon -- to warn the user to stop and pay
     attention to the message.

MB_ICONQUESTION
     Displays a `QUESTION' icon.

MB_ICONEXCLAMATION
     Displays a `EXCLAMATION' (!) icon.

MB_ICONINFORMATION
     Displays a `INFORMATION' icon.

     Set 3 - Default Buttons

MB_DEFBUTTON1
     Instructs the MessageBox function to treat the first button as the
     default response (selected when the user hits the Return key).

MB_DEFBUTTON2
     Instructs the MessageBox function to treat the second button as
     the default response (selected when the user hits the Return key).

MB_DEFBUTTON3
     Instructs the MessageBox function to treat the third button as the
     default response (selected when the user hits the Return key).

     MessageBox Return Values -- one of these values will be returned
     by the MessageBox function depending on which response the user
     selected.

OK_BUTTON
CANCEL_BUTTON
QUIT_BUTTON
ABORT_BUTTON
RETRY_BUTTON
IGNORE_BUTTON
YES_BUTTON
NO_BUTTON
Datatypes
*********

Structures
**********

Keyboard Structures
===================

`TKey'
    `int character'
          The key code. *Note Keycode Definitions::.

    `u_char hot_character'
          The character part of a hotkey code.  For example, for the
          sequence ALT-A, this would be A.  Similarly, for the a simple
          press of the A key, this value would still be a simple A.
          Effectively, it is the keypress with the qualifier-keys (ALT,
          CTRL, etc) filtered-off.

TList Structures
================

`TListItem'
    `char* label'
          The item's label.

    `int attribute'
          The item's attributes.  *Note TList Attribute Definitions::.

TMenu Structures
================

`TMenuItem'
    `char* label'
          The item's label.

    `int attribute'
          The item's attributes.  *Note TList Attribute Definitions::.

    `int short_cut'
          The keycode which should be used as a shortcut. *Note
          Shortcut Definitions::.

    `char* help_message'
          The help message to display on the status bar when the user
          highlights the menu option.  Note that this only applies to
          windows which were created with a status bar. *Note TWindow
          Instanciation::.

Global Variables
****************

   Technically, there are no global variables defined by JPTUI, but
there is one that you are required to define -- your application (ie,
an instance of the TApplication class).  The name of this object
doesn't matter (I suggest you use the name of your program), since
JPTUI allows you to access it using a macro, called JPApplication.  The
actual macro is...

     #define JPApplication        (TApplication::f_current_application)

   So, effectively, there is one global variable defined as...

     extern PApplication JPApplication;

Functions
*********

Application Macros
==================

     Application memory management

`JPOutOfMemoryExit ()'
     This is called to exit the application when memory runs out.

     Scheduling

`JPInit ()'
     Initialises everything needed for JPTUI's display.

`JPRun ()'
     Starts event processing.  Call this when your application is ready
     to start taking user input.

`JPRunDialog ()'
     Start's event processing for a dialog box.

`JPStop ()'
     Stops event processing.  Call this to disable JPTUI when you want
     to quit your application.

     Display refreshing

`JPRefresh ()'
     Refreshes the part of the screen that has changed since the last
     refresh.  The refresh is synchronized with the video beam retrace.

`JPRefreshAll ()'
     Refreshes the whole screen.  The refresh is synchronized with the
     video beam retrace.

     Clipboard

`JPGetClipboard ()'
     Returns the clipboard contents (a string (`char*')).

`JPSetClipboard (text)'
     Sets the clipboard contents to `text'.

     Enabling and disabling Callbacks

`JPEnableCallbacks ()'
     Enables all callback processing.

`JPDisableCallbacks ()'
     Disables all callback processing.

`JPCallbacksEnabled ()'
     Returns a boolean value which indicates if callbacks are currently
     enabled.

     Setting Callbacks

`JPSetNoEventCallback (no_event_action,no_event_argument)'
     Sets the callback to use when no events occur.  the
     `no_event_argument', a char*, can be used to provide an argument
     to your callback.

`JPSetClipboardChangedCallback (clipboard_changed_action,clipboard_changed_argument)'
     Sets the function to call when the clipboard contents change.
     Again, as with all callback setting functions, a `char*' argument
     can be supplied -- with `clipboard_changed_argument'.

MIN and MAX Macros
==================

`MIN(a,b)'
     Works out which of `a' and `b' is greater in value, and returns it.

`MAX(a,b)'
     Works out which of `a' and `b' is lesser in value, and returns it.

Cursor Functions
================

     Style

`void SetTextCursorStyle (int cursor_style)'
     Changes the cursor style to `cursor_style', *Note Cursor
     Definitions::.

`int GetTextCursorStyle ()'
     Returns the current cursor style, *Note Cursor Definitions::.

     Visibility

`void HideTextCursor ()'
     Makes the cursor invisible.

`void ShowTextCursor ()'
     Makes the cursor visible.

     Position

`void SetTextCursorAt (int x,int y)'
     Moves the cursor to position `x,y'.

`void SetTextCursorAt (int x,int y,int cursor_style)'
     Moves the cursor to position `x,y', changing the cursor style at
     the same time. *Note Cursor Definitions::.

     Information

`boolean TextCursorIsVisible ()'
     Returns a boolean value, which indicates whether the cursor is
     currently visible.

`int GetXTextCursor ()'
     Returns the current `x' position of the cursor.

`int GetYTextCursor ()'
     Returns the current `y' position of the cursor.

Debug Macros
============

     The following macros behave differently whether you use the debug
     version of JPTUI or the release one.

`NO_DEBUG (instruction)'
          - in debug version   : doesn't do anything,
          - in release version : execute `instruction'.

`DEBUG (instruction)'
          - in debug version   : execute `instruction'.
          - in release version : doesn't do anything.

`DEBUG_STOP ()'
          - in debug version   :
          - in release version : doesn't do anything.

`DEBUG_TEST ()'
          - in debug version   :
          - in release version : doesn't do anything.

`DEBUG_SHOW_MEMORY ()'
          - in debug version   : after calling this macro, available
          			 memory is regularly displayed
          			 using `DEBUG_DISPLAY_MEMORY',
          - in release version : doesn't do anything.

`DEBUG_HIDE_MEMORY ()'
          - in debug version   : stops displaying available memory
          			 (after calling `DEBUG_SHOW_MEMORY',
          - in release version : doesn't do anything.

`DEBUG_DISPLAY_MEMORY ()'
          - in debug version   : displays the available memory (physical
          			 and virtual) at the top of the screen,
          - in release version : doesn't do anything.

Error Functions
===============

`void AbortProgram ()'
     Aborts the program without displaying any message.

`void FatalError (char *message)'
     Aborts the application, printing `message'.

     Text mode messages (these will close the application's screen if
     necessary).

`void TextError (char *message)'
     Displays the error `message'.

File Functions
==============

`boolean FileExists (char *file_name)'
     Returns a boolean value which indicates whether `file_name' exists.

`boolean DriveExists (int drive)'
     Returns a boolean value which indicated whether `drive'
     (0="A:",1="B:"...) exists.

`char * GetCurrentDir ()'
     Returns the current directory (including the drive specifier), or
     "" if an error occurs.

`void FullPath (char *full_path,char *path)'
     Converts a path to its full name (making it absolute if it is
     relative, adding drive specifier if needed, collapsing '..'
     components, converting all slashes to '\'...).  Stores the result
     in the buffer pointed to by `full_path'.

     `full_path' must be MAX_PATH bytes length (including /0), *Note
     File Definitions::.  If `path' ends with a slash, `full_path' too.
     If a drive is specified in `path', this drive must exist.

Keyboard Functions
==================

`void ResetKeyboard ()'
     Clears the keyboard buffer.

`void GetKey (TKey& key)'
     Reads the keyboard buffer, and stores the last key pressed into
     `key'.

`boolean IsPrintableKey (TKey key)'
     Returns a boolean which indicates whether `key' is a printable key
     (ascii character).

`boolean IsExtendedKey (TKey key)'
     Returns a boolean which indicates whether `key' is an extended key.

`boolean IsAltKey (TKey key)'
     Returns a boolean which indicates whether `key' is an ALT-? key.

`TKey GetNullKey ()'
     Returns the current Null Key.  Null Keys are defined as the
     qualifier keys (, alt, ctrl, etc.), without any "normal" key such
     as numbers, letters, and function keys.

`boolean IsNullKey (TKey key)'
     Returns a boolean which indicates whether `key' is a Null key.

`void WaitKeyRelease ()'
     This function will wait until no key is pressed.

`TKey WaitLeftClickOrKeyPressed ()'
     This function will wait until a key has been pressed, or the left
     mouse button has been pressed, and then return the keycode for it.

Mouse Functions
===============

`boolean InitMouse ()'
     Attempts to initialize the mouse handler, and returns a boolean
     value indicating success or failure.

`void CloseMouse ()'
     Disables the mouse handling code that was previously enabled by
     `InitMouse()'.

`void ShowMouse ()'
     Makes the mouse pointer visible.

`void Mouse ()'
     Makes the mouse pointer invisible.

`void GetMouseState (int &x,int &y,int &button_state)'
     Reads the current mouse position and button states, and stores
     them in the supplied buffers `x', `y', and `button_state'.

`void SetMousePointer (TMousePointer pointer)'
     Changes the mouse pointer type to `pointer'.  *Note Mouse
     Definitions::.

`TMousePointer getMousePointer ()'
     Returns the current mouse pointer.  *Note Mouse Definitions::.

`void GraphicalMousePointer (boolean graphical)'
     Allows to choose between a graphical mouse pointer and a textual
     one.

`void WaitMouseLeftButtonRelease ()'
     Waits for the left button of the mouse to be released

Video beam Functions
====================

`void WaitRetrace ()'
     Waits until the video beam enters retrace mode.  Sometimes, when
     redrawing the display, the video beam will be redrawing the same
     part on the monitor, and the changes will produce noticeable
     glitches in the image.  Using video beam syncronisation however,
     you can be sure that the video beam is in retrace mode (ie, is
     preparing to redraw the display again), and isn't drawing the
     display while you change it.

Character set Functions
=======================

`void GetSetCharDefinition (boolean set,int nb_chars,char first_char,char *char_definition)'
     When `set' is TRUE, this function changes `nb_char' characters in
     the character set, starting at `first', to the new values in the
     array `char_definition'.  When `set' is FALSE, the current
     character values will be copied into your supplied
     `char_definition' buffer instead.

Character set Macros
====================

`DefineChars (nb_chars,first_char,char_definition)'
     Defines character settings, as if by
     `GetSetCharDefinition(TRUE,nb_chars,first_char,char_definition)'.

`GetCharDefinition (nb_chars,first_char,char_definition)'
     Retrieves current character settings, as if by
     `GetSetCharDefinition(FALSE,nb_chars,first_char,char_definition)'.

Screen Functions
================

`void SetTextMode (TTextMode text_mode)'
     Sets the text mode of the screen to `text_mode' (*Note Screen
     Definitions::).  Only use this function for text modes JPTUI is
     able to set (not TEXTMODE_USER).  For any other text mode, call
     `SetUserTextMode'.

`void SetUserTextMode (void (*set_mode_function)())'
     Sets the text mode of the screen to any text mode.
     `set_mode_function' is a pointer to a function that sets this mode.

`TTextMode GetTextMode ()'
     Returns the current text mode. *Note Screen Definitions::.

`int GetScreenHeight ()'
     Returns the current height of the screen in characters.

`int GetScreenWidth ()'
     Returns the current width of the screen in characters.

`int GetFontHeight ()'
     Returns the height of the current font in pixels.

`int GetFontWidth ()'
     Returns the width of the current font in pixels.

`void InitScreen ()'
     Initializes the screen for JPTUI.  This includes setting up the
     mouse and it's pointer, the text cursor, and video mode.

`void CloseScreen ()'
     This function closes the JPTUI screen, restoring all original
     video settings.  It should be only used after you are finished
     with JPTUI functions.

`boolean ScreenInitialized ()'
     Returns a boolean value, which indicates whether the JPTUI screen
     has been initialized (by a call to `InitScreen()'.

`void HideScreen ()'
     Temporarily disables the JPTUI screen.  This is useful if you want
     to run a DOS program or shell, and also if you want to take over
     the display, for example to display graphics.

`void UnhideScreen ()'
     Redisplays the JPTUI screen after a call to `HideScreen()'.  This
     function will take care of all necessary setup, including
     re-establishment of the correct video mode.

`void ClearScreen (char attribute, char character)'
     Clears the entire video screen, using `character' and `attribute'
     for the fill character.

`void ClearPartOfScreen (int x1,int y1,int x2,int y2,char attribute,char character)'
     Clears a rectangular area of the screen, from (`x1',`y1') to
     (`x2',`y2') using `character' and `attribute'.

`void PartOfBufferToScreen (int x,int y,word *buffer,int x1_part,int y1_part,int part_width,int part_height,int buffer_width)'
     Copies a rectangular area of size `part_width' by `part_height',
     starting at (`x1_part',`y1_part') in `buffer' to the screen at
     (`x', `y').  You must supply the width of the buffer in the
     argument `buffer_width'.

Window Functions
================

`boolean JPMakeNextWindowActive ()'
     Makes the next window (relative to the currently-selected window)
     active.  Returns a boolean value which indicates success or
     failure.

Shadow Functions
================

`void HorizontalShadow (int x1,int x2,int y)'
     Draws a horizontal shadow from (`x1',`y') to (`x2',`y').

`void VerticalShadow (int x,int y1,int y2)'
     Draws a vertical shadow from (`x',`y1') to (`x',`y2').

Sound Functions
===============

`void PlaySound (int sound_type)'
     Plays a sound, which is selected with the argument `sound_type'.
     *Note Sound Definitions::.

Conversion Functions
====================

`char EndOfString (char *string)'
     Returns the last char of `string' (or 0 if string is "").

`int HexaToInt (char hexa_digit)'
     Converts the hexadecimal (base-16) character `hexa_digit' to an
     integer.

`boolean StringToLong (char *string,long &value)'
     Converts `string' to a long integer, and stores it in the buffer
     `value'.  Returns a boolean which indicates if the conversion
     succeeded.

`boolean StringToDouble (char *string,double &value)'
     Converts `string' to a double, and stores it in the buffer
     `value'.  Returns a boolean which indicates if the conversion
     succeeded.

`void LongToString (long value,char *string)'
     Converts the long `value' to a string, and places it into the
     buffer `string'.

`void DoubleToString (double value,char *string)'
     Converts the double `value' to a string, and places it into the
     buffer `string'.

Caption Functions
=================

`char HotKey (char *caption)'
     Returns the Hotkey character specified in the string `caption'.

`int DisplayLength (char *caption)'
     Returns the length of the string `caption', after allowing for
     special non-printing characters, such as the hotkey code.

Text Functions
==============

`int GetTextHeight (char *text)'
     Returns the number of lines required for `text'.

`int GetTextWidth (char *text)'
     Returns the number of columns required for `text'.

Dialog Functions
================

`void InputBox (char *title,char *message,int window_style,char *default_string,int max_length,char *return_string)'
     Opens a window which the user can enter a string into.  The window
     uses the style `window_style', the title `title', and displays the
     prompt `message'.  Initially, the string will be set to whatever
     you specify with `default_string', and the user can either use
     your suggested default, or change the string to any text up to
     `max_length - 1' characters in length.  The choosen string ("" is
     the user presses the cancel button) will be stored in the buffer
     `return_string'.

`int MessageBox (char *title,char *message,int window_style,int type=MB_OK)'
     Displays a message box, of the type specified by the `type'
     argument *Note MessageBox Definitions::.  The window will have the
     title `title', and the message `message', and use the window style
     `window_style'.

`char * FileSelectionBox (char *title,char *mask,char *ok_button_caption="",char *cancel_button_caption="")'
     Opens a window in which the user can choose a file. The window
     title is `title' and the default file mask is `mask'.  The
     captions of the ok and cancel buttons can also be specified in
     `ok_button_caption' and `cancel_button_caption', otherwise default
     strings are used.  The string returned by this fonction is the
     full name of the chosen file ("" if the user have pressed the
     cancel button).

Vocabulary Functions
====================

     In order to support several languages, JPTUI needs vocabulary
     files.  Theses files are data files (*Note Data file Functions::)
     whose name are :
          - JPVOCAB.xxx for the interface vocabulary,
          - VOCAB.xxx for the application vocabulary.

     xxx can currently be one of the following extensions :
          - ENG (English vocabulary)
          - FRE (French vocabulary)
          - GER (German vocabulary)

     VOCAB.xxx files provided with JPTUI (in the JPTUI.DAT exedat
     archive) are empty. If you want your application to support
     several languages, you have to change them.

     For example, VOCAB.xxx could be :
          ; English vocabulary
          ; Each line is of form : string_number,"string"
          ; where string_number>=1000
          
          1000,"String number 1000"
          1001,"String number 1001"

`TLanguage GetLanguage ()'
     Returns the current language.  *Note Language Definitions::.

`boolean LoadVocabulary (TLanguage language)'
     Loads vocabulary files which are specific to language `language'
     (*Note Language Definitions::) :
          - JPVOCAB.xxx
          - VOCAB.xxx

     Returns FALSE if the chosen vocabulary can't be loaded.

`void FreeVocabulary ()'
     Removes vocabulary from memory.

`char * GetString (int string_number)'
     Returns the string whose number is `string_number' in the current
     language.

Data file Functions
===================

     Data files of applications written with JPTUI can be located :
          - in the executable directory,
          - in an exedat archive file (JPTUI.DAT) in the executable directory,
          - in an exedat archive linked to the executable file.

     JPTUI.DAT provided with JPTUI contains several files which are
     necessary to the library (fonts, mouse pointers...). In
     particular, it contains some vocabulary files (*Note Vocabulary
     Functions::) you have to change in order to support several
     languages.

     JPTUI only supports the following compression methods of exedat
     (*Note Credits::) :
          - 0 : compr_none ; no compression,
          - 1 : compr_lzss ; lzss compression, for fast decoding.

`void LoadDataFile (char *file_name,char *(&buffer),long &length)'
     Allocates a buffer and loads the data file `file_name' into this
     buffer.  This buffer must be freed by delete [].

     If the file `file_name' can be found in the executable directory,
     this file is loaded even if it is also located in JPTUI.DAT or an
     exedat archive linked to the executable file.  If this file cannot
     be found in the executable directory but is archived in JPTUI.DAT,
     the file in JPTUI.DAT is loaded even an exedat archive containing
     the same file is linked to the executable file.

     Returns a pointer to the buffer (in `buffer') or NULL if an error
     occurs (no data file or incorrect data file).  Returns the length
     of the buffer (in `length').

     File_name must be at most 12 characters length

`void GetInvalidDataFileMessage()'
     Returns the message 'Data file is invalid or missing' in the
     current language, even if vocabulary data files haven't been
     loaded into memory (*Note Vocabulary Functions::).

Classes
*******

TApplication
============

TApplication Description
------------------------

     This class manages your application, keeping track of which
     Windows are open, and similar global-management functions.

TApplication Base Classes
-------------------------

     None.

TApplication Derived Classes
----------------------------

     None.

TApplication Enumerations
-------------------------

     None.

TApplication Data
-----------------

     None.

TApplication Instanciation
--------------------------

`TApplication (TLanguage language)'
     Instanciates a TApplication object.  This method should only be
     called once, implicitly, by a single global definition of a
     TApplication object, before any use of the multi-language support.
     *Note Vocabulary Functions::.  It loads into memory the vocabulary
     indicated by `language'.  *Note Language Definitions::.

TApplication Static Methods
---------------------------

`void m_new_handler ()'
     This method is called to handle errors which occur during memory
     allocation via the `new' operator.  You normally wouldn't want to
     call this method directly.  You may use `JPOutOfMemoryExit()'
     instead (*Note Application Macros::).

`PApplication m_get_current_application ()'
     Returns a pointer to the application which currently has control.
     You may use `JPApplication' instead (*Note Application Macros::).

TApplication Access Methods
---------------------------

`char* m_get_clipboard ()'
     Returns a string (`char*'), which reflects the current clipboard
     contents.  You may use `JPGetClipboard' instead (*Note Application
     Macros::).

`void m_set_clipboard (char* text)'
     Changes the clipboard contents to `text'.  You may use
     `JPSetClipboard' instead (*Note Application Macros::).

TApplication Callbacks
----------------------

`void m_enable_callbacks ()'
     Enables callback processing for the entire application.  You may
     use `JPEnableCallbacks' instead (*Note Application Macros::).

`void m_disable_callbacks ()'
     Disables callback processing for the entire application.  You may
     use `JPDisableCallbacks' instead (*Note Application Macros::).

`boolean m_callbacks_enabled ()'
     Returns a boolean value which indicates whether callback
     processing is currently enabled (TRUE), or disabled (FALSE).  You
     may use `JPCallbacksEnabled' instead (*Note Application Macros::).

`void m_set_no_event_callback (void *no_event_action)(char *)'
     ) Sets the no_event_callback to `no_event_action'.  When a key is
     pressed, and the application has not defined any special use for
     this key (such as a menu shortcut, or button hotkey), then it will
     not be processed by JPTUI, and is catagorised as a non-event.
     When this happens, the `no_event_callback' is invoked, with the
     first argument pointing to the event.  The second argument that
     your callback receives is a copy of the string passed for
     `no_event_argument'.  You may use `JPSetNoEventCallback' instead
     (*Note Application Macros::).

`void m_set_clipboard_changed_callback (void (*clipboard_changed_action)(char *), char *clipboard_changed_argument)'
     This method sets the function to be invoked when the clipboard
     contents change.  See `m_set_no_event_callback', which has a very
     similar .  You may use `JPSetClipboardChangedCallback' instead
     (*Note Application Macros::).

TApplication Special
--------------------

`void m_init ()'
     Initializes the application.  You should call this method before
     any other use of the application or it's components (ie, windows,
     menus, etc.).  You may use `JPInit()' instead (*Note Application
     Macros::).

`void m_run ()'
     Runs the application.  After you have setup the application and
     all of it's components, you should call this method to actually
     start the interface, and allow the user to interact with your
     application.  You may use `JPRun()' instead (*Note Application
     Macros::).

`void m_stop ()'
     Stops the application.  Call this method when you want to
     terminate your application.  You may use `JPStop()' instead (*Note
     Application Macros::).

`void m_run_dialog ()'
     This method handles user interaction for a single dialog.  You may
     use `JPRunDialog()' instead (*Note Application Macros::).

`void m_refresh ()'
     Refreshes the part of the screen that has changed since the last
     refresh.  The refresh is synchronized with the video beam retrace.
     You may use `JPRefresh()' instead (*Note Application Macros::).

`void m_refresh_all ()'
     Refreshes the whole screen.  The refresh is synchronized with the
     video beam retrace.  You may use `JPRefreshAll()' instead (*Note
     Application Macros::).

`boolean m_make_next_window_active ()'
     Makes the next window (relatively to the currently-selected
     window) active.  Returns a boolean value which indicates success
     or failure.  You may use `JPMakeNextWindowActive' instead (*Note
     Application Macros::).

TApplication Notes
------------------

TCheckBox
=========

TCheckBox Description
---------------------

     The TCheckBox class provides a type of button which can be toggled
     to allow the user to select and deselect options.

TCheckBox Base Classes
----------------------

     *Note TObject::.

TCheckBox Derived Classes
-------------------------

     ???

TCheckBox Enumerations
----------------------

TCheckBox Data
--------------

TCheckBox Instanciation
-----------------------

`TCheckBox (PObject parent,int rel_x,int rel_y,int width,char *caption,boolean checked=FALSE,boolean enabled=TRUE)'
     Creates a new object of this class.  The arguments from `parent' to
     `caption' and also `enabled' are directly-related to the same
     arguments in the constructor for it's base class, TObject. *Note
     TObject Instanciation::.  The other argument, `checked', simply
     specifies the initial state of the checkbox, TRUE for selected,
     FALSE for not selected.

TCheckBox Static Methods
------------------------

TCheckBox Access Methods
------------------------

`boolean m_is_checked ()'
     Returns a boolean value which indicates the current state of the
     checkbox.

TCheckBox Callbacks
-------------------

`void m_set_checked_callback (void (*checked_action)(PObject,char *),char *checked_argument)'
     Sets the function to be called when the object is checked to
     `checked_action'.  It is called with the first argument pointing
     to the object.  The second argument will be a copy of whatever
     string you specify for `checked_argument'.

`void m_set_unchecked_callback (void (*unchecked_action)(PObject,char *),char *unchecked_argument)'
     Sets the function to be called when the object is unchecked to
     `unchecked_action'.  It is called with the first argument pointing
     to the object.  The second argument will be whatever string you
     specify for `unchecked_argument'.

TCheckBox Special
-----------------

`void m_check ()'
     Marks the checkbox as checked (selected).

`void m_uncheck ()'
     Marks the checkbox as unchecked (not selected).

TCheckBox Notes
---------------

TComboBox
=========

TComboBox Description
---------------------

     The TComboBox class provides popup-lists.  When pressed, a menu of
     available options will appear.

TComboBox Base Classes
----------------------

     *Note TEditZone::.

TComboBox Derived Classes
-------------------------

     None.

TComboBox Enumerations
----------------------

TComboBox Data
--------------

TComboBox Instanciation
-----------------------

`TComboBox (PObject parent,int rel_x,int rel_y,int xoffset_caption,int yoffset_caption,char *caption,int display_length,int max_length,char *string,int list_height,TListItem items[],boolean string_must_be_in_list,boolean sorted=FALSE,boolean enabled=TRUE)'
     Constructs a new TComboBox object.  Arguments are as follows...

    `PObject parent'
          Specifies the parent object to which the TComboBox should be
          attached.

    `int rel_x'
          The `x' position of the TComboBox, relative to the parent's
          position.

    `int rel_y'
          The `y' position of the TComboBox, relative to the parent's
          position.

    `int xoffset_caption'
          The `x' position of the caption, relative to the TComboBox's
          position.

    `int yoffset_caption'
          The `y' position of the caption, relative to the TComboBox's
          position.

    `char *caption'
          The caption text (ie, the label) for the object. *Note
          TObject Instanciation::.

    `int display_length'
          The width of the object.

    `int max_length'
          The maximum number of characters that the string can contain.

    `char *string'
          The initial text that the TComboBox should contain.

    `int list_height'
          The height of the popup list.

    `TListItem items[]'
          An array specifying the initial items that the list should
          contain.  *Note TList Structures::.

    `boolean string_must_be_in_list'
          Specifies whether a string can be chosen by the user (FALSE),
          or if it must be selected from the list (TRUE).  *Note
          Boolean Definitions::.

    `boolean sorted=FALSE'
          Specifies whether the list should be sorted (TRUE), or
          unsorted (FALSE).  *Note Boolean Definitions::.

    `boolean enabled=TRUE'
          Specifies whether the object should initially be enabled
          (TRUE) or disabled (FALSE).  *Note Boolean Definitions::.

TComboBox Static Methods
------------------------

TComboBox Access Methods
------------------------

`void m_enable ()'
     Enables the TComboBox.

`void m_disable ()'
     Disables the TComboBox.

`void m_enable_modification ()'
     Allows the user to modify the TComboBox's contents.

`void m_disable_modification ()'
     Prevents the user from modifying the TComboBox's contents.

`void m_set_string (char* string)'
     Sets the contents of the TComboBox to `string'.

`void m_set_string_from_list_item (int item_index)'
     Sets the TComboBox's string to the string at index `item_index'
     within the list of available options.

`PSimpleList m_get_list ()'
     Returns the list of the TComboBox.

TComboBox Callbacks
-------------------

`void m_set_string_validated_callback (void (*string_validated_action)(PObject,char *),char *string_validated_argument)'
     Sets `string_validated_action' as the function to call when the
     string of the TComboBox is validated.  The function is called with
     the first argument pointing to the object involved (ie, the
     TComboBox whose string was validated).  The second argument will
     be a copy of the string passed as `selected_item_changed_argument'.

TComboBox Special
-----------------

`void m_delete_item (int item_index)'
     Deletes the item at position `index' within the TComboBox's list.

`void m_clear_list ()'
     Deletes all items in the TComboBox's list.

`int m_add_item (char *label,int attribute=LI_NOATTR)'
     Adds the string `label' to the list, giving it the attributes
     `attribute'.  Returns the new item's index within the list.

`int m_add_items (TListItem items[])'
     Adds `items' to the list, returning the number of items
     successfully added.

TComboBox Notes
---------------

TDecimalEditZone
================

TDecimalEditZone Description
----------------------------

     This class is closely-related to the TEditZone class, except that
     it provides for decimal value entry instead of text entry.

TDecimalEditZone Base Classes
-----------------------------

     *Note TEditZone::.

TDecimalEditZone Derived Classes
--------------------------------

     ???

TDecimalEditZone Enumerations
-----------------------------

TDecimalEditZone Data
---------------------

TDecimalEditZone Instanciation
------------------------------

`TDecimalEditZone (PObject parent,int rel_x,int rel_y,int xoffset_caption,int yoffset_caption,char *caption,int display_length,int max_length,double min_value=-MAXDOUBLE,double max_value=MAXDOUBLE,char *string="0",boolean enabled=TRUE)'
     Most of these arguments are directly related to the arguments for
     the TEditZone constructor, or the TObject constructor, so only the
     unique arguments are detailed here.  *Note TEditZone
     Instanciation::, *Note TObject Instanciation::.

    `min_value'
          The minimum number that the user can enter.  If the user
          tries to enter a number lower than this, then it will be
          changed to `min_value'.

    `max_value'
          The maximum number that the user can enter.  If the user
          tries to enter a number higher than this, then it will be
          changed to `max_value'.

TDecimalEditZone Static Methods
-------------------------------

TDecimalEditZone Access Methods
-------------------------------

`void m_set_min_max_values (double min_value, double max_value)'
     Changes the minimum and maximum values that the user can enter.
     *Note TDecimalEditZone Instanciation::.

`double m_get_min_value ()'
     Returns the minimum value that the user can enter. *Note
     TDecimalEditZone Instanciation::.

`double m_get_max_value ()'
     Returns the maximum value that the user can enter. *Note
     TDecimalEditZone Instanciation::.

TDecimalEditZone Callbacks
--------------------------

TDecimalEditZone Special
------------------------

TDecimalEditZone Notes
----------------------

TEditZone
=========

TEditZone Description
---------------------

     The TEditZone class provides your application with string-editing
     facilities, so that the user can enter their name, passwords,
     filenames, etc.

TEditZone Base Classes
----------------------

     *Note TObject::.

TEditZone Derived Classes
-------------------------

     ???

TEditZone Enumerations
----------------------

TEditZone Data
--------------

TEditZone Instanciation
-----------------------

`TEditZone (PObject parent,int rel_x,int rel_y,int xoffset_caption,int yoffset_caption,char *caption,int display_length,int max_length,char *string="",boolean enabled=TRUE)'
     A lot of arguments here are directly-related to the arguments for
     the base class TObject.  Only the specialized arguments are
     discussed here.  *Note TObject Instanciation::.

    `xoffset_caption'
          The `x' coordinate where the caption text is to be placed,
          relative to the `x' position of the actual EditZone.

    `yoffset_caption'
          The `y' coordinate where the caption text is to be placed,
          relative to the `y' position of the actual EditZone.

    `display_length'
          The width of the editzone on the display.

    `max_length'
          The maximum length of the string which can be entered by the
          user.

    `string'
          The string buffer.

TEditZone Static Methods
------------------------

TEditZone Access Methods
------------------------

TEditZone Callbacks
-------------------

`void m_set_string_changed_callback (void (*string_changed_action)(PObject,char *),char *string_changed_argument)'
     Sets the function to be called when the string in the editzone is
     changed to `string_changed_action'.  The first argument passed to
     the function will be a pointer to the object, while the second
     will be a copy of whatever string is given for
     `string_changed_argument'.

TEditZone Special
-----------------

`void m_set_cursor_at (int char_nb)'
     Moves the cursor to the character at index `char_nb' within the
     string.

`void m_enable_modification ()'
     Enables the modification of the string which is in the editzone.

`void m_disable_modification ()'
     Disables the modification of the string which is in the editzone.

`void m_enable_string_checking ()'
     Enables the checking of the string which is in the editzone. Then
     you can be sure that the contents of the editzone are always
     valid, except maybe when this zone has the focus.

`void m_disable_string_checking ()'
     Disables the checking of the string which is in the editzone. Then
     the contents of the editzone can be invalid.

`void m_select_zone (int pos1, int pos2)'
     Selects the text from `string'[`pos1'] to `string'[`pos2'].

`void m_select_all ()'
     Selects all the text.

`void m_unselect ()'
     Unselects any text selected by the method `m_select_zone'.

`void m_clear_selection ()'
     Clears all currently selected text.

`void m_set_string (char* new_string)'
     Changes the text in the editzone to `new_string'.

`char* m_get_string ()'
     Returns a pointer to the current string being edited.

`int m_get_string_length ()'
     Returns the length of the string which is in the editzone.

`boolean m_string_valid (char *string)'
     Returns a boolean value which indicates if `string' is a valid
     string for the editzone.

TEditZone Notes
---------------

     TEditZones have the following special keys...

    `ALT+Backspace'
          Will undo any changes you have made to the text, restoring
          the original contents.  If the original contents are not
          valid, then default values will be used. Can be called
          several times to switch between the current contents are the
          original ones.

TIntegerEditZone
================

TIntegerEditZone Description
----------------------------

     This class is closely-related to the TEditZone class, except that
     it provides for entry of integers instead of text entry.

TIntegerEditZone Base Classes
-----------------------------

     *Note TEditZone::.

TIntegerEditZone Derived Classes
--------------------------------

     ???

TIntegerEditZone Enumerations
-----------------------------

TIntegerEditZone Data
---------------------

TIntegerEditZone Instanciation
------------------------------

`TIntegerEditZone (PObject parent,int rel_x,int rel_y,int xoffset_caption,int yoffset_caption,char *caption,int display_length,int max_length,long min_value=-MAXLONG-1,long max_value=MAXLONG,char *string="0",boolean enabled=TRUE)'
     Most of these arguments are directly related to the arguments for
     the TEditZone constructor, or the TObject constructor, so only the
     unique arguments are detailed here.  *Note TEditZone
     Instanciation::, *Note TObject Instanciation::.

    `min_value'
          The minimum number that the user can enter.  If the user
          tries to enter a number lower than this, then it will be
          changed to `min_value'.

    `max_value'
          The maximum number that the user can enter.  If the user
          tries to enter a number higher than this, then it will be
          changed to `max_value'.

TIntegerEditZone Static Methods
-------------------------------

TIntegerEditZone Access Methods
-------------------------------

`void m_set_min_max_values (long min_value, long max_value)'
     Changes the minimum and maximum values that the user can enter.
     *Note TIntegerEditZone Instanciation::.

`long m_get_min_value ()'
     Returns the minimum value that the user can enter. *Note
     TIntegerEditZone Instanciation::.

`long m_get_max_value ()'
     Returns the maximum value that the user can enter. *Note
     TIntegerEditZone Instanciation::.

TIntegerEditZone Callbacks
--------------------------

TIntegerEditZone Special
------------------------

TIntegerEditZone Notes
----------------------

TFrame
======

TFrame Description
------------------

     This provides an easy way to create frames, and to attach other
     objects as components of the frame.  The actual frame itself is
     very similar to the results of the `m_draw_frame' method in the
     TWindow class.  *Note TWindow Special::.

TFrame Base Classes
-------------------

     *Note TGroup::.

TFrame Derived Classes
----------------------

     ???

TFrame Enumerations
-------------------

TFrame Data
-----------

TFrame Instanciation
--------------------

`TFrame (PObject parent,int rel_x,int rel_y,int width,int height,char *caption="",boolean enabled=TRUE)'
     Creates a new TFrame object.  All arguments are directly-related
     to the arguments for the TObject base class. *Note TObject
     Instanciation::.

TFrame Static Methods
---------------------

TFrame Access Methods
---------------------

TFrame Callbacks
----------------

TFrame Special
--------------

TFrame Notes
------------

TGroup
======

TGroup Description
------------------

     This class is used to manage groups of mutually exclusive objects.
     Mutually exclusive groups are groups of objects of which only one
     can be selected at a time (Radio buttons and Tab groups are good
     examples).

TGroup Base Classes
-------------------

     *Note TObject::.

TGroup Derived Classes
----------------------

     ???

TGroup Enumerations
-------------------

TGroup Data
-----------

TGroup Instanciation
--------------------

`TGroup (PObject parent,int type,int rel_x,int rel_y,int width,int height,unsigned background,char *caption,boolean enabled,boolean focus_depending_aspect,boolean can_be_enabled,boolean need_focused_element)'
     Creates a new object of this class.  All arguments from `parent' to
     `can_be_enabled' are directly related to the TObject class's
     arguments, so the refer to it's Instanciation methods for details
     on them.  Other arguments are as follows...
    `boolean need_focused_element'
          Specifies whether it is nessecary for a child object to be
          selected at all times (TRUE), or whether it is possible for
          no objects to be selected (FALSE).

TGroup Static Methods
---------------------

TGroup Access Methods
---------------------

`PObject m_get_focused_element ()'
     Returns the currently-selected element (child object).  Or NULL if
     none is selected, if no selectable child objects exist, or simply
     if no child objects exist at all.  *Note TGroup Instanciation::.

TGroup Callbacks
----------------

TGroup Special
--------------

`PObject m_get_focused_object ()'
     Returns a pointer to whichever object in the group currently has
     the focus.

TGroup Notes
------------

TLabel
======

TLabel Description
------------------

     This class provides labels for other objects, for example to
     display their names, and indicate any hotkeys they might have.

TLabel Base Classes
-------------------

     *Note TObject::.

TLabel Derived Classes
----------------------

     ???

TLabel Enumerations
-------------------

TLabel Data
-----------

TLabel Instanciation
--------------------

`TLabel (PObject parent,int rel_x,int rel_y,char* text)'
`TLabel (PObject parent,int rel_x,int rel_y,int width,int height,char* text)'
     Creates a new TLabel object.  `text' is the caption text to use in
     the label, and all other arguments are directly-related to the
     arguments for the base class's (TObject's) constructor.  *Note
     TObject Instanciation::.  Creates a new TLabel object.  `text' is
     the caption text to use in the label, and all other arguments are
     directly-related to the arguments for the base class's (TObject's)
     constructor.  *Note TObject Instanciation::.  Note that there are
     two constructors, one of which allows you to omit the width and
     height arguments -- if you do so, the width and height will be
     best-guessed based on the information available.

TLabel Static Methods
---------------------

TLabel Access Methods
---------------------

`void m_set_text (char* text)'
     Changes the label's caption text to `text'.

TLabel Callbacks
----------------

TLabel Special
--------------

TLabel Notes
------------

TList
=====

   Note: This class is not intended for public use, but rather as a
base class for publically available classes.  It is only documented
here for completeness.

TList Description
-----------------

     The TList class provides a way to display multiple lines of text
     (for example, names).  There are various ways that these lists can
     be used, including...

    *Single-choice.  On item can be selected from the list.
    *Multiple-choice.  Each item can be individually checked and unchecked.
    *Read-only.  You can simply use the list to display some scrollable text.
     Note: This class is not intended for public use, but rather as a
     base class for publically available classes.  It is only
     documented here for completeness.

TList Base Classes
------------------

     *Note TObject::.

TList Derived Classes
---------------------

TList Enumerations
------------------

TList Data
----------

TList Instanciation
-------------------

`TList (PObject parent,int type,int rel_x,int rel_y,int width,int height,unsigned background,char *caption,int list_rel_x,int list_rel_y,int list_width,int list_height,boolean sorted,int allowed_item_attribute,boolean always_one_item_selected,boolean item_hot_key_enabled,boolean scrollbar,int scrollbar_x,int scrollbar_y,int scrollbar_height,boolean enabled)'
     Constructs a new TList object.  Arguments are as follows...

    `PObject parent'
          The parent object that the new TList should be attached to.

    `int type'
          Specifies the type of object that will be listed. *Note
          Object Type Definitions::.

    `int rel_x'
          The `x' position, relative to the `parent'.

    `int rel_y'
          The `y' position, relative to the `parent'.

    `int width'
          The width of the TList.

    `int height'
          The height of the TList.

    `unsigned background'
          The background attributes. *Note TWindow::.

    `char *caption'
          The caption to use. *Note TObject Instanciation::.

    `int list_rel_x'
          Specifies the `x' position of the actual list inside the
          TList's area.  (The actual list area is the TList's area
          excluding the area for scrollbars, etc.) This value is
          relative to the position of the TList.

    `int list_rel_y'
          Specifies the `y' position of the actual list inside the
          TList's area.  (The actual list area is the TList's area
          excluding the area for scrollbars, etc.) This value is
          relative to the position of the TList.

    `int list_width'
          Specifies the width of the actual list inside the TList's
          area.  (The actual list area is the TList's area excluding
          the area for scrollbars, etc.)

    `int list_height'
          Specifies the width of the actual list inside the TList's
          area.  (The actual list area is the TList's area excluding
          the area for scrollbars, etc.)

    `boolean sorted'
          If set, items will be automatically sorted.

    `int allowed_item_attribute'
          Specifies which attributes the items are allowed to have.
          This is a bit mask of each attribute you want -- you can make
          it by adding the attributes together with the '+' operator,
          or by ORing them with the '|' operator.

    `boolean always_one_item_selected'
          If set, an item in the list will always be selected
          (highlighted) whether the object has the focus or not.

    `boolean item_hot_key_enabled'
          If set, the highlight will jump to an item when it's hotkey
          is pressed.

    `boolean scrollbar'
          If set, the list will have a scrollbar, which will let the
          user find items more easily.  Of course, the user can still
          scroll through the list using the cursor keys even if there
          is no scrollbar.

    `int scrollbar_x'
          The `x' position of the scrollbar, relative to the list's `x'
          position.

    `int scrollbar_y'
          The `y' position of the scrollbar, relative to the list's `y'
          position.

    `int scrollbar_height'
          The height of the scrollbar.

    `boolean enabled'
          This indicates whether the object should be enabled when
          first constructed.

    `boolean focus_depending_aspect'
          Specifies whether the object's appearance changes when it
          gets or loses the focus.  If TRUE, the object will be redrawn
          at these times.  *Note TObject Instanciation::.

    `boolean enabled'
          Specifies whether the object should initially be enabled
          (TRUE) or disabled (FALSE).

TList Static Methods
--------------------

TList Access Methods
--------------------

`int m_get_nb_items ()'
     Returns the number of items in the list.

`char* m_get_item (int index)'
     Returns a pointer to the item at position `index', where the first
     item is 1, not 0 as is normal in C indices. Returns "" if there is
     not item at position `index'.

`int m_get_item_index (char *label)'
     Returns the index of the first item whose label is `label'.
     Returns 0 if no such item can be found.

`boolean m_set_selected_item_index (int index)'
     Moves the selection highlight to the item numbered `index'.
     Returns a boolean value which indicates whether or not the item
     could be selected.  The most usual reason for a FALSE return code
     is that the index is invalid.  Remember that index entries begin
     at 1 and not 0 for TLists.

`void m_select_first_possible_item ()'
     Selects the first item in the TList, as if by
     `m_set_selected_item_index(1)'.

`int m_get_selected_item_index ()'
     Returns the index of the currently selected item.  As always for
     TLists, the first item is 1, and not 0 as you might expect.

`void m_set_first_visible_item_index (int index)'
     Sets the item which will be at the top of the list when it is
     drawn (ie, the first visible item) to `index'.  This may not be
     possible if there aren't enough items after `index' to fill the
     rest of the list, however, the results will always be acceptable.

`int m_get_first_visible_item_index ()'
     Returns the first visible item (ie, the item at the top of the
     list when drawn).

`void m_set_middle_visible_item_index (int index)'
     Sets the item which will be drawn in the center of the list, in
     much the same way as `m_set_first_visible_item_index'.

`void m_set_last_visible_item_index (int index)'
     Sets the item which will be drawn in the list's last slot, in much
     the same way as `m_set_first_visible_item_index'.

`int m_get_last_visible_item_index ()'
     Returns the index of the last visible item.

`int m_get_list_height ()'
     Returns the height of the list, as displayed on-screen.

TList Callbacks
---------------

`void m_set_selected_item_changed_callback (void (*selected_item_changed_action)(PObject,char *),char *selected_item_changed_argument)'
     Sets `selected_item_changed_action' as the function to be invoked
     when the selected item changes.  The function will be called with
     it's first argument pointing to the object which called it (ie,
     the list whose item was changed).  The second argument will be a
     copy of whatever string was specified for
     `selected_item_changed_argument'.

`void m_set_visible_part_changed_callback (void (*visible_part_changed_action)(PObject,char *),char *visible_part_changed_argument)'
     Sets `visible_part_changed_callback' as the function to be invoked
     when the visible area is changed (ie, scrolled).  The function
     will be called with it's first argument pointing to the object
     which called it (ie, the list whose item was changed). The second
     argument will be a copy of whatever string was specified for
     `visible_part_changed_argument'.

`void m_set_nb_items_changed_callback (void (*nb_items_changed_action)(PObject,char *),char *nb_items_changed_argument)'
     Sets `nb_items_changed_action' as the function to be invoked when
     the number of items in the list changes.  The function will be
     called with it's first argument pointing to the object which
     called it (ie, the list whose item was changed). The second
     argument will be a copy of whatever string was specified for
     `nb_items_changed_argument'.

`void m_set_item_check_changed_callback (void (*item_check_changed_action)(PObject,int,char *),char *item_check_changed_argument)'
     Sets `item_check_changed_action' as the function to be invoked
     when an item is checked or unchecked.  The function will be called
     with it's first argument pointing to the object which called it
     (ie, the list whose item was changed), and the second argument
     indicating the item's index.  The third argument will be a copy of
     whatever string was specified for `item_check_changed_argument'.

`void m_set_item_dbl_click_callback (void (*item_dbl_click_action)(PObject,int,char *),char *item_dbl_click_argument)'
     Sets `item_dbl_click_action' as the function to be invoked when the
     number of items in the list changes.  The function will be called
     with it's first argument pointing to the object which called it
     (ie, the list whose item was changed), and the second argument
     indicating the item's index (ie, it's number in the list).  The
     third argument will be a copy of whatever string was specified for
     `item_dbl_click_argument'.

TList Special
-------------

`'
`void m_delete_item (int index)'
     Removes and deallocates the item `index'.

`int m_add_items (char* items)'
     Adds new items to the list, returning the number of items
     successfully added.  See the constructor method for more details.
     *Note TList Instanciation::.

`void m_clear_list ()'
     Removes and deallocates all items in the list.

`void m_check_item (int index)'
     Adds a checkmark to the item `index', if there isn't one already.

`void m_uncheck_item (int index)'
     Removes the checkmark from the item `index', if there is one
     present.

`boolean m_item_is_checked (int index)'
     Returns a boolean value indicating whether the item at position
     `index' is checked (TRUE) or unchecked (FALSE).

`void m_enable_item (int index)'
     Enables the item at `index', allowing the user to select it.

`void m_disable_item (int index)'
     Disables the item at `index', preventing the user from selecting
     it.

`boolean m_item_is_enabled (int index)'
     Returns a boolean value indicating whether the item at position
     `index' is currently enabled (TRUE) or disabled (FALSE).

TList Notes
-----------

TListBox
========

TListBox Description
--------------------

     The TListBox class is designed to provide a programmer-friendly
     interface to the base TList class.  The TListBox class is easier
     to use, yet provides all of the same facilities and more via
     inherited methods. *Note TList::.

TListBox Base Classes
---------------------

     *Note TList::.

TListBox Derived Classes
------------------------

     ???

TListBox Enumerations
---------------------

TListBox Data
-------------

TListBox Instanciation
----------------------

`TListBox (PObject parent,int rel_x,int rel_y,int width,int height,'
     char *caption="",TListItem items[]=NULL,boolean sorted=FALSE,
     boolean items_can_be_checked=FALSE,boolean enabled=TRUE)

     Constructs a new TListBox.  Arguments are as follows...
    `PObject parent'
          The parent object that you want this TListBox to be attached
          to.

    `int rel_x'
          The `x' position of the listbox, relative to the `parent'
          object.

    `int rel_y'
          The `y' position of the listbox, relative to the `parent'
          object.

    `int width'
          The width of the listbox.

    `int height'
          The height of the listbox.

    `char* caption=""'
          The caption (label) to use for the listbox. *Note TObject::.

    `TListItem items[]=NULL'
          The items to initially add to the list. *Note TList
          Structures::.

    `boolean sorted=FALSE'
          Specifies whether the list items should be sorted, or left in
          the order the you add them in.

    `boolean items_can_be_checked=FALSE'
          Specifies whether the items can have checkmarks.

    `boolean enabled=TRUE'
          Specifies whether the TListBox should be enabled (ie, usable)
          when first created.

TListBox Static Methods
-----------------------

TListBox Access Methods
-----------------------

TListBox Callbacks
------------------

TListBox Special
----------------

TListBox Notes
--------------

TMenu
=====

TMenu Description
-----------------

     This class provides the menus available on a window's menubar,
     such as the familiar `File' and `Edit' menus.  The actual menu bar
     is implemented via the `TMenuBar' class.  *Note TMenuBar::.

TMenu Base Classes
------------------

     *Note TList::.

TMenu Derived Classes
---------------------

     ???

TMenu Enumerations
------------------

TMenu Data
----------

TMenu Instanciation
-------------------

`TMenu (PMenuBar menu_bar,char *caption,TMenuItem items[]=NULL,boolean enabled=TRUE)'
     Constructs a new TMenu object.  Arguments are as follows...
    `PMenuBar menu_bar'
          A pointer the menubar which this menu should be part of.
          *Note TMenuBar::.

    `char* caption'
          The menu name.  *Note TObject Instanciation::.

    `TMenuItem items[]=NULL'
          The list of menuitems.  *Note TMenu Structures::.

    `boolean enabled=TRUE'
          If specified, and set to FALSE, then the menu will be
          disabled initially.  Otherwise, it will be enabled.

TMenu Static Methods
--------------------

TMenu Access Methods
--------------------

`void m_disable ()'
     Disables the menu.

TMenu Callbacks
---------------

`void m_set_item_clicked_callback (void (*item_clicked_action)(PObject,int,char *),char *item_clicked_argument)'
     Sets the function to be invoked when a menu item is clicked to
     `item_clicked_action'.  The function is called with the first
     argument pointing to the object involved (ie, the menu whose item
     was clicked).  The second argument is the number of the item
     selected, and the third argument is a copy of whatever string you
     supply for `item_clicked_argument'.

TMenu Special
-------------

`void m_click_item (int index)'
     Selects item number `index' within the menu, as if the user had
     clicked it with the mouse or pressed it's hotkey.

`int m_add_item (char* label, int attribute=LI_NOATTR,int short_cut=SC_NONE,char *help_message="")'
     Adds a new item to the menu, returning the item's index, or 0 if
     the item could not be created for some reason.  The arguments are
     the same as the fields for the TMenuItem structure.  *Note TMenu
     Structures::.

`int m_insert_item (int index, char* label, int attribute=LI_NOATTR,int short_cut=SC_NONE,char *help_message="")'
     Adds a new item to the menu, at the specified position `index',
     returning the item's index, or 0 if the item could not be created
     for some reason.  The arguments are the same as the fields for the
     TMenuItem structure.  *Note TMenu Structures::.

`int m_add_items (TMenuItem items[])'
     Adds the new items `items' to the menu.  Returns the number of
     items successfully added.  *Note TMenu Structures::.

`void m_delete_item (int item_index)'
     Deletes the menu item at position `item_index'.

`void m_clear_list ()'
     Deletes all menu items from the menu.

TMenu Notes
-----------

TMenuBar
========

TMenuBar Description
--------------------

     The TMenuBar class provides the main menu at the top of each
     window.  To this, you add the individual menus via the TMenu
     class. *Note TMenu::.

TMenuBar Base Classes
---------------------

     *Note TObject::.

TMenuBar Derived Classes
------------------------

     ???

TMenuBar Enumerations
---------------------

TMenuBar Data
-------------

TMenuBar Instanciation
----------------------

`TMenuBar (PWindow window)'
     Constructs a new TMenuBar object.  You should pass a pointer to
     the window that you want to attach the menu to in the `window'
     argument.

TMenuBar Static Methods
-----------------------

TMenuBar Access Methods
-----------------------

`void m_enable ()'
     Enables the menu bar.

`void m_disable ()'
     Disables the menu bar.

TMenuBar Callbacks
------------------

TMenuBar Special
----------------

TMenuBar Notes
--------------

TObject
=======

TObject Description
-------------------

     This is the basic object class from which all other objects are
     derived.  It provides the basic features which all objects need.

TObject Base Classes
--------------------

     None.

TObject Derived Classes
-----------------------

     ???

TObject Enumerations
--------------------

TObject Data
------------

TObject Instanciation
---------------------

`TObject(PObject parent,int type,int rel_x,int rel_y,int width,int height,unsigned background,char *caption,boolean enabled,boolean focus_depending_aspect,boolean can_be_enabled,boolean simple)'
     Creates an object of this class.  Arguments are as follows...
    `PObject parent'
          The parent object which this one should be attached to.  This
          can either be a normal object, to create complex objects, or
          simply the window to which the object should be attached.

    `int type'
          A special identifier which indicates the type of object this
          is.  *Note Object Type Definitions::.

    `int rel_x'
          The object's `x' position, relative to the parent object's
          position.

    `int rel_y'
          The object's `y' position, relative to the parent object's
          position.

    `int width'
          The width of the object.

    `int height'
          The height of the object.

    `unsigned background'
          An extended character (ie, char in low byte, and VGA
          attributes in the high-byte) which specifies the character to
          use for the background.

    `char* caption'
          The caption text to use.  This text is displayed near the
          object, or within the object for certain types.  It is
          normally used to name the object, and to inform the user of
          keyboard shortcuts.  Shortcuts can be specified by adding '
          before the character you want to use for a shortcut.  For
          example, to specify a caption of "Display", which uses the
          keyboard shortcut "p", you would write `Dis~play'.  To
          override the special use of the tilde character (`~'), just
          insert it twice, as in `~~'.

    `boolean enabled'
          Specifies whether the object is to be enabled or disabled
          (ie, non-selectable) when first created.  If you set this
          flag to TRUE during instanciation, you can change it
          dynamically though a call to `m_set_can_be_enabled' (see
          below).

    `focus_depending_aspect'
          Specifies whether the object's appearance changes when it
          gets or loses the focus.  If TRUE, the object will be redrawn
          at these times.

    `can_be_enabled'
          Specifies whether the object can be enabled, or not.  For
          example, some objects are only there for visual purposes, and
          need never be active, such as labels.

          Still others might need to be disabled at certain times, when
          they are not applicable.  In these cases, you need to set
          `can_be_enabled' to TRUE, and manage it with `m_enable()',
          `m_disable()', and `m_can_be_enabled()'.

    `simple'
          Specifies that the object will have no child objects.

TObject Static Methods
----------------------

TObject Access Methods
----------------------

`int m_get_number ()'
     Returns the item's index within it's parent object.  For example...
          	Object                   Number
          	--------------------------------------------------------------------
              Frame Group              1          (within the window)
          	- Button                 1          (within the Frame Group)
          	- Label                  2          (within the Frame Group)
          	Button                   2          (within the window)

`int m_get_type ()'
     Returns a special indentifier which specifies the object's type.
     *Note Object Type Definitions::.

`PObject m_get_parent ()'
     Returns a pointer to this object's parent object.

`PWindow m_get_window ()'
     Returns a pointer to the window that this object is attached to.

`int m_get_x_in_window ()'
     Returns the absolute `x' position of the object in it's window.

`int m_get_y_in_window ()'
     Returns the absolute `y' position of the object in it's window.

`int m_get_x ()'
     Returns the `x' position of the object relative to it's parent
     object.

`int m_get_y ()'
     Returns the `y' position of the object relative to it's parent
     object.

`int m_get_width ()'
     Returns the object's width.

`int m_get_height ()'
     Returns the object's height.

`void m_set_size (int width, int height)'
     Resizes the object to `width' by `height'.

`unsigned m_get_background ()'
     Returns the background character (in the low-byte), and it's
     attributes (in the high-byte).

`char* m_get_caption ()'
     Returns the object's caption.  *Note TObject Instanciation::.

`void m_set_caption (char* caption)'
     Changes the objects caption to `caption'.  *Note TObject
     Instanciation::.

`char m_get_hotkey ()'
     Returns the object's hotkey.  *Note TObject Instanciation::.

`boolean m_is_open ()'
     Returns a boolean value which indicates whether the object is
     currently open.

`boolean m_has_focus ()'
     Returns a boolean value which indicates whether the object has the
     focus (ie, whether it is the active object).

`boolean m_is_enabled ()'
     Returns a boolean value which indicates if the object is enabled
     (TRUE), or disabled (FALSE).  Disabled objects can not be used,
     and will appear to be darker, or `ghosted'.

`void m_enable ()'
     Enables the object, making it possible for the user to interact
     with it.  The object must have the `can_be_enabled' flag set for
     this to work.  *Note TObject Instanciation::.

`void m_disable ()'
     Disables the object, making it user interaction with it impossible.

`void m_set_can_be_enabled (boolean mode)'
     Changes the current state of the object's `can_be_enabled' to
     `mode'.  You can only enable the object when this flag is TRUE.
     *This function can only be used on objects which had their
     `can_be_enabled' flag set during instanciation*.

`boolean m_can_lose_focus ()'
     Returns a boolean value which indicates whether the current focus
     can be taken from this object, and given to another.  If not, then
     other objects cannot be selected.

TObject Callbacks
-----------------

`void m_set_focus_lost_callback (void (*focus_lost_action)(TObject *,char *), char *focus_lost_argument)'
     ) Sets the function to be called when this object loses the focus
     to `focus_lost_action'. The function will be called with it's
     first argument pointing to this object.  The second argument will
     be a copy of the string given for `focus_lost_argument'.

`void m_set_focus_taken_callback (void (*focus_taken_action)(TObject *,char *), char *focus_taken_argument)'
     Sets the function to be called when this object gets the focus to
     `focus_taken_action'. The function will be called with it's first
     argument pointing to this object.  The second argument will be a
     copy of the string given for `focus_taken_argument'.

TObject Special
---------------

`boolean m_set_focus ()'
     Sets the focus to the first element (child object) of the object,
     and activates the actual object itself.  Returns a boolean value
     which indicates success or failure.

`boolean m_set_focus_to_last_element ()'
     Sets the focus to the last element (child object).

TObject Notes
-------------

TPushButton
===========

TPushButton Description
-----------------------

     This class provides capabilities for the standard textual buttons
     which are essential for any visual user-interface... the ones
     like, "OK", "Cancel", etc.

TPushButton Base Classes
------------------------

     *Note TObject::.

TPushButton Derived Classes
---------------------------

     ???

TPushButton Enumerations
------------------------

TPushButton Data
----------------

TPushButton Instanciation
-------------------------

`TPushButton (PObject parent,int rel_x,int rel_y,int width,char *caption,int  type=PB_NORMAL,boolean enabled=TRUE)'
     Creates a new TPushButton object.  All arguments are
     directly-related to the arguments by the same name in the TObject
     base class, except for `type'.  *Note TObject Instanciation::.
     `type' specifies the kind of pushbutton you want - *Note
     PushButton Type Definitions::.

TPushButton Static Methods
--------------------------

TPushButton Access Methods
--------------------------

TPushButton Callbacks
---------------------

`void m_set_pressed_callback (void (*pressed_action)(PObject,char *),char *pressed_argument)'
     Sets the function to be called when this pushbutton is pressed to
     `pressed_action'.  The first argument passed to the function will
     be a pointer to the object, while the second is a copy of whatever
     string is given for `pressed_argument'.

TPushButton Special
-------------------

`void m_press ()'
     Presses the object, as if the user had selected it with the mouse
     or it's hotkey.  This provides a visual-confirmation that whatever
     the user wants is being done, as well as providing you with a
     consistant way of invoking the pushbutton's callback.

TPushButton Notes
-----------------

TRadioGroup
===========

TRadioGroup Description
-----------------------

     This class provides the bounding area (via the TFrame class) and
     other things required for Radio buttons.

TRadioGroup Base Classes
------------------------

     *Note TFrame::.

TRadioGroup Derived Classes
---------------------------

     ???

TRadioGroup Enumerations
------------------------

TRadioGroup Data
----------------

TRadioGroup Instanciation
-------------------------

`TRadioGroup (PObject parent,int rel_x,int rel_y,int width,int height,char *caption="",boolean enabled=TRUE)'
     Creates a new TRadioGroup object.  All arguments are
     directly-related to the arguments for the TObject base class.
     *Note TObject Instanciation::.

TRadioGroup Static Methods
--------------------------

TRadioGroup Access Methods
--------------------------

TRadioGroup Callbacks
---------------------

TRadioGroup Special
-------------------

TRadioGroup Notes
-----------------

TRadioButton
============

TRadioButton Description
------------------------

TRadioButton Base Classes
-------------------------

     *Note TCheckBox::.

TRadioButton Derived Classes
----------------------------

     ???

TRadioButton Enumerations
-------------------------

TRadioButton Data
-----------------

TRadioButton Instanciation
--------------------------

`TRadioButton (PRadioGroup radio_group,int rel_x,int rel_y,int width,char *caption,boolean checked=FALSE,boolean enabled=TRUE)'
     Creates a new TRadioButton object.  All arguments are
     directly-related to the arguments by the same name in the TObject
     base class. *Note TObject Instanciation::.  Just remember that the
     first argument is has been renamed to radio_group instead of
     parent to emphasise that the parent *must* be a pointer to a
     TRadioGroup object.

TRadioButton Static Methods
---------------------------

TRadioButton Access Methods
---------------------------

TRadioButton Callbacks
----------------------

TRadioButton Special
--------------------

`void m_check ()'
`void m_uncheck ()'
     *Note TCheckBox Special::.

TRadioButton Notes
------------------

TScrollBar
==========

TScrollBar Description
----------------------

     This class provides scrollbars (sometimes known as sliders or
     proportional gadgets).  You can use them to allow users to select
     a portion of a larger area (such as to allow the user to scroll
     around a large text file when the window is too small for it), or
     to allow selection of values (for example, you could use it as a
     volume control too, although the TGauge class is perhaps more
     suited to that).

TScrollBar Base Classes
-----------------------

     *Note TObject::.

TScrollBar Derived Classes
--------------------------

     ???

TScrollBar Enumerations
-----------------------

TScrollBar Data
---------------

TScrollBar Instanciation
------------------------

`TScrollBar (PObject parent,TSbOrientation orientation,int rel_x,int rel_y,int length,boolean enabled=TRUE)'
     Constructs a new scrollbar.  `parent',`rel_x',`rel_y', and
     `enabled' are directly related to the same arguments in the base
     class's constructor method, so their descriptions aren't repeated
     here.  *Note TObject Instanciation::.  The other arguments are
     detailed below...

    `orientation'
          This specifies whether the scrollbar should be vertical or
          horizontal.  *Note ScrollBar Definitions::.

    `length'
          This is the length of the scrollbar (ie, the height if you
          specify a vertical scrollbar, or the width if you specify a
          horizontal scrollbar).

TScrollBar Static Methods
-------------------------

TScrollBar Access Methods
-------------------------

`void m_set_value (long value)'
     Sets the current slider value to `value'. *Note TScrollBar Notes::.

`long m_get_value ()'
     Returns the current slider value. *Note TScrollBar Notes::.

`void m_set_min_max_values (long min, long max)'
     Sets the minimum and maximum values. *Note TScrollBar Notes::.

`long m_get_min_value ()'
     Returns the minimum value.  *Note TScrollBar Notes::.

`long m_get_max_value ()'
     Returns the maximum value. *Note TScrollBar Notes::.

`void m_set_little_change (long little_change)'
     Sets a new little change value.  *Note TScrollBar Notes::.

`void m_set_big_change (long big_change)'
     ) Sets a new big change value.  *Note TScrollBar Notes::.

TScrollBar Callbacks
--------------------

`void m_set_value_changed_callback void (*value_changed_action)(PObject, char*)'
     ) Sets the function to be called when the scrollbar's value
     changes to `value_changed_action'.  It will be called with a
     pointer to the object concerned as the first argument, and a copy
     of whatever string you specify for `value_changed_argument' as the
     second argument.

TScrollBar Special
------------------

TScrollBar Notes
----------------

     Scrollbars need three values to be specified before they can be
     displayed...

    `min_value'
          This is the lowest value that can be represented on the
          scrollbar.

    `max_value'
          This is the highest value that can be represented on the
          scrollbar.

    `current_value'
          This is what value the scrollbar is currently representing.
          Obviously, this must be somewhere between `min_value' and
          `max_value'.

     As an example, consider if the user was reading a text file 1000
     lines long, and was currently at line 500.  Then min_value would
     be 1 (since line 1 is the first line), max_value would be 1000
     (since the last line is 1000), and the current_value would be 500.

TSimpleList
===========

   The TSimpleList class is used to provide list facilities for other
classes, and should NOT be used directly.  It is documented here for
completeness only.

TSimpleList Description
-----------------------

     The TSimpleList class is used to provide list facilities for other
     classes, and should NOT be used directly.  It is documented here
     for completeness only.

TSimpleList Base Classes
------------------------

TSimpleList Derived Classes
---------------------------

     ???

TSimpleList Enumerations
------------------------

TSimpleList Data
----------------

TSimpleList Instanciation
-------------------------

`TSimpleList (PObject parent,int type,int rel_x,int rel_y,int width,int height,unsigned background,char *caption,int list_rel_x,int list_rel_y,int list_width,int list_height,boolean sorted,int allowed_item_attribute,boolean always_one_item_selected,boolean item_hot_key_enabled,boolean scrollbar,int scrollbar_x,int scrollbar_y,int scrollbar_height,boolean enabled)'
     Constructs a new TSimpleList object.  Arguments are as follows...
    `PObject parent'
          The parent object which the TSimpleList should be attached to.

    `int type'
          The object type that this list will be used for.

    `int rel_x'
          The `x' position of the object, relative to the `parent'.

    `int rel_y'
          The `y' position of the object, relative to the `parent'.

    `int width'
          The width of TSimpleList.

    `int height'
          The height of TSimpleList.

    `unsigned background'
          The background attributes. *Note TWindow::.

    `char* caption'
          The TSimpleList's caption.

    `int list_rel_x'
          The `x' position of the actual list area, relative to the
          TSimpleList's position.

    `int list_rel_y'
          The `y' position of the actual list area, relative to the
          TSimpleList's position.

    `int list_width'
          The `width' the actual list area.

    `int list_height'
          The `height' the actual list area.

    `boolean sorted'
          Specifies whether the list should be sorted or not.

    `int allowed_item_attribute'
          Specifies which attributes are allowed for the list's items.

    `boolean always_one_item_selected'
          Specifies whether an item has to be selected.

    `boolean item_hot_key_enabled'
          Specifies whether items can be selected by their hotkeys.

    `boolean scrollbar'
          Specifies whether the TSimpleList should have a scrollbar.

    `int scrollbar_x'
          Specifies the scrollbar's `x' position, relative to the
          TSimpleList's position.

    `int scrollbar_y'
          Specifies the scrollbar's `y' position, relative to the
          TSimpleList's position.

    `int scrollbar_height'
          Specifies the scrollbar's `height'.

    `boolean enabled'
          Specifies whether the list should be initially enabled (TRUE)
          or disabled (FALSE).

TSimpleList Static Methods
--------------------------

TSimpleList Access Methods
--------------------------

TSimpleList Callbacks
---------------------

TSimpleList Special
-------------------

`int m_add_item (char* label, int attribute=LI_NOATTR)'
     Adds the item `label' to the list, giving it the attributes
     `attribute'.  Returns the item's index, or 0 if the item could not
     be added for some reason.

`int m_insert_item (int index, char* label, int attribute=LI_NOATTR)'
     Adds the item `label' to the list, at the specified position
     `index', giving it the attributes `attribute'.  Returns the item's
     index, or 0 if the item could not be added for some reason.

`int m_add_items (TListItem items[])'
     Adds multiple items to the list at once.  *Note TList
     Structures::.  Returns the total number of items successfully
     added.

TSimpleList Notes
-----------------

TTab
====

TTab Description
----------------

     The TTab class is closely related to the TTabGroup class.  In
     fact, they are useless without each other.  Please see the
     TTabGroup Description for more information.  *Note TTab
     Description::.

TTab Base Classes
-----------------

     ???

TTab Derived Classes
--------------------

     ???

TTab Enumerations
-----------------

TTab Data
---------

TTab Instanciation
------------------

`TTab (PTabGroup tab_group,char *caption)'
     Constructs a new TTab object, using the caption `caption', and
     attaching it to the TTabGroup pointed to by `tab_group'.

TTab Static Methods
-------------------

TTab Access Methods
-------------------

TTab Callbacks
--------------

`void m_set_visible_callback (void (*visible_action)(TObject *,char *),char *visible_argument)'
     Sets `visible_action' as the function to be invoked when the
     visible TTab changes.  The function will be called with the first
     argument pointing to the object concerned, and the second argument
     will be a copy of whatever string you specify for
     `visible_argument'.

TTab Special
------------

`void m_set_visible ()'
     Makes this TTab the visible one in the TTabGroup.

TTab Notes
----------

TTabGroup
=========

TTabGroup Description
---------------------

     The TTabGroup class provides the multiple-pages that make
     applications' displays so much simpler and less cluttered.  To
     create a TTabGroup, you simply create it with the constructor
     method, specifying a few details, including it's position, and
     then create the TTabs (the actual pages), passing the TTabGroup as
     the first (parent) argument.  When you do this, the TTabGroup is
     automagically updated with the TTabs -- easy, eh ?

TTabGroup Base Classes
----------------------

     *Note TGroup::.

TTabGroup Derived Classes
-------------------------

     ???

TTabGroup Enumerations
----------------------

TTabGroup Data
--------------

TTabGroup Instanciation
-----------------------

`TTabGroup (PObject parent,int rel_x,int rel_y,int width,int height,unsigned background,boolean enabled=TRUE)'
     Constructs a new TTabGroup object.  Arguments are as follows...
    `PObject parent'
          The parent object that the TTabGroup should be attached to.

    `int rel_x'
          The `x' position of the TTabGroup, relative to the parent's
          `x' position.

    `int rel_y'
          The `y' position of the TTabGroup, relative to the parent's
          `y' position.

    `int width'
          The width of the TTabGroup.

    `int height'
          The height of the TTabGroup.

    `unsigned background'
          The background attributes to use. *Note TWindow::.

    `boolean enabled=TRUE'
          Specifies whether the object should be initially enabled or
          disabled.

TTabGroup Static Methods
------------------------

TTabGroup Access Methods
------------------------

TTabGroup Callbacks
-------------------

TTabGroup Special
-----------------

`boolean m_set_focus ()'
     *Note TGroup::.

`boolean m_set_focus_to_last_element ()'
     *Note TGroup::.

TTabGroup Notes
---------------

TWindow
=======

TWindow Description
-------------------

     The TWindow class is the most important visual class, providing
     the basic display area which all other visible objects are
     inserted into.

TWindow Base Classes
--------------------

     *Note TGroup::.

TWindow Derived Classes
-----------------------

     ???

TWindow Enumerations
--------------------

TWindow Data
------------

TWindow Instanciation
---------------------

`TWindow (word style, int x,int y, int width,int height, char* caption="", boolean info_bar=FALSE, boolean modal=TRUE, boolean movable=TRUE)'
     Creates a new TWindow.  Arguments are as follows ...
    `word style'
          Specifies the style of window to create. *Note Window
          Definitions::.

    `int x'
          Specifies the absolute `x' position of the window.

    `int y'
          Specifies the absolute `y' position of the window.

    `int width'
          Specifies the window's width.

    `int height'
          Specifies the window's height.

    `char* caption'
          Specifies the window's title.

    `boolean info_bar=FALSE'
          Specifies whether the window should have an info bar (also
          known as a status *Note Boolean Definitions::.  bar).

    `boolean modal=TRUE'
          Specifies whether the window should be modal (TRUE), or
          modeless (FALSE).  *Note Boolean Definitions::.

    `boolean movable=TRUE'
          *Note Boolean Definitions::.

TWindow Static Methods
----------------------

TWindow Access Methods
----------------------

`int m_get_x ()'
     Returns the window's absolute `x' position.

`int m_get_y ()'
     Returns the window's absolute `y' position.

`void m_set_pos (int x, int y)'
     Sets the window's position to the absolute coordinates (`x', `y').

`void m_set_title_attr word attributes'
     Sets the attributes with which the title should be drawn.

`void m_set_default_button (PPushButton button)'
     Sets the pushbutton that should be selected when the `default' key
     (Return) is pressed.

`void m_set_cancel_button (PPushButton button)'
     Sets the pushbutton that should be selected when the `cancel' key
     (Escape) is pressed.

`void m_set_short_cut_handler (PObject handler)'
     Sets the object which will receive short cut messages.

`void m_set_info_message (char* message)'
     Sets the text that will be displayed in the window's info (status)
     bar, if it has one.

TWindow Callbacks
-----------------

`void m_set_close_button_pressed_callback (void (*close_button_pressed_action)(PObject,char *),char *close_button_argument)'
     Sets the function to be called when the close button (in the
     top-left corner of the window) is pressed to
     `close_button_pressed_action'.  The function is called with the
     first object pointing to the window, while the second argument is
     a copy of the string given for `close_button_argument'.

TWindow Special
---------------

`boolean m_set_focus ()'
`boolean m_set_focus_to_last_element ()'
     *Note TGroup::.

`PObject m_get_previous_focused_object ()'
     Returns a pointer to whichever object in the window have just lost
     the focus.

`void m_open ()'
     Opens the window, making it visible.

`void m_open_as_object_element (PObject object)'
     Opens the window as a sub-window of another object, so that all
     events which occur in that window are hooked (ie, re-directed) to
     the parent window.  For example, menus are opened as an element,
     so that they can be outside the window which contains the menubar.

`void m_activate ()'
     Activates the window (ie, gives it the focus).

`void m_close ()'
     Closes the window, making it invisible, and redrawing whatever is
     underneath it.

     Text I/O

`void m_gotoxy (int x, int y)'
     Moves the cursor to the position (`x', `y'), relative to the
     window's position.

`word m_get_normal_attr (unsigned background)'
`word m_get_inverse_attr (unsigned background)'
`word m_get_bright_attr (unsigned background)'
`word m_get_inactive_attr (unsigned background)'
`word m_get_inverse_inactive_attr (unsigned background)'
     These methods return the special code used for their various text
     attributes.  The argument `background' should be contain the
     background attributes, since the information that you are
     inquiring about may depend on the current background.

`word m_text_attr ()'
     Returns the current text attributes.

`void m_set_normal_attr (unsigned background)'
`void m_set_inverse_attr (unsigned background)'
`void m_set_bright_attr (unsigned background)'
`void m_set_inverse_bright_attr (unsigned background)'
`void m_set_inactive_attr (unsigned background)'
`void m_set_inverse_inactive_attr (unsigned background)'
     These functions enable their various text attributes, leaving all
     other attributes unaltered.

`void m_set_clip_window (int x,int y, int width,int height)'
     Sets a clipping rectangle from (`x',`y') to (`width',`height')
     relative to the window's coordinates, which all text will be
     clipped to.  Whenever any printed text would go outside this area,
     it is cut short, so that all text outside the clipping rectangle
     is preserved.

`void m_reset_clip_window ()'
     Resets the clipping rectangle so that text can use the entire
     window area.

`void m_cls (unsigned background)'
     Clears the window to the color and attributes specified by
     `background'.

`void m_putch (u_char character)'
     Inserts `character' at the current cursor position within the
     window.

`void m_putnch (int nb_chars, u_char character)'
     Puts `nb_chars' copies of `character' into the window, as if by
     `for(i=0; i<nb_chars; i++) m_putch(character);'.

`void m_puts (char* string)'
     Puts text pointed to by `string' into the window at the current
     cursor position.

`void m_put_caption (char* main_string,boolean show_hot_key,int length,int position)'
     Puts the text `main_string' into the window at the current cursor
     position.  This function uses a special combination of attributes
     which is used for object captions (ie, labels).  `length'
     specifies how long the caption area should be -- the actual
     caption text will be formatted to fill this area in a
     visually-attractive way.  If `show_hot_key' is TRUE, then the
     character at the array index `position' within `main_string' will
     be highlighted to show that it is the hotkey character.

`void m_put_text (char* text)'
     Prints the string pointed to by `text' into the window at the
     current character position.

`void m_draw_frame (int x1,int y1,int x2,int y2,unsigned background,char *caption,boolean enabled)'
     Draws a frame from (`x1',`y1') to (`x2',`y2') into the window.
     Coordinates are relative to the window's position.  Depending on
     whether `enabled' is TRUE or FALSE, the frame will be drawn in a
     highlighted or normal manner, respectively.  `background' will be
     used for the frame's background attributes, and `caption' will be
     displayed at the top of the frame, as a title for the contents of
     the frame.

`void m_display_arrow (int arrow_type)'
     Draws an arrow of type `arrow_type' at the current cursor position.
     *Note Special Character Definitions::.

TWindow Notes
-------------

TGauge
======

TGauge Description
------------------

     The TGauge class provides a way of indicating fractions.  The most
     common use for these is as a progress indicator, where they are
     used to show how much of a task has been completed, and how much
     is still left to be done.

TGauge Base Classes
-------------------

     *Note TObject::.

TGauge Derived Classes
----------------------

     ???

TGauge Enumerations
-------------------

TGauge Data
-----------

TGauge Instanciation
--------------------

`TGauge (PObject parent,int rel_x,int rel_y,int width,char *caption,TStyle style=GAUGE_PERCENT_STYLE,long max_value=100)'
     Constructs a new TGauge.  The `style' argument is the type of
     gauge you want (*Note Gauge Definitions::), and `max_value' is the
     maximum value that should be represented on the gauge -- if you
     aren't using a percentage-style gauge, then this should be the
     total number of stages you need to complete (for example, if you
     are copying files, it could be the number of files, or the total
     number of bytes).

TGauge Static Methods
---------------------

TGauge Access Methods
---------------------

`void m_set_value (long value)'
     Changes the current position of the gauge's indicator to `value'.

`long m_get_value ()'
     Returns the current position of the gauge's indicator.

`void m_set_max_value (long max_val)'
     Changes the maximum number that is represented on the gauge to
     `max_val'.

`long m_get_max_value ()'
     Returns the maximum number that is represented on the gauge.

TGauge Callbacks
----------------

TGauge Special
--------------

TGauge Notes
------------

TTextZone
=========

TTextZone Description
---------------------

     The TTextZone class provides text-editing facilities for JPTUI
     applications, all inside a familiar TEditZone-style box. *Note
     TEditZone::.

TTextZone Base Classes
----------------------

     *Note TObject::.

TTextZone Derived Classes
-------------------------

     ???

TTextZone Enumerations
----------------------

TTextZone Data
--------------

TTextZone Instanciation
-----------------------

`TTextZone (PObject parent,int rel_x,int rel_y,int width,int height,'
     char *caption,int max_text_nb_cols,boolean enabled=TRUE)

     Constructs a new TTextZone object.  Arguments are as follows...
    `PObject parent'
          The parent object that the new TTextZone should be attached
          to.

    `int rel_x'
          The `x' position of the TTextZone, relative to the `x'
          position of the `parent'.

    `int rel_y'
          The `y' position of the TTextZone, relative to the `y'
          position of the `parent'.

    `int width'
          The width of the TTextZone.

    `int height'
          The height of the TTextZone.

    `char* caption'
          The caption (label) for the TTextZone.

    `int max_text_nb_cols'
          The maximum number of columns required.

    `boolean enabled=TRUE'
          Specifies whether the TTextZone should initially be enabled
          or disabled.

TTextZone Static Methods
------------------------

TTextZone Access Methods
------------------------

`void m_set_cursor_at (int col, int line,boolean make_cursor_visible=TRUE)'
     Moves the TTextZone's cursor to line `line', column `col'.  If
     `make_cursor_visible' is specified, and is FALSE, then the cursor
     will be hidden at the same time.  Otherwise, it will be visible
     (recommended for most purposes).  Note that the TTextZone's cursor
     is separate from all other cursors, including the actual hardware
     cursor, and the EditZone cursors, which are also unique.

`void m_get_cursor_pos (int &col,int &line)'
     Stores the current cursor position in the memory pointed to by
     `col', and `line'.

`int m_get_nb_lines ()'
     Returns the number of lines in the TTextZone.

`int m_get_nb_cols ()'
     Returns the number of columns in the TTextZone.

`void m_set_first_visible_col (int col)'
     Scrolls the TTextZone so that `col' is the first visible column.

`void m_set_first_visible_line (int line)'
     Scrolls the TTextZone so that `line' is the first visible line.

`int m_line_length (int line_nb)'
     Returns the length of line number `line_nb'.

TTextZone Callbacks
-------------------

`void m_set_nb_lines_changed_callback (void (*nb_lines_changed_action)(PObject,char *),char *nb_lines_changed_argument)'
     Sets the function to invoke when the number of lines changes to
     `nb_lines_changed_action'.  The first argument to the invoked
     function will be the object (ie, the TTextZone) concerned, and the
     second argument will be a copy of whatever string was given for
     `nb_lines_changed_argument'.

`void m_set_text_changed_callback (void (*text_changed_action)(PObject,char *),char *text_changed_argument)'
     Sets the function to invoke when the text changes to
     `text_changed_action'.  The first argument to the invoked function
     will be the object (ie, the TTextZone) concerned, and the second
     argument will be a copy of whatever string was given for
     `text_changed_argument'.

`void m_set_visible_lines_changed_callback (void (*visible_lines_changed_action)(PObject,char *),char *visible_lines_changed_argument)'
     Sets the function to invoke when the text changes to
     `visible_lines_changed_action'.  The first argument to the invoked
     function will be the object (ie, the TTextZone) concerned, and the
     second argument will be a copy of whatever string was given for
     `visible_lines_changed_argument'.

`void m_set_selection_status_changed_callback (void (*selection_status_changed_action)(PObject,char *),char *selection_status_changed_argument)'
     Sets the function to invoke when the text changes to
     `selection_status_changed_action'.  The first argument to the
     invoked function will be the object (ie, the TTextZone) concerned,
     and the second argument will be a copy of whatever string was
     given for `selection_status_changed_argument'.

TTextZone Special
-----------------

`void m_clear_text ()'
     Clears all text in the TTextZone.

`void m_delete_line (int line_nb)'
     Deletes line number `line_nb'.

`void m_clear_zone (int first_col,int first_line,int last_col,int last_line)'
     Clears an area of text from line `first_line', column `first_col'
     to line `last_line', column `last_col'.

`void m_set_line (int line_nb,char *string)'
     Changes the contents of line number `line_nb' to `string'.

`void m_insert_text (char* text)'
     Inserts the string `text' at the current cursor position within the
     TTextZone.

`void m_insert_line (int line_nb,char *string)'
     Creates a new line with the text `string', and inserts it at line
     number `line_nb'.

`char* m_get_zone (int first_col,int first_line,int last_col,int last_line)'
     Copies the text from (`first_line',`first_col') to
     (`last_line',`last_col') into a specifically-allocated buffer, and
     returns a pointer to it.

`void m_free_zone_buffer ()'
     Frees the buffer which is sometimes allocated for zones, for
     example, by the m_get_zone method.

`char* m_get_line (int line_nb)'
     Returns a pointer to line number `line_nb'.

`boolean m_save_text (char* fname)'
     Attempts to save all text from the TTextZone to the file name
     `fname'.  Returns a boolean value which indicates success (TRUE),
     or an error (FALSE).  If the return code is FALSE (ie, an error),
     you can use the ANSI C error facilities (errnum, etc.) to find out
     which actual error occured.

`boolean m_load_text (char* fname)'
     Attempts to load all text from the file named `fname' into the
     TTextZone.  Returns a boolean value which indicates success
     (TRUE), or an error (FALSE).  If the return code is FALSE (ie, an
     error), you can use the ANSI C error facilities (errnum, etc.) to
     find out which actual error occured.

`void m_select_zone (int pos1_col,int pos1_line,int pos2_col,int pos2_line)'
     Selects the area from (`pos1_line',`pos1_col') to
     (`pos2_line',`pos2_col').

`void m_unselect_zone ()'
     Unselects the previously-selected area.

`boolean m_zone_selected ()'
     Returns a boolean value which indicates whether a zone is
     currently selected.

`void m_get_selected_zone (int &min_col,int &min_line,int &max_col,int &max_line)'
     Stores the selected area's start and stop positions in the memory
     pointed to by the arguments.  Do NOT call this method unless
     `m_zone_selected' has been used to verify that there *is* some
     text selected.

`void m_cut_selection ()'
     Cuts the currently selected text into the clipboard.

`void m_copy_selection ()'
     Copies the currently selected text into the clipboard.

`void m_paste ()'
     Pastes the current clipboard contents into the zone.

`void m_clear_selection ()'
     Clears the currently selected text.

TTextZone Notes
---------------

Error codes
***********

   When using the debug version of JPTUI, you can get the message
"Abnormal program termination -> xx" where xx is an error number.

   The different possible errors are described in the file 'DEBUG.TXT'.

FAQ
***

   Q.
     Is there any way that I can activate the menu when the user has
     pressed a key ?

   A.
     Yes.  Just call the TMenuBar's inherited function m_set_focus() to
     activate the menu.


   Q.
     A class doesn't seem to have any of the functions I would expect -
     how do I get it to do what I need ?

   A.
     Very often you will find that many functions available for a class
     are actually provided by one of it's base classes.  Refer to the
     base classes section of each class's documentation for further
     functions.


   Q.
     How can I start my application with a textual mouse pointer ?

   A.
     Just call GraphicalMousePointer(FALSE) before calling JPInit().


Contributions
*************

   If you have any code to contribute to JPTUI, please send it directly
to JPTUI's author, Jean-Pierre Delprat, as opposed to releasing your
contribution separately.  This ensures that all of the contributions
will work together, and maintain compatibility with future versions of
JPTUI.

Concept Index
*************

* Menu:

*  <1>:                                 TList Special.
* :                                     TObject Instanciation.
* #defined symbols, ABORT_BUTTON:       MessageBox Definitions.
* #defined symbols, ALERT:              Window Definitions.
* #defined symbols, ARROW_DOWN:         Window Definitions.
* #defined symbols, ARROW_LEFT:         Window Definitions.
* #defined symbols, ARROW_RIGHT:        Window Definitions.
* #defined symbols, ARROW_UP:           Window Definitions.
* #defined symbols, BIP1:               Sound Definitions.
* #defined symbols, CANCEL_BUTTON:      MessageBox Definitions.
* #defined symbols, CENTERED:           Window Definitions.
* #defined symbols, CHAR_BOTTOM_HLINE:  Special Character Definitions.
* #defined symbols, CHAR_BOTTOM_LEFT_CORNER: Special Character Definitions.
* #defined symbols, CHAR_BOTTOM_RIGHT_CORNER: Special Character Definitions.
* #defined symbols, CHAR_LEFT_VLINE:    Special Character Definitions.
* #defined symbols, CHAR_RIGHT_VLINE:   Special Character Definitions.
* #defined symbols, CHAR_UP_BOTTOM_HLINES: Special Character Definitions.
* #defined symbols, CHAR_UP_HLINE:      Special Character Definitions.
* #defined symbols, CHAR_UP_LEFT_CORNER: Special Character Definitions.
* #defined symbols, CHAR_UP_RIGHT_CORNER: Special Character Definitions.
* #defined symbols, DIALOG1:            Window Definitions.
* #defined symbols, DIALOG2:            Window Definitions.
* #defined symbols, DIALOG3:            Window Definitions.
* #defined symbols, DOUBLE_MAX_LENGTH:  Datatype Definitions.
* #defined symbols, DOUBLE_NB_DIGITS:   Datatype Definitions.
* #defined symbols, EDITZONE_SCROLL_SPEED: EditZone Definitions.
* #defined symbols, ENGLISH:            Language Definitions.
* #defined symbols, ERROR_SOUND:        Sound Definitions.
* #defined symbols, FRENCH:             Language Definitions.
* #defined symbols, GAUGE_OUT_OF_STYLE: Gauge Definitions.
* #defined symbols, GAUGE_PERCENTAGE_STYLE: Gauge Definitions.
* #defined symbols, GERMAN:             Language Definitions.
* #defined symbols, HELP:               Window Definitions.
* #defined symbols, IGNORE_BUTTON:      MessageBox Definitions.
* #defined symbols, INSERT_CURSOR:      Cursor Definitions.
* #defined symbols, JUSTIFIED_LEFT:     Window Definitions.
* #defined symbols, JUSTIFIED_RIGHT:    Window Definitions.
* #defined symbols, LEFT_BUTTON:        Mouse Definitions.
* #defined symbols, LEFT_BUTTON_PRESSED: Mouse Definitions.
* #defined symbols, LI_CHECKED:         TList Attribute Definitions.
* #defined symbols, LI_DISABLED:        TList Attribute Definitions.
* #defined symbols, LI_NOATTR:          TList Attribute Definitions.
* #defined symbols, LI_TOGGLE:          TList Attribute Definitions.
* #defined symbols, LIST_SCROLL_SPEED:  List Definitions.
* #defined symbols, LONG_MAX_LENGTH:    Datatype Definitions.
* #defined symbols, MAX_DIR:            File Definitions.
* #defined symbols, MAX_DOUBLE_CLICK_DURATION: Mouse Definitions.
* #defined symbols, MAX_DRIVE:          File Definitions.
* #defined symbols, MAX_FILE:           File Definitions.
* #defined symbols, MAX_PATH:           File Definitions.
* #defined symbols, MAXWORD:            Datatype Definitions.
* #defined symbols, MB_ABORTRETRYIGNORE: MessageBox Definitions.
* #defined symbols, MB_DEFBUTTON1:      MessageBox Definitions.
* #defined symbols, MB_DEFBUTTON2:      MessageBox Definitions.
* #defined symbols, MB_DEFBUTTON3:      MessageBox Definitions.
* #defined symbols, MB_ICONEXCLAMATION: MessageBox Definitions.
* #defined symbols, MB_ICONINFORMATION: MessageBox Definitions.
* #defined symbols, MB_ICONQUESTION:    MessageBox Definitions.
* #defined symbols, MB_ICONSTOP:        MessageBox Definitions.
* #defined symbols, MB_NOICON:          MessageBox Definitions.
* #defined symbols, MB_OK:              MessageBox Definitions.
* #defined symbols, MB_OKCANCEL:        MessageBox Definitions.
* #defined symbols, MB_OKQUIT:          MessageBox Definitions.
* #defined symbols, MB_RETRYCANCEL:     MessageBox Definitions.
* #defined symbols, MB_YESNO:           MessageBox Definitions.
* #defined symbols, MB_YESNOCANCEL:     MessageBox Definitions.
* #defined symbols, MP_ARROW:           Mouse Definitions.
* #defined symbols, MP_HOURGLASS:       Mouse Definitions.
* #defined symbols, NO_BUTTON:          MessageBox Definitions.
* #defined symbols, NO_BUTTON_PRESSED:  Mouse Definitions.
* #defined symbols, NONE:               Language Definitions.
* #defined symbols, OBJ_CHECK_BOX:      Object Type Definitions.
* #defined symbols, OBJ_COMBO_LIST:     Object Type Definitions.
* #defined symbols, OBJ_EDIT_ZONE:      Object Type Definitions.
* #defined symbols, OBJ_FRAME_GROUP:    Object Type Definitions.
* #defined symbols, OBJ_GAUGE:          Object Type Definitions.
* #defined symbols, OBJ_LABEL:          Object Type Definitions.
* #defined symbols, OBJ_LIST_BOX:       Object Type Definitions.
* #defined symbols, OBJ_MENU:           Object Type Definitions.
* #defined symbols, OBJ_MENU_BAR:       Object Type Definitions.
* #defined symbols, OBJ_NONE:           Object Type Definitions.
* #defined symbols, OBJ_PUSH_BUTTON:    Object Type Definitions.
* #defined symbols, OBJ_RADIO_GROUP:    Object Type Definitions.
* #defined symbols, OBJ_SCROLL_BAR:     Object Type Definitions.
* #defined symbols, OBJ_TAB:            Object Type Definitions.
* #defined symbols, OBJ_TAB_GROUP:      Object Type Definitions.
* #defined symbols, OBJ_TEXT_ZONE:      Object Type Definitions.
* #defined symbols, OBJ_WARNING_DIALOG: Object Type Definitions.
* #defined symbols, OBJ_WINDOW:         Object Type Definitions.
* #defined symbols, OK_BUTTON:          MessageBox Definitions.
* #defined symbols, PB_CANCEL:          PushButton Type Definitions.
* #defined symbols, PB_DEFAULT:         PushButton Type Definitions.
* #defined symbols, PB_NORMAL:          PushButton Type Definitions.
* #defined symbols, PRESSURE_TIME_LENGTH: PushButton Type Definitions.
* #defined symbols, QUIT_BUTTON:        MessageBox Definitions.
* #defined symbols, RECOVER_CURSOR:     Cursor Definitions.
* #defined symbols, RETRY_BUTTON:       MessageBox Definitions.
* #defined symbols, RIGHT_BUTTON:       Mouse Definitions.
* #defined symbols, RIGHT_BUTTON_PRESSED: Mouse Definitions.
* #defined symbols, SB_HORIZONTAL:      ScrollBar Definitions.
* #defined symbols, SB_VERTICAL:        ScrollBar Definitions.
* #defined symbols, SCREEN_BACKGROUND:  Screen Definitions.
* #defined symbols, SCROLLBAR_SCROLL_SPEED: ScrollBar Definitions.
* #defined symbols, TEXT_ARROW_DOWN:    Special Character Definitions.
* #defined symbols, TEXT_ARROW_LEFT:    Special Character Definitions.
* #defined symbols, TEXT_ARROW_RIGHT:   Special Character Definitions.
* #defined symbols, TEXT_ARROW_UP:      Special Character Definitions.
* #defined symbols, TEXT_BOTTOM_HLINE:  Special Character Definitions.
* #defined symbols, TEXT_BOTTOM_LEFT_CORNER: Special Character Definitions.
* #defined symbols, TEXT_BOTTOM_RIGHT_CORNER: Special Character Definitions.
* #defined symbols, TEXT_CHECKED_CHECK_BOX: Special Character Definitions.
* #defined symbols, TEXT_CHECKED_RADIO_BUTTON: Special Character Definitions.
* #defined symbols, TEXT_CLOSE_BUTTON:  Special Character Definitions.
* #defined symbols, TEXT_LEFT_VLINE:    Special Character Definitions.
* #defined symbols, TEXT_RIGHT_VLINE:   Special Character Definitions.
* #defined symbols, TEXT_UNCHECKED_CHECK_BOX: Special Character Definitions.
* #defined symbols, TEXT_UNCHECKED_RADIO_BUTTON: Special Character Definitions.
* #defined symbols, TEXT_UP_BOTTOM_HLINES: Special Character Definitions.
* #defined symbols, TEXT_UP_HLINE:      Special Character Definitions.
* #defined symbols, TEXT_UP_LEFT_CORNER: Special Character Definitions.
* #defined symbols, TEXT_UP_RIGHT_CORNER: Special Character Definitions.
* #defined symbols, TEXTMODE_80x25_8:   Screen Definitions.
* #defined symbols, TEXTMODE_80x25_9:   Screen Definitions.
* #defined symbols, TEXTMODE_80x28_8:   Screen Definitions.
* #defined symbols, TEXTMODE_80x28_9:   Screen Definitions.
* #defined symbols, TEXTMODE_80x50_8:   Screen Definitions.
* #defined symbols, TEXTMODE_80x50_9:   Screen Definitions.
* #defined symbols, TEXTMODE_USER:      Screen Definitions.
* #defined symbols, TEXTZONE_SCROLL_SPEED: TextZone Definitions.
* #defined symbols, YES_BUTTON:         MessageBox Definitions.
* AbortProgram:                         Error Functions.
* Access Methods, TApplication:         TApplication Access Methods.
* Access Methods, TCheckBox:            TCheckBox Access Methods.
* Access Methods, TComboBox:            TComboBox Access Methods.
* Access Methods, TDecimalEditZone:     TDecimalEditZone Access Methods.
* Access Methods, TEditZone:            TEditZone Access Methods.
* Access Methods, TFrame:               TFrame Access Methods.
* Access Methods, TGauge:               TGauge Access Methods.
* Access Methods, TGroup:               TGroup Access Methods.
* Access Methods, TIntegerEditZone:     TIntegerEditZone Access Methods.
* Access Methods, TLabel:               TLabel Access Methods.
* Access Methods, TList:                TList Access Methods.
* Access Methods, TListBox:             TListBox Access Methods.
* Access Methods, TMenu:                TMenu Access Methods.
* Access Methods, TMenuBar:             TMenuBar Access Methods.
* Access Methods, TObject:              TObject Access Methods.
* Access Methods, TPushButton:          TPushButton Access Methods.
* Access Methods, TRadioButton:         TRadioButton Access Methods.
* Access Methods, TRadioGroup:          TRadioGroup Access Methods.
* Access Methods, TScrollBar:           TScrollBar Access Methods.
* Access Methods, TSimpleList:          TSimpleList Access Methods.
* Access Methods, TTab:                 TTab Access Methods.
* Access Methods, TTabGroup:            TTabGroup Access Methods.
* Access Methods, TTextZone:            TTextZone Access Methods.
* Access Methods, TWindow:              TWindow Access Methods.
* Application Macros:                   Application Macros.
* Application, JPCallbacksEnabled:      Application Macros.
* Application, JPDisableCallbacks:      Application Macros.
* Application, JPEnableCallbacks:       Application Macros.
* Application, JPGetClipboard:          Application Macros.
* Application, JPInit:                  Application Macros.
* Application, JPOutOfMemoryExit:       Application Macros.
* Application, JPRefresh:               Application Macros.
* Application, JPRefreshAll:            Application Macros.
* Application, JPRun:                   Application Macros.
* Application, JPRunDialog:             Application Macros.
* Application, JPSetClipboard:          Application Macros.
* Application, JPSetClipboardChangedCallback: Application Macros.
* Application, JPSetNoEventCallback:    Application Macros.
* Application, JPStop:                  Application Macros.
* Application, Macros for:              Application Macros.
* attribute (in struct TListItem):      TList Structures.
* attribute (in struct TMenuItem):      TMenu Structures.
* Base Classes, TApplication:           TApplication Base Classes.
* Base Classes, TCheckBox:              TCheckBox Base Classes.
* Base Classes, TComboBox:              TComboBox Base Classes.
* Base Classes, TDecimalEditZone:       TDecimalEditZone Base Classes.
* Base Classes, TEditZone:              TEditZone Base Classes.
* Base Classes, TFrame:                 TFrame Base Classes.
* Base Classes, TGauge:                 TGauge Base Classes.
* Base Classes, TGroup:                 TGroup Base Classes.
* Base Classes, TIntegerEditZone:       TIntegerEditZone Base Classes.
* Base Classes, TLabel:                 TLabel Base Classes.
* Base Classes, TList:                  TList Base Classes.
* Base Classes, TListBox:               TListBox Base Classes.
* Base Classes, TMenu:                  TMenu Base Classes.
* Base Classes, TMenuBar:               TMenuBar Base Classes.
* Base Classes, TObject:                TObject Base Classes.
* Base Classes, TPushButton:            TPushButton Base Classes.
* Base Classes, TRadioButton:           TRadioButton Base Classes.
* Base Classes, TRadioGroup:            TRadioGroup Base Classes.
* Base Classes, TScrollBar:             TScrollBar Base Classes.
* Base Classes, TSimpleList:            TSimpleList Base Classes.
* Base Classes, TTab:                   TTab Base Classes.
* Base Classes, TTabGroup:              TTabGroup Base Classes.
* Base Classes, TTextZone:              TTextZone Base Classes.
* Base Classes, TWindow:                TWindow Base Classes.
* Boolean Definitions:                  Boolean Definitions.
* Callbacks, TApplication:              TApplication Callbacks.
* Callbacks, TCheckBox:                 TCheckBox Callbacks.
* Callbacks, TComboBox:                 TComboBox Callbacks.
* Callbacks, TDecimalEditZone:          TDecimalEditZone Callbacks.
* Callbacks, TEditZone:                 TEditZone Callbacks.
* Callbacks, TFrame:                    TFrame Callbacks.
* Callbacks, TGauge:                    TGauge Callbacks.
* Callbacks, TGroup:                    TGroup Callbacks.
* Callbacks, TIntegerEditZone:          TIntegerEditZone Callbacks.
* Callbacks, TLabel:                    TLabel Callbacks.
* Callbacks, TList:                     TList Callbacks.
* Callbacks, TListBox:                  TListBox Callbacks.
* Callbacks, TMenu:                     TMenu Callbacks.
* Callbacks, TMenuBar:                  TMenuBar Callbacks.
* Callbacks, TObject:                   TObject Callbacks.
* Callbacks, TPushButton:               TPushButton Callbacks.
* Callbacks, TRadioButton:              TRadioButton Callbacks.
* Callbacks, TRadioGroup:               TRadioGroup Callbacks.
* Callbacks, TScrollBar:                TScrollBar Callbacks.
* Callbacks, TSimpleList:               TSimpleList Callbacks.
* Callbacks, TTab:                      TTab Callbacks.
* Callbacks, TTabGroup:                 TTabGroup Callbacks.
* Callbacks, TTextZone:                 TTextZone Callbacks.
* Callbacks, TWindow:                   TWindow Callbacks.
* Caption Functions:                    Caption Functions.
* Caption, DisplayLength:               Caption Functions.
* Caption, Functions for:               Caption Functions.
* Caption, HotKey:                      Caption Functions.
* character (in struct TKey):           Keyboard Structures.
* Character set Functions:              Character set Functions.
* Character set Macros:                 Character set Macros.
* Character set, DefineChars:           Character set Macros.
* Character set, Functions for:         Character set Functions.
* Character set, GetCharDefinition:     Character set Macros.
* Character set, GetSetCharDefinition:  Character set Functions.
* Character set, Macros for:            Character set Macros.
* Classes:                              Classes.
* Classes, TApplication:                TApplication.
* Classes, TApplication, Access Methods: TApplication Access Methods.
* Classes, TApplication, Base Classes:  TApplication Base Classes.
* Classes, TApplication, Callbacks:     TApplication Callbacks.
* Classes, TApplication, Data:          TApplication Data.
* Classes, TApplication, Derived Classes: TApplication Derived Classes.
* Classes, TApplication, Description:   TApplication Description.
* Classes, TApplication, Enumerations:  TApplication Enumerations.
* Classes, TApplication, Instanciation: TApplication Instanciation.
* Classes, TApplication, Notes:         TApplication Notes.
* Classes, TApplication, Special:       TApplication Special.
* Classes, TApplication, Static Methods: TApplication Static Methods.
* Classes, TCheckBox:                   TCheckBox.
* Classes, TCheckBox, Access Methods:   TCheckBox Access Methods.
* Classes, TCheckBox, Base Classes:     TCheckBox Base Classes.
* Classes, TCheckBox, Callbacks:        TCheckBox Callbacks.
* Classes, TCheckBox, Data:             TCheckBox Data.
* Classes, TCheckBox, Derived Classes:  TCheckBox Derived Classes.
* Classes, TCheckBox, Description:      TCheckBox Description.
* Classes, TCheckBox, Enumerations:     TCheckBox Enumerations.
* Classes, TCheckBox, Instanciation:    TCheckBox Instanciation.
* Classes, TCheckBox, Notes:            TCheckBox Notes.
* Classes, TCheckBox, Special:          TCheckBox Special.
* Classes, TCheckBox, Static Methods:   TCheckBox Static Methods.
* Classes, TComboBox:                   TComboBox.
* Classes, TComboBox, Access Methods:   TComboBox Access Methods.
* Classes, TComboBox, Base Classes:     TComboBox Base Classes.
* Classes, TComboBox, Callbacks:        TComboBox Callbacks.
* Classes, TComboBox, Data:             TComboBox Data.
* Classes, TComboBox, Derived Classes:  TComboBox Derived Classes.
* Classes, TComboBox, Description:      TComboBox Description.
* Classes, TComboBox, Enumerations:     TComboBox Enumerations.
* Classes, TComboBox, Instanciation:    TComboBox Instanciation.
* Classes, TComboBox, Notes:            TComboBox Notes.
* Classes, TComboBox, Special:          TComboBox Special.
* Classes, TComboBox, Static Methods:   TComboBox Static Methods.
* Classes, TDecimalEditZone:            TDecimalEditZone.
* Classes, TDecimalEditZone, Access Methods: TDecimalEditZone Access Methods.
* Classes, TDecimalEditZone, Base Classes: TDecimalEditZone Base Classes.
* Classes, TDecimalEditZone, Callbacks: TDecimalEditZone Callbacks.
* Classes, TDecimalEditZone, Data:      TDecimalEditZone Data.
* Classes, TDecimalEditZone, Derived Classes: TDecimalEditZone Derived Classes.
* Classes, TDecimalEditZone, Description: TDecimalEditZone Description.
* Classes, TDecimalEditZone, Enumerations: TDecimalEditZone Enumerations.
* Classes, TDecimalEditZone, Instanciation: TDecimalEditZone Instanciation.
* Classes, TDecimalEditZone, Notes:     TDecimalEditZone Notes.
* Classes, TDecimalEditZone, Special:   TDecimalEditZone Special.
* Classes, TDecimalEditZone, Static Methods: TDecimalEditZone Static Methods.
* Classes, TEditZone:                   TEditZone.
* Classes, TEditZone, Access Methods:   TEditZone Access Methods.
* Classes, TEditZone, Base Classes:     TEditZone Base Classes.
* Classes, TEditZone, Callbacks:        TEditZone Callbacks.
* Classes, TEditZone, Data:             TEditZone Data.
* Classes, TEditZone, Derived Classes:  TEditZone Derived Classes.
* Classes, TEditZone, Description:      TEditZone Description.
* Classes, TEditZone, Enumerations:     TEditZone Enumerations.
* Classes, TEditZone, Instanciation:    TEditZone Instanciation.
* Classes, TEditZone, Notes:            TEditZone Notes.
* Classes, TEditZone, Special:          TEditZone Special.
* Classes, TEditZone, Static Methods:   TEditZone Static Methods.
* Classes, TFrame:                      TFrame.
* Classes, TFrame, Access Methods:      TFrame Access Methods.
* Classes, TFrame, Base Classes:        TFrame Base Classes.
* Classes, TFrame, Callbacks:           TFrame Callbacks.
* Classes, TFrame, Data:                TFrame Data.
* Classes, TFrame, Derived Classes:     TFrame Derived Classes.
* Classes, TFrame, Description:         TFrame Description.
* Classes, TFrame, Enumerations:        TFrame Enumerations.
* Classes, TFrame, Instanciation:       TFrame Instanciation.
* Classes, TFrame, Notes:               TFrame Notes.
* Classes, TFrame, Special:             TFrame Special.
* Classes, TFrame, Static Methods:      TFrame Static Methods.
* Classes, TGauge:                      TGauge.
* Classes, TGauge, Access Methods:      TGauge Access Methods.
* Classes, TGauge, Base Classes:        TGauge Base Classes.
* Classes, TGauge, Callbacks:           TGauge Callbacks.
* Classes, TGauge, Data:                TGauge Data.
* Classes, TGauge, Derived Classes:     TGauge Derived Classes.
* Classes, TGauge, Description:         TGauge Description.
* Classes, TGauge, Enumerations:        TGauge Enumerations.
* Classes, TGauge, Instanciation:       TGauge Instanciation.
* Classes, TGauge, Notes:               TGauge Notes.
* Classes, TGauge, Special:             TGauge Special.
* Classes, TGauge, Static Methods:      TGauge Static Methods.
* Classes, TGroup:                      TGroup.
* Classes, TGroup, Access Methods:      TGroup Access Methods.
* Classes, TGroup, Base Classes:        TGroup Base Classes.
* Classes, TGroup, Callbacks:           TGroup Callbacks.
* Classes, TGroup, Data:                TGroup Data.
* Classes, TGroup, Derived Classes:     TGroup Derived Classes.
* Classes, TGroup, Description:         TGroup Description.
* Classes, TGroup, Enumerations:        TGroup Enumerations.
* Classes, TGroup, Instanciation:       TGroup Instanciation.
* Classes, TGroup, Notes:               TGroup Notes.
* Classes, TGroup, Special:             TGroup Special.
* Classes, TGroup, Static Methods:      TGroup Static Methods.
* Classes, TIntegerEditZone:            TIntegerEditZone.
* Classes, TIntegerEditZone, Access Methods: TIntegerEditZone Access Methods.
* Classes, TIntegerEditZone, Base Classes: TIntegerEditZone Base Classes.
* Classes, TIntegerEditZone, Callbacks: TIntegerEditZone Callbacks.
* Classes, TIntegerEditZone, Data:      TIntegerEditZone Data.
* Classes, TIntegerEditZone, Derived Classes: TIntegerEditZone Derived Classes.
* Classes, TIntegerEditZone, Description: TIntegerEditZone Description.
* Classes, TIntegerEditZone, Enumerations: TIntegerEditZone Enumerations.
* Classes, TIntegerEditZone, Instanciation: TIntegerEditZone Instanciation.
* Classes, TIntegerEditZone, Notes:     TIntegerEditZone Notes.
* Classes, TIntegerEditZone, Special:   TIntegerEditZone Special.
* Classes, TIntegerEditZone, Static Methods: TIntegerEditZone Static Methods.
* Classes, TLabel:                      TLabel.
* Classes, TLabel, Access Methods:      TLabel Access Methods.
* Classes, TLabel, Base Classes:        TLabel Base Classes.
* Classes, TLabel, Callbacks:           TLabel Callbacks.
* Classes, TLabel, Data:                TLabel Data.
* Classes, TLabel, Derived Classes:     TLabel Derived Classes.
* Classes, TLabel, Description:         TLabel Description.
* Classes, TLabel, Enumerations:        TLabel Enumerations.
* Classes, TLabel, Instanciation:       TLabel Instanciation.
* Classes, TLabel, Notes:               TLabel Notes.
* Classes, TLabel, Special:             TLabel Special.
* Classes, TLabel, Static Methods:      TLabel Static Methods.
* Classes, TList:                       TList.
* Classes, TList, Access Methods:       TList Access Methods.
* Classes, TList, Base Classes:         TList Base Classes.
* Classes, TList, Callbacks:            TList Callbacks.
* Classes, TList, Data:                 TList Data.
* Classes, TList, Derived Classes:      TList Derived Classes.
* Classes, TList, Description:          TList Description.
* Classes, TList, Enumerations:         TList Enumerations.
* Classes, TList, Instanciation:        TList Instanciation.
* Classes, TList, Notes:                TList Notes.
* Classes, TList, Special:              TList Special.
* Classes, TList, Static Methods:       TList Static Methods.
* Classes, TListBox:                    TListBox.
* Classes, TListBox, Access Methods:    TListBox Access Methods.
* Classes, TListBox, Base Classes:      TListBox Base Classes.
* Classes, TListBox, Callbacks:         TListBox Callbacks.
* Classes, TListBox, Data:              TListBox Data.
* Classes, TListBox, Derived Classes:   TListBox Derived Classes.
* Classes, TListBox, Description:       TListBox Description.
* Classes, TListBox, Enumerations:      TListBox Enumerations.
* Classes, TListBox, Instanciation:     TListBox Instanciation.
* Classes, TListBox, Notes:             TListBox Notes.
* Classes, TListBox, Special:           TListBox Special.
* Classes, TListBox, Static Methods:    TListBox Static Methods.
* Classes, TMenu:                       TMenu.
* Classes, TMenu, Access Methods:       TMenu Access Methods.
* Classes, TMenu, Base Classes:         TMenu Base Classes.
* Classes, TMenu, Callbacks:            TMenu Callbacks.
* Classes, TMenu, Data:                 TMenu Data.
* Classes, TMenu, Derived Classes:      TMenu Derived Classes.
* Classes, TMenu, Description:          TMenu Description.
* Classes, TMenu, Enumerations:         TMenu Enumerations.
* Classes, TMenu, Instanciation:        TMenu Instanciation.
* Classes, TMenu, Notes:                TMenu Notes.
* Classes, TMenu, Special:              TMenu Special.
* Classes, TMenu, Static Methods:       TMenu Static Methods.
* Classes, TMenuBar:                    TMenuBar.
* Classes, TMenuBar, Access Methods:    TMenuBar Access Methods.
* Classes, TMenuBar, Base Classes:      TMenuBar Base Classes.
* Classes, TMenuBar, Callbacks:         TMenuBar Callbacks.
* Classes, TMenuBar, Data:              TMenuBar Data.
* Classes, TMenuBar, Derived Classes:   TMenuBar Derived Classes.
* Classes, TMenuBar, Description:       TMenuBar Description.
* Classes, TMenuBar, Enumerations:      TMenuBar Enumerations.
* Classes, TMenuBar, Instanciation:     TMenuBar Instanciation.
* Classes, TMenuBar, Notes:             TMenuBar Notes.
* Classes, TMenuBar, Special:           TMenuBar Special.
* Classes, TMenuBar, Static Methods:    TMenuBar Static Methods.
* Classes, TObject:                     TObject.
* Classes, TObject, Access Methods:     TObject Access Methods.
* Classes, TObject, Base Classes:       TObject Base Classes.
* Classes, TObject, Callbacks:          TObject Callbacks.
* Classes, TObject, Data:               TObject Data.
* Classes, TObject, Derived Classes:    TObject Derived Classes.
* Classes, TObject, Description:        TObject Description.
* Classes, TObject, Enumerations:       TObject Enumerations.
* Classes, TObject, Instanciation:      TObject Instanciation.
* Classes, TObject, Notes:              TObject Notes.
* Classes, TObject, Special:            TObject Special.
* Classes, TObject, Static Methods:     TObject Static Methods.
* Classes, TPushButton:                 TPushButton.
* Classes, TPushButton, Access Methods: TPushButton Access Methods.
* Classes, TPushButton, Base Classes:   TPushButton Base Classes.
* Classes, TPushButton, Callbacks:      TPushButton Callbacks.
* Classes, TPushButton, Data:           TPushButton Data.
* Classes, TPushButton, Derived Classes: TPushButton Derived Classes.
* Classes, TPushButton, Description:    TPushButton Description.
* Classes, TPushButton, Enumerations:   TPushButton Enumerations.
* Classes, TPushButton, Instanciation:  TPushButton Instanciation.
* Classes, TPushButton, Notes:          TPushButton Notes.
* Classes, TPushButton, Special:        TPushButton Special.
* Classes, TPushButton, Static Methods: TPushButton Static Methods.
* Classes, TRadioButton:                TRadioButton.
* Classes, TRadioButton, Access Methods: TRadioButton Access Methods.
* Classes, TRadioButton, Base Classes:  TRadioButton Base Classes.
* Classes, TRadioButton, Callbacks:     TRadioButton Callbacks.
* Classes, TRadioButton, Data:          TRadioButton Data.
* Classes, TRadioButton, Derived Classes: TRadioButton Derived Classes.
* Classes, TRadioButton, Description:   TRadioButton Description.
* Classes, TRadioButton, Enumerations:  TRadioButton Enumerations.
* Classes, TRadioButton, Instanciation: TRadioButton Instanciation.
* Classes, TRadioButton, Notes:         TRadioButton Notes.
* Classes, TRadioButton, Special:       TRadioButton Special.
* Classes, TRadioButton, Static Methods: TRadioButton Static Methods.
* Classes, TRadioGroup:                 TRadioGroup.
* Classes, TRadioGroup, Access Methods: TRadioGroup Access Methods.
* Classes, TRadioGroup, Base Classes:   TRadioGroup Base Classes.
* Classes, TRadioGroup, Callbacks:      TRadioGroup Callbacks.
* Classes, TRadioGroup, Data:           TRadioGroup Data.
* Classes, TRadioGroup, Derived Classes: TRadioGroup Derived Classes.
* Classes, TRadioGroup, Description:    TRadioGroup Description.
* Classes, TRadioGroup, Enumerations:   TRadioGroup Enumerations.
* Classes, TRadioGroup, Instanciation:  TRadioGroup Instanciation.
* Classes, TRadioGroup, Notes:          TRadioGroup Notes.
* Classes, TRadioGroup, Special:        TRadioGroup Special.
* Classes, TRadioGroup, Static Methods: TRadioGroup Static Methods.
* Classes, TScrollBar:                  TScrollBar.
* Classes, TScrollBar, Access Methods:  TScrollBar Access Methods.
* Classes, TScrollBar, Base Classes:    TScrollBar Base Classes.
* Classes, TScrollBar, Callbacks:       TScrollBar Callbacks.
* Classes, TScrollBar, Data:            TScrollBar Data.
* Classes, TScrollBar, Derived Classes: TScrollBar Derived Classes.
* Classes, TScrollBar, Description:     TScrollBar Description.
* Classes, TScrollBar, Enumerations:    TScrollBar Enumerations.
* Classes, TScrollBar, Instanciation:   TScrollBar Instanciation.
* Classes, TScrollBar, Notes:           TScrollBar Notes.
* Classes, TScrollBar, Special:         TScrollBar Special.
* Classes, TScrollBar, Static Methods:  TScrollBar Static Methods.
* Classes, TSimpleList:                 TSimpleList.
* Classes, TSimpleList, Access Methods: TSimpleList Access Methods.
* Classes, TSimpleList, Base Classes:   TSimpleList Base Classes.
* Classes, TSimpleList, Callbacks:      TSimpleList Callbacks.
* Classes, TSimpleList, Data:           TSimpleList Data.
* Classes, TSimpleList, Derived Classes: TSimpleList Derived Classes.
* Classes, TSimpleList, Description:    TSimpleList Description.
* Classes, TSimpleList, Enumerations:   TSimpleList Enumerations.
* Classes, TSimpleList, Instanciation:  TSimpleList Instanciation.
* Classes, TSimpleList, Notes:          TSimpleList Notes.
* Classes, TSimpleList, Special:        TSimpleList Special.
* Classes, TSimpleList, Static Methods: TSimpleList Static Methods.
* Classes, TTab:                        TTab.
* Classes, TTab, Access Methods:        TTab Access Methods.
* Classes, TTab, Base Classes:          TTab Base Classes.
* Classes, TTab, Callbacks:             TTab Callbacks.
* Classes, TTab, Data:                  TTab Data.
* Classes, TTab, Derived Classes:       TTab Derived Classes.
* Classes, TTab, Description:           TTab Description.
* Classes, TTab, Enumerations:          TTab Enumerations.
* Classes, TTab, Instanciation:         TTab Instanciation.
* Classes, TTab, Notes:                 TTab Notes.
* Classes, TTab, Special:               TTab Special.
* Classes, TTab, Static Methods:        TTab Static Methods.
* Classes, TTabGroup:                   TTabGroup.
* Classes, TTabGroup, Access Methods:   TTabGroup Access Methods.
* Classes, TTabGroup, Base Classes:     TTabGroup Base Classes.
* Classes, TTabGroup, Callbacks:        TTabGroup Callbacks.
* Classes, TTabGroup, Data:             TTabGroup Data.
* Classes, TTabGroup, Derived Classes:  TTabGroup Derived Classes.
* Classes, TTabGroup, Description:      TTabGroup Description.
* Classes, TTabGroup, Enumerations:     TTabGroup Enumerations.
* Classes, TTabGroup, Instanciation:    TTabGroup Instanciation.
* Classes, TTabGroup, Notes:            TTabGroup Notes.
* Classes, TTabGroup, Special:          TTabGroup Special.
* Classes, TTabGroup, Static Methods:   TTabGroup Static Methods.
* Classes, TTextZone:                   TTextZone.
* Classes, TTextZone, Access Methods:   TTextZone Access Methods.
* Classes, TTextZone, Base Classes:     TTextZone Base Classes.
* Classes, TTextZone, Callbacks:        TTextZone Callbacks.
* Classes, TTextZone, Data:             TTextZone Data.
* Classes, TTextZone, Derived Classes:  TTextZone Derived Classes.
* Classes, TTextZone, Description:      TTextZone Description.
* Classes, TTextZone, Enumerations:     TTextZone Enumerations.
* Classes, TTextZone, Instanciation:    TTextZone Instanciation.
* Classes, TTextZone, Notes:            TTextZone Notes.
* Classes, TTextZone, Special:          TTextZone Special.
* Classes, TTextZone, Static Methods:   TTextZone Static Methods.
* Classes, TWindow:                     TWindow.
* Classes, TWindow, Access Methods:     TWindow Access Methods.
* Classes, TWindow, Base Classes:       TWindow Base Classes.
* Classes, TWindow, Callbacks:          TWindow Callbacks.
* Classes, TWindow, Data:               TWindow Data.
* Classes, TWindow, Derived Classes:    TWindow Derived Classes.
* Classes, TWindow, Description:        TWindow Description.
* Classes, TWindow, Enumerations:       TWindow Enumerations.
* Classes, TWindow, Instanciation:      TWindow Instanciation.
* Classes, TWindow, Notes:              TWindow Notes.
* Classes, TWindow, Special:            TWindow Special.
* Classes, TWindow, Static Methods:     TWindow Static Methods.
* ClearPartOfScreen:                    Screen Functions.
* ClearScreen:                          Screen Functions.
* CloseMouse:                           Mouse Functions.
* CloseScreen:                          Screen Functions.
* Contributions:                        Contributions.
* Conversion Functions:                 Conversion Functions.
* Conversion, DoubleToString:           Conversion Functions.
* Conversion, EndOfString:              Conversion Functions.
* Conversion, Functions for:            Conversion Functions.
* Conversion, HexaToInt:                Conversion Functions.
* Conversion, LongToString:             Conversion Functions.
* Conversion, StringToDouble:           Conversion Functions.
* Conversion, StringToLong:             Conversion Functions.
* Copying:                              Copying.
* Credits:                              Credits.
* Cursor Definitions:                   Cursor Definitions.
* Cursor Functions:                     Cursor Functions.
* Cursor, Functions for:                Cursor Functions.
* Cursor, GetTextCursorStyle:           Cursor Functions.
* Cursor, GetXTextCursor:               Cursor Functions.
* Cursor, GetYTextCursor:               Cursor Functions.
* Cursor, HideTextCursor:               Cursor Functions.
* Cursor, INSERT_CURSOR:                Cursor Definitions.
* Cursor, RECOVER_CURSOR:               Cursor Definitions.
* Cursor, SetTextCursorAt:              Cursor Functions.
* Cursor, SetTextCursorStyle:           Cursor Functions.
* Cursor, ShowTextCursor:               Cursor Functions.
* Cursor, TextCursorIsVisible:          Cursor Functions.
* Data file Functions:                  Data file Functions.
* Data file, Functions for:             Data file Functions.
* Data file, GetInvalidDataFileMessage(): Data file Functions.
* Data file, LoadDataFile:              Data file Functions.
* Data, TApplication:                   TApplication Data.
* Data, TCheckBox:                      TCheckBox Data.
* Data, TComboBox:                      TComboBox Data.
* Data, TDecimalEditZone:               TDecimalEditZone Data.
* Data, TEditZone:                      TEditZone Data.
* Data, TFrame:                         TFrame Data.
* Data, TGauge:                         TGauge Data.
* Data, TGroup:                         TGroup Data.
* Data, TIntegerEditZone:               TIntegerEditZone Data.
* Data, TLabel:                         TLabel Data.
* Data, TList:                          TList Data.
* Data, TListBox:                       TListBox Data.
* Data, TMenu:                          TMenu Data.
* Data, TMenuBar:                       TMenuBar Data.
* Data, TObject:                        TObject Data.
* Data, TPushButton:                    TPushButton Data.
* Data, TRadioButton:                   TRadioButton Data.
* Data, TRadioGroup:                    TRadioGroup Data.
* Data, TScrollBar:                     TScrollBar Data.
* Data, TSimpleList:                    TSimpleList Data.
* Data, TTab:                           TTab Data.
* Data, TTabGroup:                      TTabGroup Data.
* Data, TTextZone:                      TTextZone Data.
* Data, TWindow:                        TWindow Data.
* Datatype Definitions:                 Datatype Definitions.
* Datatype, DOUBLE_MAX_LENGTH:          Datatype Definitions.
* Datatype, DOUBLE_NB_DIGITS:           Datatype Definitions.
* Datatype, LONG_MAX_LENGTH:            Datatype Definitions.
* Datatype, MAXWORD:                    Datatype Definitions.
* Datatypes:                            Datatypes.
* DEBUG:                                Debug Macros.
* Debug Macros:                         Debug Macros.
* Debug, DEBUG:                         Debug Macros.
* Debug, DEBUG_DISPLAY_MEMORY:          Debug Macros.
* Debug, DEBUG_HIDE_MEMORY:             Debug Macros.
* Debug, DEBUG_SHOW_MEMORY:             Debug Macros.
* Debug, DEBUG_STOP:                    Debug Macros.
* Debug, DEBUG_TEST:                    Debug Macros.
* Debug, Macros for:                    Debug Macros.
* Debug, NO_DEBUG:                      Debug Macros.
* DEBUG_DISPLAY_MEMORY:                 Debug Macros.
* DEBUG_HIDE_MEMORY:                    Debug Macros.
* DEBUG_SHOW_MEMORY:                    Debug Macros.
* DEBUG_STOP:                           Debug Macros.
* DEBUG_TEST:                           Debug Macros.
* DefineChars:                          Character set Macros.
* Derived Classes, TApplication:        TApplication Derived Classes.
* Derived Classes, TCheckBox:           TCheckBox Derived Classes.
* Derived Classes, TComboBox:           TComboBox Derived Classes.
* Derived Classes, TDecimalEditZone:    TDecimalEditZone Derived Classes.
* Derived Classes, TEditZone:           TEditZone Derived Classes.
* Derived Classes, TFrame:              TFrame Derived Classes.
* Derived Classes, TGauge:              TGauge Derived Classes.
* Derived Classes, TGroup:              TGroup Derived Classes.
* Derived Classes, TIntegerEditZone:    TIntegerEditZone Derived Classes.
* Derived Classes, TLabel:              TLabel Derived Classes.
* Derived Classes, TList:               TList Derived Classes.
* Derived Classes, TListBox:            TListBox Derived Classes.
* Derived Classes, TMenu:               TMenu Derived Classes.
* Derived Classes, TMenuBar:            TMenuBar Derived Classes.
* Derived Classes, TObject:             TObject Derived Classes.
* Derived Classes, TPushButton:         TPushButton Derived Classes.
* Derived Classes, TRadioButton:        TRadioButton Derived Classes.
* Derived Classes, TRadioGroup:         TRadioGroup Derived Classes.
* Derived Classes, TScrollBar:          TScrollBar Derived Classes.
* Derived Classes, TSimpleList:         TSimpleList Derived Classes.
* Derived Classes, TTab:                TTab Derived Classes.
* Derived Classes, TTabGroup:           TTabGroup Derived Classes.
* Derived Classes, TTextZone:           TTextZone Derived Classes.
* Derived Classes, TWindow:             TWindow Derived Classes.
* Description, TApplication:            TApplication Description.
* Description, TCheckBox:               TCheckBox Description.
* Description, TComboBox:               TComboBox Description.
* Description, TDecimalEditZone:        TDecimalEditZone Description.
* Description, TEditZone:               TEditZone Description.
* Description, TFrame:                  TFrame Description.
* Description, TGauge:                  TGauge Description.
* Description, TGroup:                  TGroup Description.
* Description, TIntegerEditZone:        TIntegerEditZone Description.
* Description, TLabel:                  TLabel Description.
* Description, TList:                   TList Description.
* Description, TListBox:                TListBox Description.
* Description, TMenu:                   TMenu Description.
* Description, TMenuBar:                TMenuBar Description.
* Description, TObject:                 TObject Description.
* Description, TPushButton:             TPushButton Description.
* Description, TRadioButton:            TRadioButton Description.
* Description, TRadioGroup:             TRadioGroup Description.
* Description, TScrollBar:              TScrollBar Description.
* Description, TSimpleList:             TSimpleList Description.
* Description, TTab:                    TTab Description.
* Description, TTabGroup:               TTabGroup Description.
* Description, TTextZone:               TTextZone Description.
* Description, TWindow:                 TWindow Description.
* Dialog Functions:                     Dialog Functions.
* Dialog, FileSelectionBox:             Dialog Functions.
* Dialog, Functions for:                Dialog Functions.
* Dialog, InputBox:                     Dialog Functions.
* Dialog, MessageBox:                   Dialog Functions.
* DisplayLength:                        Caption Functions.
* DoubleToString:                       Conversion Functions.
* DriveExists:                          File Functions.
* EditZone Definitions:                 EditZone Definitions.
* EditZone, EDITZONE_SCROLL_SPEED:      EditZone Definitions.
* EndOfString:                          Conversion Functions.
* Enumerations, TApplication:           TApplication Enumerations.
* Enumerations, TCheckBox:              TCheckBox Enumerations.
* Enumerations, TComboBox:              TComboBox Enumerations.
* Enumerations, TDecimalEditZone:       TDecimalEditZone Enumerations.
* Enumerations, TEditZone:              TEditZone Enumerations.
* Enumerations, TFrame:                 TFrame Enumerations.
* Enumerations, TGauge:                 TGauge Enumerations.
* Enumerations, TGroup:                 TGroup Enumerations.
* Enumerations, TIntegerEditZone:       TIntegerEditZone Enumerations.
* Enumerations, TLabel:                 TLabel Enumerations.
* Enumerations, TList:                  TList Enumerations.
* Enumerations, TListBox:               TListBox Enumerations.
* Enumerations, TMenu:                  TMenu Enumerations.
* Enumerations, TMenuBar:               TMenuBar Enumerations.
* Enumerations, TObject:                TObject Enumerations.
* Enumerations, TPushButton:            TPushButton Enumerations.
* Enumerations, TRadioButton:           TRadioButton Enumerations.
* Enumerations, TRadioGroup:            TRadioGroup Enumerations.
* Enumerations, TScrollBar:             TScrollBar Enumerations.
* Enumerations, TSimpleList:            TSimpleList Enumerations.
* Enumerations, TTab:                   TTab Enumerations.
* Enumerations, TTabGroup:              TTabGroup Enumerations.
* Enumerations, TTextZone:              TTextZone Enumerations.
* Enumerations, TWindow:                TWindow Enumerations.
* Error codes:                          Error codes.
* Error Functions:                      Error Functions.
* Error, AbortProgram:                  Error Functions.
* Error, FatalError:                    Error Functions.
* Error, Functions for:                 Error Functions.
* Error, TextError:                     Error Functions.
* FAQ:                                  FAQ.
* FatalError:                           Error Functions.
* File Definitions:                     File Definitions.
* File Functions:                       File Functions.
* File, DriveExists:                    File Functions.
* File, FileExists:                     File Functions.
* File, FullPath:                       File Functions.
* File, Functions for:                  File Functions.
* File, GetCurrentDir:                  File Functions.
* File, MAX_DIR:                        File Definitions.
* File, MAX_DRIVE:                      File Definitions.
* File, MAX_FILE:                       File Definitions.
* File, MAX_PATH:                       File Definitions.
* FileExists:                           File Functions.
* FileSelectionBox:                     Dialog Functions.
* FreeVocabulary:                       Vocabulary Functions.
* FullPath:                             File Functions.
* Functions:                            Functions.
* Gauge Definitions:                    Gauge Definitions.
* Gauge, GAUGE_OUT_OF_STYLE:            Gauge Definitions.
* Gauge, GAUGE_PERCENTAGE_STYLE:        Gauge Definitions.
* GetCharDefinition:                    Character set Macros.
* GetCurrentDir:                        File Functions.
* GetFontHeight:                        Screen Functions.
* GetFontWidth:                         Screen Functions.
* GetInvalidDataFileMessage():          Data file Functions.
* GetKey:                               Keyboard Functions.
* GetLanguage:                          Vocabulary Functions.
* getMousePointer:                      Mouse Functions.
* GetMouseState:                        Mouse Functions.
* GetNullKey:                           Keyboard Functions.
* GetScreenHeight:                      Screen Functions.
* GetScreenWidth:                       Screen Functions.
* GetSetCharDefinition:                 Character set Functions.
* GetString:                            Vocabulary Functions.
* GetTextCursorStyle:                   Cursor Functions.
* GetTextHeight:                        Text Functions.
* GetTextMode:                          Screen Functions.
* GetTextWidth:                         Text Functions.
* GetXTextCursor:                       Cursor Functions.
* GetYTextCursor:                       Cursor Functions.
* Global Variables:                     Global Variables.
* GraphicalMousePointer:                Mouse Functions.
* help_message (in struct TMenuItem):   TMenu Structures.
* HexaToInt:                            Conversion Functions.
* HideScreen:                           Screen Functions.
* HideTextCursor:                       Cursor Functions.
* HorizontalShadow:                     Shadow Functions.
* hot_character (in struct TKey):       Keyboard Structures.
* HotKey:                               Caption Functions.
* InitMouse:                            Mouse Functions.
* InitScreen:                           Screen Functions.
* InputBox:                             Dialog Functions.
* Instanciation, TApplication:          TApplication Instanciation.
* Instanciation, TCheckBox:             TCheckBox Instanciation.
* Instanciation, TComboBox:             TComboBox Instanciation.
* Instanciation, TDecimalEditZone:      TDecimalEditZone Instanciation.
* Instanciation, TEditZone:             TEditZone Instanciation.
* Instanciation, TFrame:                TFrame Instanciation.
* Instanciation, TGauge:                TGauge Instanciation.
* Instanciation, TGroup:                TGroup Instanciation.
* Instanciation, TIntegerEditZone:      TIntegerEditZone Instanciation.
* Instanciation, TLabel:                TLabel Instanciation.
* Instanciation, TList:                 TList Instanciation.
* Instanciation, TListBox:              TListBox Instanciation.
* Instanciation, TMenu:                 TMenu Instanciation.
* Instanciation, TMenuBar:              TMenuBar Instanciation.
* Instanciation, TObject:               TObject Instanciation.
* Instanciation, TPushButton:           TPushButton Instanciation.
* Instanciation, TRadioButton:          TRadioButton Instanciation.
* Instanciation, TRadioGroup:           TRadioGroup Instanciation.
* Instanciation, TScrollBar:            TScrollBar Instanciation.
* Instanciation, TSimpleList:           TSimpleList Instanciation.
* Instanciation, TTab:                  TTab Instanciation.
* Instanciation, TTabGroup:             TTabGroup Instanciation.
* Instanciation, TTextZone:             TTextZone Instanciation.
* Instanciation, TWindow:               TWindow Instanciation.
* IsAltKey:                             Keyboard Functions.
* IsExtendedKey:                        Keyboard Functions.
* IsNullKey:                            Keyboard Functions.
* IsPrintableKey:                       Keyboard Functions.
* JPCallbacksEnabled:                   Application Macros.
* JPDisableCallbacks:                   Application Macros.
* JPEnableCallbacks:                    Application Macros.
* JPGetClipboard:                       Application Macros.
* JPInit:                               Application Macros.
* JPMakeNextWindowActive:               Window Functions.
* JPOutOfMemoryExit:                    Application Macros.
* JPRefresh:                            Application Macros.
* JPRefreshAll:                         Application Macros.
* JPRun:                                Application Macros.
* JPRunDialog:                          Application Macros.
* JPSetClipboard:                       Application Macros.
* JPSetClipboardChangedCallback:        Application Macros.
* JPSetNoEventCallback:                 Application Macros.
* JPStop:                               Application Macros.
* Keyboard Functions:                   Keyboard Functions.
* Keyboard Structures:                  Keyboard Structures.
* Keyboard, Functions for:              Keyboard Functions.
* Keyboard, GetKey:                     Keyboard Functions.
* Keyboard, GetNullKey:                 Keyboard Functions.
* Keyboard, IsAltKey:                   Keyboard Functions.
* Keyboard, IsExtendedKey:              Keyboard Functions.
* Keyboard, IsNullKey:                  Keyboard Functions.
* Keyboard, IsPrintableKey:             Keyboard Functions.
* Keyboard, ResetKeyboard:              Keyboard Functions.
* Keyboard, Structures for:             Keyboard Structures.
* Keyboard, TKey:                       Keyboard Structures.
* Keyboard, WaitKeyRelease:             Keyboard Functions.
* Keyboard, WaitLeftClickOrKeyPressed:  Keyboard Functions.
* Keycode Definitions:                  Keycode Definitions.
* label (in struct TListItem):          TList Structures.
* label (in struct TMenuItem):          TMenu Structures.
* Language Definitions:                 Language Definitions.
* Language, ENGLISH:                    Language Definitions.
* Language, FRENCH:                     Language Definitions.
* Language, GERMAN:                     Language Definitions.
* Language, NONE:                       Language Definitions.
* List Definitions:                     List Definitions.
* List, LIST_SCROLL_SPEED:              List Definitions.
* LoadDataFile:                         Data file Functions.
* LoadVocabulary:                       Vocabulary Functions.
* LongToString:                         Conversion Functions.
* m_activate:                           TWindow Special.
* m_add_item <1>:                       TComboBox Special.
* m_add_item <1>:                       TMenu Special.
* m_add_item:                           TSimpleList Special.
* m_add_items <1>:                      TList Special.
* m_add_items <1>:                      TMenu Special.
* m_add_items <1>:                      TComboBox Special.
* m_add_items:                          TSimpleList Special.
* m_callbacks_enabled:                  TApplication Callbacks.
* m_can_lose_focus:                     TObject Access Methods.
* m_check <1>:                          TRadioButton Special.
* m_check:                              TCheckBox Special.
* m_check_item:                         TList Special.
* m_clear_list <1>:                     TComboBox Special.
* m_clear_list <1>:                     TList Special.
* m_clear_list:                         TMenu Special.
* m_clear_selection <1>:                TTextZone Special.
* m_clear_selection:                    TEditZone Special.
* m_clear_text:                         TTextZone Special.
* m_clear_zone:                         TTextZone Special.
* m_click_item:                         TMenu Special.
* m_close:                              TWindow Special.
* m_cls:                                TWindow Special.
* m_copy_selection:                     TTextZone Special.
* m_cut_selection:                      TTextZone Special.
* m_delete_item <1>:                    TList Special.
* m_delete_item <1>:                    TComboBox Special.
* m_delete_item:                        TMenu Special.
* m_delete_line:                        TTextZone Special.
* m_disable <1>:                        TMenuBar Access Methods.
* m_disable <1>:                        TComboBox Access Methods.
* m_disable <1>:                        TObject Access Methods.
* m_disable:                            TMenu Access Methods.
* m_disable_callbacks:                  TApplication Callbacks.
* m_disable_item:                       TList Special.
* m_disable_modification <1>:           TEditZone Special.
* m_disable_modification:               TComboBox Access Methods.
* m_disable_string_checking:            TEditZone Special.
* m_display_arrow:                      TWindow Special.
* m_draw_frame:                         TWindow Special.
* m_enable <1>:                         TComboBox Access Methods.
* m_enable <1>:                         TMenuBar Access Methods.
* m_enable:                             TObject Access Methods.
* m_enable_callbacks:                   TApplication Callbacks.
* m_enable_item:                        TList Special.
* m_enable_modification <1>:            TEditZone Special.
* m_enable_modification:                TComboBox Access Methods.
* m_enable_string_checking:             TEditZone Special.
* m_free_zone_buffer:                   TTextZone Special.
* m_get_background:                     TObject Access Methods.
* m_get_bright_attr:                    TWindow Special.
* m_get_caption:                        TObject Access Methods.
* m_get_clipboard:                      TApplication Access Methods.
* m_get_current_application:            TApplication Static Methods.
* m_get_cursor_pos:                     TTextZone Access Methods.
* m_get_first_visible_item_index:       TList Access Methods.
* m_get_focused_element:                TGroup Access Methods.
* m_get_focused_object:                 TGroup Special.
* m_get_height:                         TObject Access Methods.
* m_get_hotkey:                         TObject Access Methods.
* m_get_inactive_attr:                  TWindow Special.
* m_get_inverse_attr:                   TWindow Special.
* m_get_inverse_inactive_attr:          TWindow Special.
* m_get_item:                           TList Access Methods.
* m_get_item_index:                     TList Access Methods.
* m_get_last_visible_item_index:        TList Access Methods.
* m_get_line:                           TTextZone Special.
* m_get_list:                           TComboBox Access Methods.
* m_get_list_height:                    TList Access Methods.
* m_get_max_value <1>:                  TScrollBar Access Methods.
* m_get_max_value <1>:                  TIntegerEditZone Access Methods.
* m_get_max_value <1>:                  TGauge Access Methods.
* m_get_max_value:                      TDecimalEditZone Access Methods.
* m_get_min_value <1>:                  TDecimalEditZone Access Methods.
* m_get_min_value <1>:                  TIntegerEditZone Access Methods.
* m_get_min_value:                      TScrollBar Access Methods.
* m_get_nb_cols:                        TTextZone Access Methods.
* m_get_nb_items:                       TList Access Methods.
* m_get_nb_lines:                       TTextZone Access Methods.
* m_get_normal_attr:                    TWindow Special.
* m_get_number:                         TObject Access Methods.
* m_get_parent:                         TObject Access Methods.
* m_get_previous_focused_object:        TWindow Special.
* m_get_selected_item_index:            TList Access Methods.
* m_get_selected_zone:                  TTextZone Special.
* m_get_string:                         TEditZone Special.
* m_get_string_length:                  TEditZone Special.
* m_get_type:                           TObject Access Methods.
* m_get_value <1>:                      TGauge Access Methods.
* m_get_value:                          TScrollBar Access Methods.
* m_get_width:                          TObject Access Methods.
* m_get_window:                         TObject Access Methods.
* m_get_x <1>:                          TWindow Access Methods.
* m_get_x:                              TObject Access Methods.
* m_get_x_in_window:                    TObject Access Methods.
* m_get_y <1>:                          TWindow Access Methods.
* m_get_y:                              TObject Access Methods.
* m_get_y_in_window:                    TObject Access Methods.
* m_get_zone:                           TTextZone Special.
* m_gotoxy:                             TWindow Special.
* m_has_focus:                          TObject Access Methods.
* m_init:                               TApplication Special.
* m_insert_item <1>:                    TMenu Special.
* m_insert_item:                        TSimpleList Special.
* m_insert_line:                        TTextZone Special.
* m_insert_text:                        TTextZone Special.
* m_is_checked:                         TCheckBox Access Methods.
* m_is_enabled:                         TObject Access Methods.
* m_is_open:                            TObject Access Methods.
* m_item_is_checked:                    TList Special.
* m_item_is_enabled:                    TList Special.
* m_line_length:                        TTextZone Access Methods.
* m_load_text:                          TTextZone Special.
* m_make_next_window_active:            TApplication Special.
* m_new_handler:                        TApplication Static Methods.
* m_open:                               TWindow Special.
* m_open_as_object_element:             TWindow Special.
* m_paste:                              TTextZone Special.
* m_press:                              TPushButton Special.
* m_put_caption:                        TWindow Special.
* m_put_text:                           TWindow Special.
* m_putch:                              TWindow Special.
* m_putnch:                             TWindow Special.
* m_puts:                               TWindow Special.
* m_refresh:                            TApplication Special.
* m_refresh_all:                        TApplication Special.
* m_reset_clip_window:                  TWindow Special.
* m_run:                                TApplication Special.
* m_run_dialog:                         TApplication Special.
* m_save_text:                          TTextZone Special.
* m_select_all:                         TEditZone Special.
* m_select_first_possible_item:         TList Access Methods.
* m_select_zone <1>:                    TEditZone Special.
* m_select_zone:                        TTextZone Special.
* m_set_big_change:                     TScrollBar Access Methods.
* m_set_bright_attr:                    TWindow Special.
* m_set_can_be_enabled:                 TObject Access Methods.
* m_set_cancel_button:                  TWindow Access Methods.
* m_set_caption:                        TObject Access Methods.
* m_set_checked_callback:               TCheckBox Callbacks.
* m_set_clip_window:                    TWindow Special.
* m_set_clipboard:                      TApplication Access Methods.
* m_set_clipboard_changed_callback:     TApplication Callbacks.
* m_set_close_button_pressed_callback:  TWindow Callbacks.
* m_set_cursor_at <1>:                  TTextZone Access Methods.
* m_set_cursor_at:                      TEditZone Special.
* m_set_default_button:                 TWindow Access Methods.
* m_set_first_visible_col:              TTextZone Access Methods.
* m_set_first_visible_item_index:       TList Access Methods.
* m_set_first_visible_line:             TTextZone Access Methods.
* m_set_focus <1>:                      TTabGroup Special.
* m_set_focus <1>:                      TWindow Special.
* m_set_focus:                          TObject Special.
* m_set_focus_lost_callback:            TObject Callbacks.
* m_set_focus_taken_callback:           TObject Callbacks.
* m_set_focus_to_last_element <1>:      TWindow Special.
* m_set_focus_to_last_element <1>:      TTabGroup Special.
* m_set_focus_to_last_element:          TObject Special.
* m_set_inactive_attr:                  TWindow Special.
* m_set_info_message:                   TWindow Access Methods.
* m_set_inverse_attr:                   TWindow Special.
* m_set_inverse_bright_attr:            TWindow Special.
* m_set_inverse_inactive_attr:          TWindow Special.
* m_set_item_check_changed_callback:    TList Callbacks.
* m_set_item_clicked_callback:          TMenu Callbacks.
* m_set_item_dbl_click_callback:        TList Callbacks.
* m_set_last_visible_item_index:        TList Access Methods.
* m_set_line:                           TTextZone Special.
* m_set_little_change:                  TScrollBar Access Methods.
* m_set_max_value:                      TGauge Access Methods.
* m_set_middle_visible_item_index:      TList Access Methods.
* m_set_min_max_values <1>:             TDecimalEditZone Access Methods.
* m_set_min_max_values <1>:             TScrollBar Access Methods.
* m_set_min_max_values:                 TIntegerEditZone Access Methods.
* m_set_nb_items_changed_callback:      TList Callbacks.
* m_set_nb_lines_changed_callback:      TTextZone Callbacks.
* m_set_no_event_callback:              TApplication Callbacks.
* m_set_normal_attr:                    TWindow Special.
* m_set_pos:                            TWindow Access Methods.
* m_set_pressed_callback:               TPushButton Callbacks.
* m_set_selected_item_changed_callback: TList Callbacks.
* m_set_selected_item_index:            TList Access Methods.
* m_set_selection_status_changed_callback: TTextZone Callbacks.
* m_set_short_cut_handler:              TWindow Access Methods.
* m_set_size:                           TObject Access Methods.
* m_set_string <1>:                     TComboBox Access Methods.
* m_set_string:                         TEditZone Special.
* m_set_string_changed_callback:        TEditZone Callbacks.
* m_set_string_from_list_item:          TComboBox Access Methods.
* m_set_string_validated_callback:      TComboBox Callbacks.
* m_set_text:                           TLabel Access Methods.
* m_set_text_changed_callback:          TTextZone Callbacks.
* m_set_title_attr:                     TWindow Access Methods.
* m_set_unchecked_callback:             TCheckBox Callbacks.
* m_set_value <1>:                      TGauge Access Methods.
* m_set_value:                          TScrollBar Access Methods.
* m_set_value_changed_callback:         TScrollBar Callbacks.
* m_set_visible:                        TTab Special.
* m_set_visible_callback:               TTab Callbacks.
* m_set_visible_lines_changed_callback: TTextZone Callbacks.
* m_set_visible_part_changed_callback:  TList Callbacks.
* m_stop:                               TApplication Special.
* m_string_valid:                       TEditZone Special.
* m_text_attr:                          TWindow Special.
* m_uncheck <1>:                        TRadioButton Special.
* m_uncheck:                            TCheckBox Special.
* m_uncheck_item:                       TList Special.
* m_unselect:                           TEditZone Special.
* m_unselect_zone:                      TTextZone Special.
* m_zone_selected:                      TTextZone Special.
* Macros, Application, Table of:        Application Macros.
* Macros, Character set, Table of:      Character set Macros.
* Macros, Debug, Table of:              Debug Macros.
* Macros, MIN and MAX, Table of:        MIN and MAX Macros.
* MAX(a,b):                             MIN and MAX Macros.
* MessageBox:                           Dialog Functions.
* MessageBox Definitions:               MessageBox Definitions.
* MessageBox, ABORT_BUTTON:             MessageBox Definitions.
* MessageBox, CANCEL_BUTTON:            MessageBox Definitions.
* MessageBox, IGNORE_BUTTON:            MessageBox Definitions.
* MessageBox, MB_ABORTRETRYIGNORE:      MessageBox Definitions.
* MessageBox, MB_DEFBUTTON1:            MessageBox Definitions.
* MessageBox, MB_DEFBUTTON2:            MessageBox Definitions.
* MessageBox, MB_DEFBUTTON3:            MessageBox Definitions.
* MessageBox, MB_ICONEXCLAMATION:       MessageBox Definitions.
* MessageBox, MB_ICONINFORMATION:       MessageBox Definitions.
* MessageBox, MB_ICONQUESTION:          MessageBox Definitions.
* MessageBox, MB_ICONSTOP:              MessageBox Definitions.
* MessageBox, MB_NOICON:                MessageBox Definitions.
* MessageBox, MB_OK:                    MessageBox Definitions.
* MessageBox, MB_OKCANCEL:              MessageBox Definitions.
* MessageBox, MB_OKQUIT:                MessageBox Definitions.
* MessageBox, MB_RETRYCANCEL:           MessageBox Definitions.
* MessageBox, MB_YESNO:                 MessageBox Definitions.
* MessageBox, MB_YESNOCANCEL:           MessageBox Definitions.
* MessageBox, NO_BUTTON:                MessageBox Definitions.
* MessageBox, OK_BUTTON:                MessageBox Definitions.
* MessageBox, QUIT_BUTTON:              MessageBox Definitions.
* MessageBox, RETRY_BUTTON:             MessageBox Definitions.
* MessageBox, YES_BUTTON:               MessageBox Definitions.
* MIN and MAX Macros:                   MIN and MAX Macros.
* MIN and MAX, Macros for:              MIN and MAX Macros.
* MIN and MAX, MAX(a,b):                MIN and MAX Macros.
* MIN and MAX, MIN(a,b):                MIN and MAX Macros.
* MIN(a,b):                             MIN and MAX Macros.
* Mouse:                                Mouse Functions.
* Mouse Definitions:                    Mouse Definitions.
* Mouse Functions:                      Mouse Functions.
* Mouse, CloseMouse:                    Mouse Functions.
* Mouse, Functions for:                 Mouse Functions.
* Mouse, getMousePointer:               Mouse Functions.
* Mouse, GetMouseState:                 Mouse Functions.
* Mouse, GraphicalMousePointer:         Mouse Functions.
* Mouse, InitMouse:                     Mouse Functions.
* Mouse, LEFT_BUTTON:                   Mouse Definitions.
* Mouse, LEFT_BUTTON_PRESSED:           Mouse Definitions.
* Mouse, MAX_DOUBLE_CLICK_DURATION:     Mouse Definitions.
* Mouse, Mouse:                         Mouse Functions.
* Mouse, MP_ARROW:                      Mouse Definitions.
* Mouse, MP_HOURGLASS:                  Mouse Definitions.
* Mouse, NO_BUTTON_PRESSED:             Mouse Definitions.
* Mouse, RIGHT_BUTTON:                  Mouse Definitions.
* Mouse, RIGHT_BUTTON_PRESSED:          Mouse Definitions.
* Mouse, SetMousePointer:               Mouse Functions.
* Mouse, ShowMouse:                     Mouse Functions.
* Mouse, WaitMouseLeftButtonRelease:    Mouse Functions.
* NO_DEBUG:                             Debug Macros.
* none, m_make_next_window_active:      TApplication Special.
* Notes, TApplication:                  TApplication Notes.
* Notes, TCheckBox:                     TCheckBox Notes.
* Notes, TComboBox:                     TComboBox Notes.
* Notes, TDecimalEditZone:              TDecimalEditZone Notes.
* Notes, TEditZone:                     TEditZone Notes.
* Notes, TFrame:                        TFrame Notes.
* Notes, TGauge:                        TGauge Notes.
* Notes, TGroup:                        TGroup Notes.
* Notes, TIntegerEditZone:              TIntegerEditZone Notes.
* Notes, TLabel:                        TLabel Notes.
* Notes, TList:                         TList Notes.
* Notes, TListBox:                      TListBox Notes.
* Notes, TMenu:                         TMenu Notes.
* Notes, TMenuBar:                      TMenuBar Notes.
* Notes, TObject:                       TObject Notes.
* Notes, TPushButton:                   TPushButton Notes.
* Notes, TRadioButton:                  TRadioButton Notes.
* Notes, TRadioGroup:                   TRadioGroup Notes.
* Notes, TScrollBar:                    TScrollBar Notes.
* Notes, TSimpleList:                   TSimpleList Notes.
* Notes, TTab:                          TTab Notes.
* Notes, TTabGroup:                     TTabGroup Notes.
* Notes, TTextZone:                     TTextZone Notes.
* Notes, TWindow:                       TWindow Notes.
* Object Type Definitions:              Object Type Definitions.
* Object Type, OBJ_CHECK_BOX:           Object Type Definitions.
* Object Type, OBJ_COMBO_LIST:          Object Type Definitions.
* Object Type, OBJ_EDIT_ZONE:           Object Type Definitions.
* Object Type, OBJ_FRAME_GROUP:         Object Type Definitions.
* Object Type, OBJ_GAUGE:               Object Type Definitions.
* Object Type, OBJ_LABEL:               Object Type Definitions.
* Object Type, OBJ_LIST_BOX:            Object Type Definitions.
* Object Type, OBJ_MENU:                Object Type Definitions.
* Object Type, OBJ_MENU_BAR:            Object Type Definitions.
* Object Type, OBJ_NONE:                Object Type Definitions.
* Object Type, OBJ_PUSH_BUTTON:         Object Type Definitions.
* Object Type, OBJ_RADIO_GROUP:         Object Type Definitions.
* Object Type, OBJ_SCROLL_BAR:          Object Type Definitions.
* Object Type, OBJ_TAB:                 Object Type Definitions.
* Object Type, OBJ_TAB_GROUP:           Object Type Definitions.
* Object Type, OBJ_TEXT_ZONE:           Object Type Definitions.
* Object Type, OBJ_WARNING_DIALOG:      Object Type Definitions.
* Object Type, OBJ_WINDOW:              Object Type Definitions.
* Overview:                             Overview.
* PartOfBufferToScreen:                 Screen Functions.
* PlaySound:                            Sound Functions.
* Preprocessor Symbols:                 Preprocessor Symbols.
* Preprocessor Symbols, Boolean, Table of: Boolean Definitions.
* Preprocessor Symbols, Cursor, Table of: Cursor Definitions.
* Preprocessor Symbols, Datatype, Table of: Datatype Definitions.
* Preprocessor Symbols, EditZone, Table of: EditZone Definitions.
* Preprocessor Symbols, File, Table of: File Definitions.
* Preprocessor Symbols, Gauge, Table of: Gauge Definitions.
* Preprocessor Symbols, Keycode, Table of: Keycode Definitions.
* Preprocessor Symbols, Language, Table of: Language Definitions.
* Preprocessor Symbols, List, Table of: List Definitions.
* Preprocessor Symbols, MessageBox, Table of: MessageBox Definitions.
* Preprocessor Symbols, Mouse, Table of: Mouse Definitions.
* Preprocessor Symbols, Object Type, Table of: Object Type Definitions.
* Preprocessor Symbols, PushButton Type, Table of: PushButton Type Definitions.
* Preprocessor Symbols, Screen, Table of: Screen Definitions.
* Preprocessor Symbols, ScrollBar, Table of: ScrollBar Definitions.
* Preprocessor Symbols, Shortcut, Table of: Shortcut Definitions.
* Preprocessor Symbols, Sound, Table of: Sound Definitions.
* Preprocessor Symbols, Special Character, Table of: Special Character Definitions.
* Preprocessor Symbols, TextZone, Table of: TextZone Definitions.
* Preprocessor Symbols, TList Attribute, Table of: TList Attribute Definitions.
* Preprocessor Symbols, Window, Table of: Window Definitions.
* PushButton Type Definitions:          PushButton Type Definitions.
* PushButton Type, PB_CANCEL:           PushButton Type Definitions.
* PushButton Type, PB_DEFAULT:          PushButton Type Definitions.
* PushButton Type, PB_NORMAL:           PushButton Type Definitions.
* PushButton Type, PRESSURE_TIME_LENGTH: PushButton Type Definitions.
* ResetKeyboard:                        Keyboard Functions.
* Screen Definitions:                   Screen Definitions.
* Screen Functions:                     Screen Functions.
* Screen, ClearPartOfScreen:            Screen Functions.
* Screen, ClearScreen:                  Screen Functions.
* Screen, CloseScreen:                  Screen Functions.
* Screen, Functions for:                Screen Functions.
* Screen, GetFontHeight:                Screen Functions.
* Screen, GetFontWidth:                 Screen Functions.
* Screen, GetScreenHeight:              Screen Functions.
* Screen, GetScreenWidth:               Screen Functions.
* Screen, GetTextMode:                  Screen Functions.
* Screen, HideScreen:                   Screen Functions.
* Screen, InitScreen:                   Screen Functions.
* Screen, PartOfBufferToScreen:         Screen Functions.
* Screen, SCREEN_BACKGROUND:            Screen Definitions.
* Screen, ScreenInitialized:            Screen Functions.
* Screen, SetTextMode:                  Screen Functions.
* Screen, SetUserTextMode:              Screen Functions.
* Screen, TEXTMODE_80x25_8:             Screen Definitions.
* Screen, TEXTMODE_80x25_9:             Screen Definitions.
* Screen, TEXTMODE_80x28_8:             Screen Definitions.
* Screen, TEXTMODE_80x28_9:             Screen Definitions.
* Screen, TEXTMODE_80x50_8:             Screen Definitions.
* Screen, TEXTMODE_80x50_9:             Screen Definitions.
* Screen, TEXTMODE_USER:                Screen Definitions.
* Screen, UnhideScreen:                 Screen Functions.
* ScreenInitialized:                    Screen Functions.
* ScrollBar Definitions:                ScrollBar Definitions.
* ScrollBar, SB_HORIZONTAL:             ScrollBar Definitions.
* ScrollBar, SB_VERTICAL:               ScrollBar Definitions.
* ScrollBar, SCROLLBAR_SCROLL_SPEED:    ScrollBar Definitions.
* SetMousePointer:                      Mouse Functions.
* SetTextCursorAt:                      Cursor Functions.
* SetTextCursorStyle:                   Cursor Functions.
* SetTextMode:                          Screen Functions.
* SetUserTextMode:                      Screen Functions.
* Shadow Functions:                     Shadow Functions.
* Shadow, Functions for:                Shadow Functions.
* Shadow, HorizontalShadow:             Shadow Functions.
* Shadow, VerticalShadow:               Shadow Functions.
* short_cut (in struct TMenuItem):      TMenu Structures.
* Shortcut Definitions:                 Shortcut Definitions.
* ShowMouse:                            Mouse Functions.
* ShowTextCursor:                       Cursor Functions.
* Sound Definitions:                    Sound Definitions.
* Sound Functions:                      Sound Functions.
* Sound, BIP1:                          Sound Definitions.
* Sound, ERROR_SOUND:                   Sound Definitions.
* Sound, Functions for:                 Sound Functions.
* Sound, PlaySound:                     Sound Functions.
* Special Character Definitions:        Special Character Definitions.
* Special Character, CHAR_BOTTOM_HLINE: Special Character Definitions.
* Special Character, CHAR_BOTTOM_LEFT_CORNER: Special Character Definitions.
* Special Character, CHAR_BOTTOM_RIGHT_CORNER: Special Character Definitions.
* Special Character, CHAR_LEFT_VLINE:   Special Character Definitions.
* Special Character, CHAR_RIGHT_VLINE:  Special Character Definitions.
* Special Character, CHAR_UP_BOTTOM_HLINES: Special Character Definitions.
* Special Character, CHAR_UP_HLINE:     Special Character Definitions.
* Special Character, CHAR_UP_LEFT_CORNER: Special Character Definitions.
* Special Character, CHAR_UP_RIGHT_CORNER: Special Character Definitions.
* Special Character, TEXT_ARROW_DOWN:   Special Character Definitions.
* Special Character, TEXT_ARROW_LEFT:   Special Character Definitions.
* Special Character, TEXT_ARROW_RIGHT:  Special Character Definitions.
* Special Character, TEXT_ARROW_UP:     Special Character Definitions.
* Special Character, TEXT_BOTTOM_HLINE: Special Character Definitions.
* Special Character, TEXT_BOTTOM_LEFT_CORNER: Special Character Definitions.
* Special Character, TEXT_BOTTOM_RIGHT_CORNER: Special Character Definitions.
* Special Character, TEXT_CHECKED_CHECK_BOX: Special Character Definitions.
* Special Character, TEXT_CHECKED_RADIO_BUTTON: Special Character Definitions.
* Special Character, TEXT_CLOSE_BUTTON: Special Character Definitions.
* Special Character, TEXT_LEFT_VLINE:   Special Character Definitions.
* Special Character, TEXT_RIGHT_VLINE:  Special Character Definitions.
* Special Character, TEXT_UNCHECKED_CHECK_BOX: Special Character Definitions.
* Special Character, TEXT_UNCHECKED_RADIO_BUTTON: Special Character Definitions.
* Special Character, TEXT_UP_BOTTOM_HLINES: Special Character Definitions.
* Special Character, TEXT_UP_HLINE:     Special Character Definitions.
* Special Character, TEXT_UP_LEFT_CORNER: Special Character Definitions.
* Special Character, TEXT_UP_RIGHT_CORNER: Special Character Definitions.
* Special, TApplication:                TApplication Special.
* Special, TCheckBox:                   TCheckBox Special.
* Special, TComboBox:                   TComboBox Special.
* Special, TDecimalEditZone:            TDecimalEditZone Special.
* Special, TEditZone:                   TEditZone Special.
* Special, TFrame:                      TFrame Special.
* Special, TGauge:                      TGauge Special.
* Special, TGroup:                      TGroup Special.
* Special, TIntegerEditZone:            TIntegerEditZone Special.
* Special, TLabel:                      TLabel Special.
* Special, TList:                       TList Special.
* Special, TListBox:                    TListBox Special.
* Special, TMenu:                       TMenu Special.
* Special, TMenuBar:                    TMenuBar Special.
* Special, TObject:                     TObject Special.
* Special, TPushButton:                 TPushButton Special.
* Special, TRadioButton:                TRadioButton Special.
* Special, TRadioGroup:                 TRadioGroup Special.
* Special, TScrollBar:                  TScrollBar Special.
* Special, TSimpleList:                 TSimpleList Special.
* Special, TTab:                        TTab Special.
* Special, TTabGroup:                   TTabGroup Special.
* Special, TTextZone:                   TTextZone Special.
* Special, TWindow:                     TWindow Special.
* Static Methods, TApplication:         TApplication Static Methods.
* Static Methods, TCheckBox:            TCheckBox Static Methods.
* Static Methods, TComboBox:            TComboBox Static Methods.
* Static Methods, TDecimalEditZone:     TDecimalEditZone Static Methods.
* Static Methods, TEditZone:            TEditZone Static Methods.
* Static Methods, TFrame:               TFrame Static Methods.
* Static Methods, TGauge:               TGauge Static Methods.
* Static Methods, TGroup:               TGroup Static Methods.
* Static Methods, TIntegerEditZone:     TIntegerEditZone Static Methods.
* Static Methods, TLabel:               TLabel Static Methods.
* Static Methods, TList:                TList Static Methods.
* Static Methods, TListBox:             TListBox Static Methods.
* Static Methods, TMenu:                TMenu Static Methods.
* Static Methods, TMenuBar:             TMenuBar Static Methods.
* Static Methods, TObject:              TObject Static Methods.
* Static Methods, TPushButton:          TPushButton Static Methods.
* Static Methods, TRadioButton:         TRadioButton Static Methods.
* Static Methods, TRadioGroup:          TRadioGroup Static Methods.
* Static Methods, TScrollBar:           TScrollBar Static Methods.
* Static Methods, TSimpleList:          TSimpleList Static Methods.
* Static Methods, TTab:                 TTab Static Methods.
* Static Methods, TTabGroup:            TTabGroup Static Methods.
* Static Methods, TTextZone:            TTextZone Static Methods.
* Static Methods, TWindow:              TWindow Static Methods.
* StringToDouble:                       Conversion Functions.
* StringToLong:                         Conversion Functions.
* Structures:                           Structures.
* Structures, Keyboard, Table of:       Keyboard Structures.
* Structures, TList, Table of:          TList Structures.
* Structures, TMenu, Table of:          TMenu Structures.
* TApplication <1>:                     TApplication.
* TApplication:                         TApplication Instanciation.
* TApplication Access Methods:          TApplication Access Methods.
* TApplication Base Classes:            TApplication Base Classes.
* TApplication Callbacks:               TApplication Callbacks.
* TApplication Data:                    TApplication Data.
* TApplication Derived Classes:         TApplication Derived Classes.
* TApplication Description:             TApplication Description.
* TApplication Enumerations:            TApplication Enumerations.
* TApplication Instanciation:           TApplication Instanciation.
* TApplication Notes:                   TApplication Notes.
* TApplication Special:                 TApplication Special.
* TApplication Static Methods:          TApplication Static Methods.
* TApplication, Access Methods, m_get_clipboard: TApplication Access Methods.
* TApplication, Access Methods, m_set_clipboard: TApplication Access Methods.
* TApplication, Callbacks, m_callbacks_enabled: TApplication Callbacks.
* TApplication, Callbacks, m_disable_callbacks: TApplication Callbacks.
* TApplication, Callbacks, m_enable_callbacks: TApplication Callbacks.
* TApplication, Callbacks, m_set_clipboard_changed_callback: TApplication Callbacks.
* TApplication, Callbacks, m_set_no_event_callback: TApplication Callbacks.
* TApplication, Instanciation, TApplication: TApplication Instanciation.
* TApplication, Special, m_init:        TApplication Special.
* TApplication, Special, m_refresh:     TApplication Special.
* TApplication, Special, m_refresh_all: TApplication Special.
* TApplication, Special, m_run:         TApplication Special.
* TApplication, Special, m_run_dialog:  TApplication Special.
* TApplication, Special, m_stop:        TApplication Special.
* TApplication, Static Methods, m_get_current_application: TApplication Static Methods.
* TApplication, Static Methods, m_new_handler: TApplication Static Methods.
* TCheckBox <1>:                        TCheckBox.
* TCheckBox:                            TCheckBox Instanciation.
* TCheckBox Access Methods:             TCheckBox Access Methods.
* TCheckBox Base Classes:               TCheckBox Base Classes.
* TCheckBox Callbacks:                  TCheckBox Callbacks.
* TCheckBox Data:                       TCheckBox Data.
* TCheckBox Derived Classes:            TCheckBox Derived Classes.
* TCheckBox Description:                TCheckBox Description.
* TCheckBox Enumerations:               TCheckBox Enumerations.
* TCheckBox Instanciation:              TCheckBox Instanciation.
* TCheckBox Notes:                      TCheckBox Notes.
* TCheckBox Special:                    TCheckBox Special.
* TCheckBox Static Methods:             TCheckBox Static Methods.
* TCheckBox, Access Methods, m_is_checked: TCheckBox Access Methods.
* TCheckBox, Callbacks, m_set_checked_callback: TCheckBox Callbacks.
* TCheckBox, Callbacks, m_set_unchecked_callback: TCheckBox Callbacks.
* TCheckBox, Instanciation, TCheckBox:  TCheckBox Instanciation.
* TCheckBox, Special, m_check:          TCheckBox Special.
* TCheckBox, Special, m_uncheck:        TCheckBox Special.
* TComboBox <1>:                        TComboBox.
* TComboBox <1>:                        TComboBox Instanciation.
* TComboBox:                            TComboBox.
* TComboBox Access Methods:             TComboBox Access Methods.
* TComboBox Base Classes:               TComboBox Base Classes.
* TComboBox Callbacks:                  TComboBox Callbacks.
* TComboBox Data:                       TComboBox Data.
* TComboBox Derived Classes:            TComboBox Derived Classes.
* TComboBox Description:                TComboBox Description.
* TComboBox Enumerations:               TComboBox Enumerations.
* TComboBox Instanciation:              TComboBox Instanciation.
* TComboBox Notes:                      TComboBox Notes.
* TComboBox Special:                    TComboBox Special.
* TComboBox Static Methods:             TComboBox Static Methods.
* TComboBox, Access Methods, m_disable: TComboBox Access Methods.
* TComboBox, Access Methods, m_disable_modification: TComboBox Access Methods.
* TComboBox, Access Methods, m_enable:  TComboBox Access Methods.
* TComboBox, Access Methods, m_enable_modification: TComboBox Access Methods.
* TComboBox, Access Methods, m_get_list: TComboBox Access Methods.
* TComboBox, Access Methods, m_set_string: TComboBox Access Methods.
* TComboBox, Access Methods, m_set_string_from_list_item: TComboBox Access Methods.
* TComboBox, Callbacks, m_set_string_validated_callback: TComboBox Callbacks.
* TComboBox, Instanciation, TComboBox:  TComboBox Instanciation.
* TComboBox, Special, m_add_item:       TComboBox Special.
* TComboBox, Special, m_add_items:      TComboBox Special.
* TComboBox, Special, m_clear_list:     TComboBox Special.
* TComboBox, Special, m_delete_item:    TComboBox Special.
* TDecimalEditZone <1>:                 TDecimalEditZone.
* TDecimalEditZone:                     TDecimalEditZone Instanciation.
* TDecimalEditZone Access Methods:      TDecimalEditZone Access Methods.
* TDecimalEditZone Base Classes:        TDecimalEditZone Base Classes.
* TDecimalEditZone Callbacks:           TDecimalEditZone Callbacks.
* TDecimalEditZone Data:                TDecimalEditZone Data.
* TDecimalEditZone Derived Classes:     TDecimalEditZone Derived Classes.
* TDecimalEditZone Description:         TDecimalEditZone Description.
* TDecimalEditZone Enumerations:        TDecimalEditZone Enumerations.
* TDecimalEditZone Instanciation:       TDecimalEditZone Instanciation.
* TDecimalEditZone Notes:               TDecimalEditZone Notes.
* TDecimalEditZone Special:             TDecimalEditZone Special.
* TDecimalEditZone Static Methods:      TDecimalEditZone Static Methods.
* TDecimalEditZone, Access Methods, m_get_max_value: TDecimalEditZone Access Methods.
* TDecimalEditZone, Access Methods, m_get_min_value: TDecimalEditZone Access Methods.
* TDecimalEditZone, Access Methods, m_set_min_max_values: TDecimalEditZone Access Methods.
* TDecimalEditZone, Instanciation, TDecimalEditZone: TDecimalEditZone Instanciation.
* TEditZone <1>:                        TEditZone.
* TEditZone:                            TEditZone Instanciation.
* TEditZone Access Methods:             TEditZone Access Methods.
* TEditZone Base Classes:               TEditZone Base Classes.
* TEditZone Callbacks:                  TEditZone Callbacks.
* TEditZone Data:                       TEditZone Data.
* TEditZone Derived Classes:            TEditZone Derived Classes.
* TEditZone Description:                TEditZone Description.
* TEditZone Enumerations:               TEditZone Enumerations.
* TEditZone Instanciation:              TEditZone Instanciation.
* TEditZone Notes:                      TEditZone Notes.
* TEditZone Special:                    TEditZone Special.
* TEditZone Static Methods:             TEditZone Static Methods.
* TEditZone, Callbacks, m_set_string_changed_callback: TEditZone Callbacks.
* TEditZone, Instanciation, TEditZone:  TEditZone Instanciation.
* TEditZone, Special, m_clear_selection: TEditZone Special.
* TEditZone, Special, m_disable_modification: TEditZone Special.
* TEditZone, Special, m_disable_string_checking: TEditZone Special.
* TEditZone, Special, m_enable_modification: TEditZone Special.
* TEditZone, Special, m_enable_string_checking: TEditZone Special.
* TEditZone, Special, m_get_string:     TEditZone Special.
* TEditZone, Special, m_get_string_length: TEditZone Special.
* TEditZone, Special, m_select_all:     TEditZone Special.
* TEditZone, Special, m_select_zone:    TEditZone Special.
* TEditZone, Special, m_set_cursor_at:  TEditZone Special.
* TEditZone, Special, m_set_string:     TEditZone Special.
* TEditZone, Special, m_string_valid:   TEditZone Special.
* TEditZone, Special, m_unselect:       TEditZone Special.
* Text Functions:                       Text Functions.
* Text, Functions for:                  Text Functions.
* Text, GetTextHeight:                  Text Functions.
* Text, GetTextWidth:                   Text Functions.
* TextCursorIsVisible:                  Cursor Functions.
* TextError:                            Error Functions.
* TextZone Definitions:                 TextZone Definitions.
* TextZone, TEXTZONE_SCROLL_SPEED:      TextZone Definitions.
* TFrame <1>:                           TFrame.
* TFrame:                               TFrame Instanciation.
* TFrame Access Methods:                TFrame Access Methods.
* TFrame Base Classes:                  TFrame Base Classes.
* TFrame Callbacks:                     TFrame Callbacks.
* TFrame Data:                          TFrame Data.
* TFrame Derived Classes:               TFrame Derived Classes.
* TFrame Description:                   TFrame Description.
* TFrame Enumerations:                  TFrame Enumerations.
* TFrame Instanciation:                 TFrame Instanciation.
* TFrame Notes:                         TFrame Notes.
* TFrame Special:                       TFrame Special.
* TFrame Static Methods:                TFrame Static Methods.
* TFrame, Instanciation, TFrame:        TFrame Instanciation.
* TGauge <1>:                           TGauge Instanciation.
* TGauge:                               TGauge.
* TGauge Access Methods:                TGauge Access Methods.
* TGauge Base Classes:                  TGauge Base Classes.
* TGauge Callbacks:                     TGauge Callbacks.
* TGauge Data:                          TGauge Data.
* TGauge Derived Classes:               TGauge Derived Classes.
* TGauge Description:                   TGauge Description.
* TGauge Enumerations:                  TGauge Enumerations.
* TGauge Instanciation:                 TGauge Instanciation.
* TGauge Notes:                         TGauge Notes.
* TGauge Special:                       TGauge Special.
* TGauge Static Methods:                TGauge Static Methods.
* TGauge, Access Methods, m_get_max_value: TGauge Access Methods.
* TGauge, Access Methods, m_get_value:  TGauge Access Methods.
* TGauge, Access Methods, m_set_max_value: TGauge Access Methods.
* TGauge, Access Methods, m_set_value:  TGauge Access Methods.
* TGauge, Instanciation, TGauge:        TGauge Instanciation.
* TGroup <1>:                           TGroup.
* TGroup:                               TGroup Instanciation.
* TGroup Access Methods:                TGroup Access Methods.
* TGroup Base Classes:                  TGroup Base Classes.
* TGroup Callbacks:                     TGroup Callbacks.
* TGroup Data:                          TGroup Data.
* TGroup Derived Classes:               TGroup Derived Classes.
* TGroup Description:                   TGroup Description.
* TGroup Enumerations:                  TGroup Enumerations.
* TGroup Instanciation:                 TGroup Instanciation.
* TGroup Notes:                         TGroup Notes.
* TGroup Special:                       TGroup Special.
* TGroup Static Methods:                TGroup Static Methods.
* TGroup, Access Methods, m_get_focused_element: TGroup Access Methods.
* TGroup, Instanciation, TGroup:        TGroup Instanciation.
* TGroup, Special, m_get_focused_object: TGroup Special.
* TIntegerEditZone <1>:                 TIntegerEditZone Instanciation.
* TIntegerEditZone:                     TIntegerEditZone.
* TIntegerEditZone Access Methods:      TIntegerEditZone Access Methods.
* TIntegerEditZone Base Classes:        TIntegerEditZone Base Classes.
* TIntegerEditZone Callbacks:           TIntegerEditZone Callbacks.
* TIntegerEditZone Data:                TIntegerEditZone Data.
* TIntegerEditZone Derived Classes:     TIntegerEditZone Derived Classes.
* TIntegerEditZone Description:         TIntegerEditZone Description.
* TIntegerEditZone Enumerations:        TIntegerEditZone Enumerations.
* TIntegerEditZone Instanciation:       TIntegerEditZone Instanciation.
* TIntegerEditZone Notes:               TIntegerEditZone Notes.
* TIntegerEditZone Special:             TIntegerEditZone Special.
* TIntegerEditZone Static Methods:      TIntegerEditZone Static Methods.
* TIntegerEditZone, Access Methods, m_get_max_value: TIntegerEditZone Access Methods.
* TIntegerEditZone, Access Methods, m_get_min_value: TIntegerEditZone Access Methods.
* TIntegerEditZone, Access Methods, m_set_min_max_values: TIntegerEditZone Access Methods.
* TIntegerEditZone, Instanciation, TIntegerEditZone: TIntegerEditZone Instanciation.
* TKey:                                 Keyboard Structures.
* TKey, Fields, character:              Keyboard Structures.
* TKey, Fields, hot_character:          Keyboard Structures.
* TLabel <1>:                           TLabel.
* TLabel <1>:                           TLabel Instanciation.
* TLabel <1>:                           TLabel.
* TLabel:                               TLabel Instanciation.
* TLabel Access Methods:                TLabel Access Methods.
* TLabel Base Classes:                  TLabel Base Classes.
* TLabel Callbacks:                     TLabel Callbacks.
* TLabel Data:                          TLabel Data.
* TLabel Derived Classes:               TLabel Derived Classes.
* TLabel Description:                   TLabel Description.
* TLabel Enumerations:                  TLabel Enumerations.
* TLabel Instanciation:                 TLabel Instanciation.
* TLabel Notes:                         TLabel Notes.
* TLabel Special:                       TLabel Special.
* TLabel Static Methods:                TLabel Static Methods.
* TLabel, Access Methods, m_set_text:   TLabel Access Methods.
* TLabel, Instanciation, TLabel:        TLabel Instanciation.
* TList <1>:                            TList.
* TList <1>:                            TList Instanciation.
* TList:                                TList.
* TList Access Methods:                 TList Access Methods.
* TList Attribute Definitions:          TList Attribute Definitions.
* TList Attribute, LI_CHECKED:          TList Attribute Definitions.
* TList Attribute, LI_DISABLED:         TList Attribute Definitions.
* TList Attribute, LI_NOATTR:           TList Attribute Definitions.
* TList Attribute, LI_TOGGLE:           TList Attribute Definitions.
* TList Base Classes:                   TList Base Classes.
* TList Callbacks:                      TList Callbacks.
* TList Data:                           TList Data.
* TList Derived Classes:                TList Derived Classes.
* TList Description:                    TList Description.
* TList Enumerations:                   TList Enumerations.
* TList Instanciation:                  TList Instanciation.
* TList Notes:                          TList Notes.
* TList Special:                        TList Special.
* TList Static Methods:                 TList Static Methods.
* TList Structures:                     TList Structures.
* TList, Access Methods, m_get_first_visible_item_index: TList Access Methods.
* TList, Access Methods, m_get_item:    TList Access Methods.
* TList, Access Methods, m_get_item_index: TList Access Methods.
* TList, Access Methods, m_get_last_visible_item_index: TList Access Methods.
* TList, Access Methods, m_get_list_height: TList Access Methods.
* TList, Access Methods, m_get_nb_items: TList Access Methods.
* TList, Access Methods, m_get_selected_item_index: TList Access Methods.
* TList, Access Methods, m_select_first_possible_item: TList Access Methods.
* TList, Access Methods, m_set_first_visible_item_index: TList Access Methods.
* TList, Access Methods, m_set_last_visible_item_index: TList Access Methods.
* TList, Access Methods, m_set_middle_visible_item_index: TList Access Methods.
* TList, Access Methods, m_set_selected_item_index: TList Access Methods.
* TList, Callbacks, m_set_item_check_changed_callback: TList Callbacks.
* TList, Callbacks, m_set_item_dbl_click_callback: TList Callbacks.
* TList, Callbacks, m_set_nb_items_changed_callback: TList Callbacks.
* TList, Callbacks, m_set_selected_item_changed_callback: TList Callbacks.
* TList, Callbacks, m_set_visible_part_changed_callback: TList Callbacks.
* TList, Instanciation, TList:          TList Instanciation.
* TList, Special,:                      TList Special.
* TList, Special, m_add_items:          TList Special.
* TList, Special, m_check_item:         TList Special.
* TList, Special, m_clear_list:         TList Special.
* TList, Special, m_delete_item:        TList Special.
* TList, Special, m_disable_item:       TList Special.
* TList, Special, m_enable_item:        TList Special.
* TList, Special, m_item_is_checked:    TList Special.
* TList, Special, m_item_is_enabled:    TList Special.
* TList, Special, m_uncheck_item:       TList Special.
* TList, Structures for:                TList Structures.
* TList, TListItem:                     TList Structures.
* TListBox <1>:                         TListBox.
* TListBox <1>:                         TListBox Instanciation.
* TListBox:                             TListBox.
* TListBox Access Methods:              TListBox Access Methods.
* TListBox Base Classes:                TListBox Base Classes.
* TListBox Callbacks:                   TListBox Callbacks.
* TListBox Data:                        TListBox Data.
* TListBox Derived Classes:             TListBox Derived Classes.
* TListBox Description:                 TListBox Description.
* TListBox Enumerations:                TListBox Enumerations.
* TListBox Instanciation:               TListBox Instanciation.
* TListBox Notes:                       TListBox Notes.
* TListBox Special:                     TListBox Special.
* TListBox Static Methods:              TListBox Static Methods.
* TListBox, Instanciation, TListBox:    TListBox Instanciation.
* TListItem:                            TList Structures.
* TListItem, Fields, attribute:         TList Structures.
* TListItem, Fields, label:             TList Structures.
* TMenu <1>:                            TMenu.
* TMenu:                                TMenu Instanciation.
* TMenu Access Methods:                 TMenu Access Methods.
* TMenu Base Classes:                   TMenu Base Classes.
* TMenu Callbacks:                      TMenu Callbacks.
* TMenu Data:                           TMenu Data.
* TMenu Derived Classes:                TMenu Derived Classes.
* TMenu Description:                    TMenu Description.
* TMenu Enumerations:                   TMenu Enumerations.
* TMenu Instanciation:                  TMenu Instanciation.
* TMenu Notes:                          TMenu Notes.
* TMenu Special:                        TMenu Special.
* TMenu Static Methods:                 TMenu Static Methods.
* TMenu Structures:                     TMenu Structures.
* TMenu, Access Methods, m_disable:     TMenu Access Methods.
* TMenu, Callbacks, m_set_item_clicked_callback: TMenu Callbacks.
* TMenu, Instanciation, TMenu:          TMenu Instanciation.
* TMenu, Special, m_add_item:           TMenu Special.
* TMenu, Special, m_add_items:          TMenu Special.
* TMenu, Special, m_clear_list:         TMenu Special.
* TMenu, Special, m_click_item:         TMenu Special.
* TMenu, Special, m_delete_item:        TMenu Special.
* TMenu, Special, m_insert_item:        TMenu Special.
* TMenu, Structures for:                TMenu Structures.
* TMenu, TMenuItem:                     TMenu Structures.
* TMenuBar <1>:                         TMenuBar Instanciation.
* TMenuBar:                             TMenuBar.
* TMenuBar Access Methods:              TMenuBar Access Methods.
* TMenuBar Base Classes:                TMenuBar Base Classes.
* TMenuBar Callbacks:                   TMenuBar Callbacks.
* TMenuBar Data:                        TMenuBar Data.
* TMenuBar Derived Classes:             TMenuBar Derived Classes.
* TMenuBar Description:                 TMenuBar Description.
* TMenuBar Enumerations:                TMenuBar Enumerations.
* TMenuBar Instanciation:               TMenuBar Instanciation.
* TMenuBar Notes:                       TMenuBar Notes.
* TMenuBar Special:                     TMenuBar Special.
* TMenuBar Static Methods:              TMenuBar Static Methods.
* TMenuBar, Access Methods, m_disable:  TMenuBar Access Methods.
* TMenuBar, Access Methods, m_enable:   TMenuBar Access Methods.
* TMenuBar, Instanciation, TMenuBar:    TMenuBar Instanciation.
* TMenuItem:                            TMenu Structures.
* TMenuItem, Fields, attribute:         TMenu Structures.
* TMenuItem, Fields, help_message:      TMenu Structures.
* TMenuItem, Fields, label:             TMenu Structures.
* TMenuItem, Fields, short_cut:         TMenu Structures.
* TObject:                              TObject.
* TObject Access Methods:               TObject Access Methods.
* TObject Base Classes:                 TObject Base Classes.
* TObject Callbacks:                    TObject Callbacks.
* TObject Data:                         TObject Data.
* TObject Derived Classes:              TObject Derived Classes.
* TObject Description:                  TObject Description.
* TObject Enumerations:                 TObject Enumerations.
* TObject Instanciation:                TObject Instanciation.
* TObject Notes:                        TObject Notes.
* TObject Special:                      TObject Special.
* TObject Static Methods:               TObject Static Methods.
* TObject, Access Methods, m_can_lose_focus: TObject Access Methods.
* TObject, Access Methods, m_disable:   TObject Access Methods.
* TObject, Access Methods, m_enable:    TObject Access Methods.
* TObject, Access Methods, m_get_background: TObject Access Methods.
* TObject, Access Methods, m_get_caption: TObject Access Methods.
* TObject, Access Methods, m_get_height: TObject Access Methods.
* TObject, Access Methods, m_get_hotkey: TObject Access Methods.
* TObject, Access Methods, m_get_number: TObject Access Methods.
* TObject, Access Methods, m_get_parent: TObject Access Methods.
* TObject, Access Methods, m_get_type:  TObject Access Methods.
* TObject, Access Methods, m_get_width: TObject Access Methods.
* TObject, Access Methods, m_get_window: TObject Access Methods.
* TObject, Access Methods, m_get_x:     TObject Access Methods.
* TObject, Access Methods, m_get_x_in_window: TObject Access Methods.
* TObject, Access Methods, m_get_y:     TObject Access Methods.
* TObject, Access Methods, m_get_y_in_window: TObject Access Methods.
* TObject, Access Methods, m_has_focus: TObject Access Methods.
* TObject, Access Methods, m_is_enabled: TObject Access Methods.
* TObject, Access Methods, m_is_open:   TObject Access Methods.
* TObject, Access Methods, m_set_can_be_enabled: TObject Access Methods.
* TObject, Access Methods, m_set_caption: TObject Access Methods.
* TObject, Access Methods, m_set_size:  TObject Access Methods.
* TObject, Callbacks, m_set_focus_lost_callback: TObject Callbacks.
* TObject, Callbacks, m_set_focus_taken_callback: TObject Callbacks.
* TObject, Instanciation,:              TObject Instanciation.
* TObject, Special, m_set_focus:        TObject Special.
* TObject, Special, m_set_focus_to_last_element: TObject Special.
* TPushButton <1>:                      TPushButton.
* TPushButton <1>:                      TPushButton Instanciation.
* TPushButton:                          TPushButton.
* TPushButton Access Methods:           TPushButton Access Methods.
* TPushButton Base Classes:             TPushButton Base Classes.
* TPushButton Callbacks:                TPushButton Callbacks.
* TPushButton Data:                     TPushButton Data.
* TPushButton Derived Classes:          TPushButton Derived Classes.
* TPushButton Description:              TPushButton Description.
* TPushButton Enumerations:             TPushButton Enumerations.
* TPushButton Instanciation:            TPushButton Instanciation.
* TPushButton Notes:                    TPushButton Notes.
* TPushButton Special:                  TPushButton Special.
* TPushButton Static Methods:           TPushButton Static Methods.
* TPushButton, Callbacks, m_set_pressed_callback: TPushButton Callbacks.
* TPushButton, Instanciation, TPushButton: TPushButton Instanciation.
* TPushButton, Special, m_press:        TPushButton Special.
* TRadioButton <1>:                     TRadioButton.
* TRadioButton <1>:                     TRadioButton Instanciation.
* TRadioButton:                         TRadioButton.
* TRadioButton Access Methods:          TRadioButton Access Methods.
* TRadioButton Base Classes:            TRadioButton Base Classes.
* TRadioButton Callbacks:               TRadioButton Callbacks.
* TRadioButton Data:                    TRadioButton Data.
* TRadioButton Derived Classes:         TRadioButton Derived Classes.
* TRadioButton Description:             TRadioButton Description.
* TRadioButton Enumerations:            TRadioButton Enumerations.
* TRadioButton Instanciation:           TRadioButton Instanciation.
* TRadioButton Notes:                   TRadioButton Notes.
* TRadioButton Special:                 TRadioButton Special.
* TRadioButton Static Methods:          TRadioButton Static Methods.
* TRadioButton, Instanciation, TRadioButton: TRadioButton Instanciation.
* TRadioButton, Special, m_check:       TRadioButton Special.
* TRadioButton, Special, m_uncheck:     TRadioButton Special.
* TRadioGroup <1>:                      TRadioGroup.
* TRadioGroup <1>:                      TRadioGroup Instanciation.
* TRadioGroup:                          TRadioGroup.
* TRadioGroup Access Methods:           TRadioGroup Access Methods.
* TRadioGroup Base Classes:             TRadioGroup Base Classes.
* TRadioGroup Callbacks:                TRadioGroup Callbacks.
* TRadioGroup Data:                     TRadioGroup Data.
* TRadioGroup Derived Classes:          TRadioGroup Derived Classes.
* TRadioGroup Description:              TRadioGroup Description.
* TRadioGroup Enumerations:             TRadioGroup Enumerations.
* TRadioGroup Instanciation:            TRadioGroup Instanciation.
* TRadioGroup Notes:                    TRadioGroup Notes.
* TRadioGroup Special:                  TRadioGroup Special.
* TRadioGroup Static Methods:           TRadioGroup Static Methods.
* TRadioGroup, Instanciation, TRadioGroup: TRadioGroup Instanciation.
* TScrollBar <1>:                       TScrollBar.
* TScrollBar:                           TScrollBar Instanciation.
* TScrollBar Access Methods:            TScrollBar Access Methods.
* TScrollBar Base Classes:              TScrollBar Base Classes.
* TScrollBar Callbacks:                 TScrollBar Callbacks.
* TScrollBar Data:                      TScrollBar Data.
* TScrollBar Derived Classes:           TScrollBar Derived Classes.
* TScrollBar Description:               TScrollBar Description.
* TScrollBar Enumerations:              TScrollBar Enumerations.
* TScrollBar Instanciation:             TScrollBar Instanciation.
* TScrollBar Notes:                     TScrollBar Notes.
* TScrollBar Special:                   TScrollBar Special.
* TScrollBar Static Methods:            TScrollBar Static Methods.
* TScrollBar, Access Methods, m_get_max_value: TScrollBar Access Methods.
* TScrollBar, Access Methods, m_get_min_value: TScrollBar Access Methods.
* TScrollBar, Access Methods, m_get_value: TScrollBar Access Methods.
* TScrollBar, Access Methods, m_set_big_change: TScrollBar Access Methods.
* TScrollBar, Access Methods, m_set_little_change: TScrollBar Access Methods.
* TScrollBar, Access Methods, m_set_min_max_values: TScrollBar Access Methods.
* TScrollBar, Access Methods, m_set_value: TScrollBar Access Methods.
* TScrollBar, Callbacks, m_set_value_changed_callback: TScrollBar Callbacks.
* TScrollBar, Instanciation, TScrollBar: TScrollBar Instanciation.
* TSimpleList <1>:                      TSimpleList.
* TSimpleList:                          TSimpleList Instanciation.
* TSimpleList Access Methods:           TSimpleList Access Methods.
* TSimpleList Base Classes:             TSimpleList Base Classes.
* TSimpleList Callbacks:                TSimpleList Callbacks.
* TSimpleList Data:                     TSimpleList Data.
* TSimpleList Derived Classes:          TSimpleList Derived Classes.
* TSimpleList Description:              TSimpleList Description.
* TSimpleList Enumerations:             TSimpleList Enumerations.
* TSimpleList Instanciation:            TSimpleList Instanciation.
* TSimpleList Notes:                    TSimpleList Notes.
* TSimpleList Special:                  TSimpleList Special.
* TSimpleList Static Methods:           TSimpleList Static Methods.
* TSimpleList, Instanciation, TSimpleList: TSimpleList Instanciation.
* TSimpleList, Special, m_add_item:     TSimpleList Special.
* TSimpleList, Special, m_add_items:    TSimpleList Special.
* TSimpleList, Special, m_insert_item:  TSimpleList Special.
* TTab <1>:                             TTab.
* TTab:                                 TTab Instanciation.
* TTab Access Methods:                  TTab Access Methods.
* TTab Base Classes:                    TTab Base Classes.
* TTab Callbacks:                       TTab Callbacks.
* TTab Data:                            TTab Data.
* TTab Derived Classes:                 TTab Derived Classes.
* TTab Description:                     TTab Description.
* TTab Enumerations:                    TTab Enumerations.
* TTab Instanciation:                   TTab Instanciation.
* TTab Notes:                           TTab Notes.
* TTab Special:                         TTab Special.
* TTab Static Methods:                  TTab Static Methods.
* TTab, Callbacks, m_set_visible_callback: TTab Callbacks.
* TTab, Instanciation, TTab:            TTab Instanciation.
* TTab, Special, m_set_visible:         TTab Special.
* TTabGroup <1>:                        TTabGroup.
* TTabGroup <1>:                        TTabGroup Instanciation.
* TTabGroup:                            TTabGroup.
* TTabGroup Access Methods:             TTabGroup Access Methods.
* TTabGroup Base Classes:               TTabGroup Base Classes.
* TTabGroup Callbacks:                  TTabGroup Callbacks.
* TTabGroup Data:                       TTabGroup Data.
* TTabGroup Derived Classes:            TTabGroup Derived Classes.
* TTabGroup Description:                TTabGroup Description.
* TTabGroup Enumerations:               TTabGroup Enumerations.
* TTabGroup Instanciation:              TTabGroup Instanciation.
* TTabGroup Notes:                      TTabGroup Notes.
* TTabGroup Special:                    TTabGroup Special.
* TTabGroup Static Methods:             TTabGroup Static Methods.
* TTabGroup, Instanciation, TTabGroup:  TTabGroup Instanciation.
* TTabGroup, Special, m_set_focus:      TTabGroup Special.
* TTabGroup, Special, m_set_focus_to_last_element: TTabGroup Special.
* TTextZone <1>:                        TTextZone Instanciation.
* TTextZone:                            TTextZone.
* TTextZone Access Methods:             TTextZone Access Methods.
* TTextZone Base Classes:               TTextZone Base Classes.
* TTextZone Callbacks:                  TTextZone Callbacks.
* TTextZone Data:                       TTextZone Data.
* TTextZone Derived Classes:            TTextZone Derived Classes.
* TTextZone Description:                TTextZone Description.
* TTextZone Enumerations:               TTextZone Enumerations.
* TTextZone Instanciation:              TTextZone Instanciation.
* TTextZone Notes:                      TTextZone Notes.
* TTextZone Special:                    TTextZone Special.
* TTextZone Static Methods:             TTextZone Static Methods.
* TTextZone, Access Methods, m_get_cursor_pos: TTextZone Access Methods.
* TTextZone, Access Methods, m_get_nb_cols: TTextZone Access Methods.
* TTextZone, Access Methods, m_get_nb_lines: TTextZone Access Methods.
* TTextZone, Access Methods, m_line_length: TTextZone Access Methods.
* TTextZone, Access Methods, m_set_cursor_at: TTextZone Access Methods.
* TTextZone, Access Methods, m_set_first_visible_col: TTextZone Access Methods.
* TTextZone, Access Methods, m_set_first_visible_line: TTextZone Access Methods.
* TTextZone, Callbacks, m_set_nb_lines_changed_callback: TTextZone Callbacks.
* TTextZone, Callbacks, m_set_selection_status_changed_callback: TTextZone Callbacks.
* TTextZone, Callbacks, m_set_text_changed_callback: TTextZone Callbacks.
* TTextZone, Callbacks, m_set_visible_lines_changed_callback: TTextZone Callbacks.
* TTextZone, Instanciation, TTextZone:  TTextZone Instanciation.
* TTextZone, Special, m_clear_selection: TTextZone Special.
* TTextZone, Special, m_clear_text:     TTextZone Special.
* TTextZone, Special, m_clear_zone:     TTextZone Special.
* TTextZone, Special, m_copy_selection: TTextZone Special.
* TTextZone, Special, m_cut_selection:  TTextZone Special.
* TTextZone, Special, m_delete_line:    TTextZone Special.
* TTextZone, Special, m_free_zone_buffer: TTextZone Special.
* TTextZone, Special, m_get_line:       TTextZone Special.
* TTextZone, Special, m_get_selected_zone: TTextZone Special.
* TTextZone, Special, m_get_zone:       TTextZone Special.
* TTextZone, Special, m_insert_line:    TTextZone Special.
* TTextZone, Special, m_insert_text:    TTextZone Special.
* TTextZone, Special, m_load_text:      TTextZone Special.
* TTextZone, Special, m_paste:          TTextZone Special.
* TTextZone, Special, m_save_text:      TTextZone Special.
* TTextZone, Special, m_select_zone:    TTextZone Special.
* TTextZone, Special, m_set_line:       TTextZone Special.
* TTextZone, Special, m_unselect_zone:  TTextZone Special.
* TTextZone, Special, m_zone_selected:  TTextZone Special.
* TWindow <1>:                          TWindow Instanciation.
* TWindow:                              TWindow.
* TWindow Access Methods:               TWindow Access Methods.
* TWindow Base Classes:                 TWindow Base Classes.
* TWindow Callbacks:                    TWindow Callbacks.
* TWindow Data:                         TWindow Data.
* TWindow Derived Classes:              TWindow Derived Classes.
* TWindow Description:                  TWindow Description.
* TWindow Enumerations:                 TWindow Enumerations.
* TWindow Instanciation:                TWindow Instanciation.
* TWindow Notes:                        TWindow Notes.
* TWindow Special:                      TWindow Special.
* TWindow Static Methods:               TWindow Static Methods.
* TWindow, Access Methods, m_get_x:     TWindow Access Methods.
* TWindow, Access Methods, m_get_y:     TWindow Access Methods.
* TWindow, Access Methods, m_set_cancel_button: TWindow Access Methods.
* TWindow, Access Methods, m_set_default_button: TWindow Access Methods.
* TWindow, Access Methods, m_set_info_message: TWindow Access Methods.
* TWindow, Access Methods, m_set_pos:   TWindow Access Methods.
* TWindow, Access Methods, m_set_short_cut_handler: TWindow Access Methods.
* TWindow, Access Methods, m_set_title_attr: TWindow Access Methods.
* TWindow, Callbacks, m_set_close_button_pressed_callback: TWindow Callbacks.
* TWindow, Instanciation, TWindow:      TWindow Instanciation.
* TWindow, Special, m_activate:         TWindow Special.
* TWindow, Special, m_close:            TWindow Special.
* TWindow, Special, m_cls:              TWindow Special.
* TWindow, Special, m_display_arrow:    TWindow Special.
* TWindow, Special, m_draw_frame:       TWindow Special.
* TWindow, Special, m_get_bright_attr:  TWindow Special.
* TWindow, Special, m_get_inactive_attr: TWindow Special.
* TWindow, Special, m_get_inverse_attr: TWindow Special.
* TWindow, Special, m_get_inverse_inactive_attr: TWindow Special.
* TWindow, Special, m_get_normal_attr:  TWindow Special.
* TWindow, Special, m_get_previous_focused_object: TWindow Special.
* TWindow, Special, m_gotoxy:           TWindow Special.
* TWindow, Special, m_open:             TWindow Special.
* TWindow, Special, m_open_as_object_element: TWindow Special.
* TWindow, Special, m_put_caption:      TWindow Special.
* TWindow, Special, m_put_text:         TWindow Special.
* TWindow, Special, m_putch:            TWindow Special.
* TWindow, Special, m_putnch:           TWindow Special.
* TWindow, Special, m_puts:             TWindow Special.
* TWindow, Special, m_reset_clip_window: TWindow Special.
* TWindow, Special, m_set_bright_attr:  TWindow Special.
* TWindow, Special, m_set_clip_window:  TWindow Special.
* TWindow, Special, m_set_focus:        TWindow Special.
* TWindow, Special, m_set_focus_to_last_element: TWindow Special.
* TWindow, Special, m_set_inactive_attr: TWindow Special.
* TWindow, Special, m_set_inverse_attr: TWindow Special.
* TWindow, Special, m_set_inverse_bright_attr: TWindow Special.
* TWindow, Special, m_set_inverse_inactive_attr: TWindow Special.
* TWindow, Special, m_set_normal_attr:  TWindow Special.
* TWindow, Special, m_text_attr:        TWindow Special.
* UnhideScreen:                         Screen Functions.
* VerticalShadow:                       Shadow Functions.
* Video beam Functions:                 Video beam Functions.
* Video beam, Functions for:            Video beam Functions.
* Video beam, WaitRetrace:              Video beam Functions.
* Vocabulary Functions:                 Vocabulary Functions.
* Vocabulary, FreeVocabulary:           Vocabulary Functions.
* Vocabulary, Functions for:            Vocabulary Functions.
* Vocabulary, GetLanguage:              Vocabulary Functions.
* Vocabulary, GetString:                Vocabulary Functions.
* Vocabulary, LoadVocabulary:           Vocabulary Functions.
* WaitKeyRelease:                       Keyboard Functions.
* WaitLeftClickOrKeyPressed:            Keyboard Functions.
* WaitMouseLeftButtonRelease:           Mouse Functions.
* WaitRetrace:                          Video beam Functions.
* What's new:                           What's new.
* Window Definitions:                   Window Definitions.
* Window Functions:                     Window Functions.
* Window, ALERT:                        Window Definitions.
* Window, ARROW_DOWN:                   Window Definitions.
* Window, ARROW_LEFT:                   Window Definitions.
* Window, ARROW_RIGHT:                  Window Definitions.
* Window, ARROW_UP:                     Window Definitions.
* Window, CENTERED:                     Window Definitions.
* Window, DIALOG1:                      Window Definitions.
* Window, DIALOG2:                      Window Definitions.
* Window, DIALOG3:                      Window Definitions.
* Window, Functions for:                Window Functions.
* Window, HELP:                         Window Definitions.
* Window, JPMakeNextWindowActive:       Window Functions.
* Window, JUSTIFIED_LEFT:               Window Definitions.
* Window, JUSTIFIED_RIGHT:              Window Definitions.

