

 JPTUI Interface - Table of Contents


JPTUI is a  visually-attractive  object-oriented Textual  User Interface
for DJGPP and Borland C++.  Designed for C++, it  provides both a simple
to use and a powerful application  programming interface. This interface
is described in this document.

An introduction to JPTUI (01)                             What's new in JPTUI (02)
How to get the latest version of JPTUI (03)          What are all these files (04)
Copyright and license details (05)                      Technical information (06)
What to do if you want to contribute (07)                        How to debug (08)
About the author (09)                              Frequently Asked Questions (10)
Credits (11)

Information on each symbol #defined (12)
Explanations of each data type (13)
Explanations of each structure (14)
Details of each global variable defined by JPTUI (15)
An explanation of each JPTUI function and macro (16)
A complete description of the classes available (17)


 (01) 	-> An introduction to JPTUI
 (02) 	-> What's new in JPTUI
 (03) 	-> How to get the latest version of JPTUI
 (04) 	-> What are all these files
 (05) 	-> Copyright
 (06) 	-> Technical Information
 (07) 	-> What to do if you want to contribute
 (08) 	-> How to debug
 (09) 	-> About the Author
 (10) 	-> FAQ
 (11) 	-> Credits
 (12) 	-> Preprocessor Symbols
 (13) 	-> Datatypes
 (14) 	-> Structures
 (15) 	-> Global Variables
 (16) 	-> Functions and Macros
 (17) 	-> Classes



 An introduction to JPTUI


JPTUI provides many features which allow you to quickly create
professional, quality user interfaces for MS-DOS programs :

 
     Push buttons            List boxes             Tab bars       
      Check boxes           Combo boxes              Frames        
     Radio buttons       Text editing zones          Menus         
        Gauges          String editing zones                       
ĳ
          Message boxes                Multi-language support       
           Input boxes                                              
       File selection boxes       Support for compressed data files 
      Hypertext help system      that can be linked to the .exe file
ĳ
                            And much more...                         
 

JPTUI can be used :

 
 Full screen                : special font, graphical mouse pointer  
 In a DOS box under Windows : standard font, Windows mouse pointer   
 

 IMPORTANT 

Don't forget to read the technical information (01) to avoid compiling
problems.


 (01) 	-> Technical Information



 How to get the latest version of JPTUI


JPTUI is available on :

 My web page www.teaser.fr/~jpdelprat

  You can always download the latest version of JPTUI from this page.

 Simtel.net sites (www.simtel.net/simtel.net or any mirror)

  You can download the latest version of JPTUI (except beta versions)
  from these sites. The libraries are located in the following
  directories :
   Borland version : pub/simtelnet/msdos/cpluspls
   DJGPP version   : pub/simtelnet/gnu/djgpp/v2tk

 x2ftp programming archives (x2ftp.oulu.fi or any mirror)

  You can download JPTUI from these sites, but it always takes a long
  time before it arrives there.


 Copyright


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.

However, a post-card or some chocolates or anything else would be very
appreciated (email me (01) to have my post address).

If you have written an application with JPTUI, please send me a demo or
at least some screen shots, so that I can add some examples on my home
page. Thanks by advance.


 (01) 	-> About the Author



 What to do if you want to contribute


If you have any code to contribute to JPTUI, please send it directly to
the author (01) - me :) -, 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.


 (01) 	-> About the Author



 About the Author


My real name is Jean-Pierre Delprat but you can call me Jeepy or JP
or whatever you want. I was born in 1971 in a small village in France
and I started programming when I was 12.

I started developing JPTUI in December, 1994, for my personal use.
After I bought a modem card and I found a good ISP, I decided to release
my library on the web as a freeware on April, 1996.

I live near Paris in France, English isn't my mother tongue and I
haven't said a word in English for many years. So excuse me if my
English is not as good as I would like.

If you have some questions, problems or suggestions, send me an email so
that I can help you or inform you of new releases.

My email address is : jpdelprat@teaser.fr
My web home page is : www.teaser.fr/~jpdelprat


 Credits


Credits go to :

 Lee Braiden

  for the first documentation of JPTUI (version 3.1)

 Haruhiko Okumura

  for LZSS and LZARI compression/decompression routines

 Ren Olsthoorn

  for EXEDAT

 Al Steven/Dr Dobb's Journal

  for huffman encoding/decoding routines and some ideas for
  the help system

 Michael Mauch

  for the converter from the source files of JPTUI help files to
  texinfo/info files

 All the persons who have helped me to write and test JPTUI


 What's new in JPTUI


 JPTUI 4.0j (13-JUL-98) 

 Changes
   Added 9x... fonts for Greek language

 API Changes
   Minor changes (some private methods are now protected)


 JPTUI 4.0i (10-JUN-98) 

 New features
   Partial support for  Greek language (only upper  case characters and
    no shortcuts)

 Changes
   The DJGPP  version is now  compiled  with gcc  2.8.1 instead  of gcc
    2.7.2
   In the DJGPP  version, JPDEMO  makefile has been updated  to be used
    with gcc 2.8.1
   Minor changes required by David JD Bell 's TUIMaker

 Fixed bugs
   If you  call the  'FileSelectionBox'  function  without  providing a
    'ok_button_caption' argument which  is different from "", the 'Open'
    button caption disappears when highlighting a file

 API Changes
   added methods :
    . TLabel : m_get_text()

 JPTUI 4.0h (11-MAY-98) 

 Changes
   Minor changes required by David JD Bell 's TUIMaker

 Fixed bugs
   The program may crash if you insert some text in a TTextZone at line
    1

 JPTUI 4.0g (23-APR-98) 

 New features
   Support for Dutch language

 Changes
   JPTUI  now verifies  that  vocabulary  files  don't contain  several
    strings with the same number
   JPTUI only declares MIN and MAX macros if they don't already exist

 Fixed bugs
   Bug in the MessageBox function with the MB_RETRYCANCEL buttons
   JPTUI crashes  if you  define a function to  call when an  object is
    opened and you use display functions in this callback

 JPTUI 4.0f (21-FEB-98) 

 Fixed bugs
   Bug in FileSelectionBox when the provided mask designates a relative
    path
   When using the standard  font, the text cursor might  appear in some
    unproper situations

 Changes
    The mask of the file selection box can be a file name (without wild
     card)
    JPTUI doesn't require a VGA card anymore

 JPTUI 4.0e (04-DEC-97) 

 Fixed bugs
   JPRefresh() was uselessly called by TList in some cases
   JPRefresh() was missing in some cases
   One  of the  variables used  by  the mouse  interrupt wasn't  locked
    (DJGPP version)
   In THelpTextZone (and JPHELP.EXE), the program crashed when the user
    double_clicked in the text zone, beyond the end of the text
   The help compiler now sorts the  index by alphabetical order and not
    by ASCII order.

 Changes
    In the  DJGPP version,  documentation  is  also provided  in 'info'
     format
    The  caption of  the 'ok' button  in the file  selection box varies
     depending of the selected item of the list

 JPTUI 4.0d (20-Sep-97) 

 New features
   puth-buttons can have no shadow, only an horizontal shadow or a
    vertical one, or both

 Fixed bugs
   German vocabulary has been fixed

 Changes
   minor enhancements in TTextZone
   new types :
    . TShadowChoice

 JPTUI 4.0c (30-Jul-97) 

 Fixed bugs
   the default button of  the window wasn't the  default button anymore
    if  you  used 'm_set_focus' on   another  object (different  from  a
    button) before opening the window for the second time

 Changes
   a shortcut is now ignored if it  corresponds to a special key of the
    object  which  has the  focus (this  key  is  now processed  by  the
    object)

 JPTUI 4.0b (05-Jul-97) 

 New features
   input Boxes can now be used to enter a password

 Changes
   the Borland version  is now compiled in huge model  (don't forget to
    change your configuration)
   the 'GetMouseState'  and 'WaitMouseLeftButtonRelease'  functions can
    now be called when you have temporary closed the JPTUI screen
   when you insert some text in a  TTextZone at the current position of
    the cursor (with the paste function  for instance), and some text is
    currently selected, this text is cleared first

 JPTUI 4.0a (23-Jun-97) 

 Fixed bugs
   important bug in JPTUI  4.0 : the program hangs if you open a window
    whereas the active window is modal
   due to a bug in Windows 95 API, GetCurrentDir() (and getcwd()) could
    give wrong  with long  file names in some  cases, which  might cause
    problems with the file selection box (DJGPP version only)

 JPTUI 4.0  (22-Jun-97) 

 New features
   hypertext help system
   you can now ask JPTUI to process events once (in long callbacks for
    instance)
   support for EXEDAT arithmetic compression
   support for Italian and Spanish languages
   the close button of a window  (in the top-left corner of the window)
    can be pressed with the keys 'ALT+F4'

 Fixed bugs
   problems due  to a confusion  between giving the  focus to an object
    (which  belongs  to  a  window  which can  be  active  or  not)  and
    activating a window
   problems with the text cursor in text zones
   tab characters badly interpreted by TTextZones
   minor bugs fixed

 Changes
   documentation is now provided in JPTUI help file format and ascii
    format

 API Changes
   added callbacks :
    . TTextZone : cursor_pos_changed_callback
   added methods :
    . TWindow : m_is_active()
    . TTextZone : m_get_text_rel_x()
    . TTextZone : m_get_text_rel_y()
    . TTextZone : m_get_text_width()
    . TTextZone : m_get_text_height()
    . TTextZone : m_get_first_visible_col()
    . TTextZone : m_get_first_visible_line
   changed methods :
    . TWindow : m_activate() now returns a boolean
   changed functions :
    . FullPath() now returns a boolean
   renamed types :
    . TStyle renamed to TGaugeStyle
   added new alignments methods to TWindow::m_put_caption()

 JPTUI 3.8  (15-Feb-97) 

 New features
   JPTUI can now be run in a Dos box under Windows
   JPTUI can now use the standard font
   the message box can emit a sound when it opens
   TTextZone can now read text containing some tab characters
   The sources of FileSelectionBox() and MessageBox() are now
    provided with the library

 Fixed bugs
   in JPTUI 3.7, the TPasswordEditZone class was missing in the Borland
    library
   rewrote the kbhit()  function which fails when the  user hits CTRL-S
    and pauses the application
   some callbacks  in  TLists  and  TTextZones  (and  derived  classes)
    weren't called in some cases
   very  old  and numerous  bugs  in  TTextZones including  text  copy,
    horizontal scrollbar...
   minor bugs fixed

 Changes
   rewrote some routines of TTextZones
   rewrote the PlaySound routine to make it easier to add new sounds
   smoothed the beginnings of scrollings
   files are now open in shared mode
   when the user opens then closes a menu,  the message in the info bar
    of the window is no longer lost
   when you call TWindow::m_open() and the window is already  open, the
    window now becomes active (and is brought to front).
   minor enhancements

 API Changes
   added classes :
    . TFileListBox
   added callbacks :
    . TTextZone : cursor_col_changed_callback
                  cursor_line_changed_callback
    . TObject   : opened_callback
                  closed_callback
   added methods :
    . TMenu::m_get_menu_bar()
    . TMenu::m_close()
    . TMenu::m_open()
    . TWindow::m_get_info_message()
    . TTextZone::m_get_tab_size()
    . TTextZone::m_set_tab_size()
    . TApplication::m_redraw_windows()
   added function :
    . KeyPressed()
    . RunningUnderWindows()
    . SetDosBoxMode()
    . SetFullScreenMode()
    . GetFont()
    . SetFont()
    . SetMousePointerAspect()
   removed function :
    . GraphicalMousePointer() (use SetMousePointerAspect() instead)
   added types :
    . TFont
    . TMousePointerAspect

 JPTUI 3.7  (26-Nov-96) 

 Fixed bugs
   problems with file dialog box
    . drive detection in a network environment
    . invalid directories badly analysed by the Borland version
    . too long  directories/filenames in  path with the  Borland version
      make the program hang
    . using the '/'  character in paths  with the Borland  version makes
      the program hang
   the 'DriveExists' function gave  incorrect results with local drives
    in a network environment
   the MB_DEFBUTTONi attribute of the 'MessageBox' function didn't work
   minor fixes

 Changes
   when you open a window, the focus goes to the default push-button

 JPTUI 3.6  (13-Nov-96) 

 New features
   new class :
    . TPasswordEditZone :  like TEditZone except that  each character of
      the zone is displayed as a '*'
   new function :
    . FullPathOfFileInExeDir :  returns the full path  of a file located
      in the directory of your .exe file

 Fixed bugs
   the file selection box didn't detect network drives
   the 'DriveExists' function returned FALSE for a network drive
   possible memory allocation error  when a TEditZone displays an error
    dialog box before and after a change of language
   wrong display of horizontal scrollbars
   scrollbars could hang if they were too little on screen

 Changes
   TTextZones can now  have a vertical  and/or a horizontal scrollbars,
    or none
   minor changes : behaviour of the cursor in TTextZones...
   changed function declarations :
    .TTextZone(...)
   new types :
    . TScrollbarChoice

 JPTUI 3.5  (05-Oct-96) 

 New features
   Borland C++ 4.52 version

 Fixed bugs
   in TEditZones, the <DEL> key deleted two characters instead of one
   TTabGroup::m_set_focus  didn't give the  focus to its  first element
    if the TabGroup already had the focus

 Changes
   An  error  code is  provided  for  most  of  the "abnormal   program
    terminations"  due to  debugging  macros. For  each of this  code, a
    short explanation can be found in the file DEBUG.TXT

 JPTUI 3.4  (01-Aug-96) 

 New features
   support for any  text mode which uses a 8x16, 9x16,  8x14, 9x14, 8x8
    or 9x8 font  (with graphical or  text mouse pointer  in any of these
    modes, including modes which are not supported by mouse driver)

 Fixed bugs
   mouse code is now locked to avoid problems in case of paging
   dialog boxes (MessageBox, InputBox and FileSelectionBox) now set the
    mouse pointer to MP_ARROW and restore the previous pointer when they
    are closed
   minor bugs fixed and improvements

 Changes
   mouse is no longer required to start
   you can choose the captions of the ok and cancel buttons in the file
    selection dialog
   memory display functions (DEBUG_SHOW_MEMORY) in debug version
   FatalError() now aborts (doesn't exit anymore)
   JPTUI data files have changed :
    . removed font (JPTUI.FNT)
    . added fonts and mouse pointers  (JP8x8.FNT, JP9x8.FNT, JP8x14.FNT,
      JP9x14.FNT,  JP8x16.FNT,  JP9x16.FNT,  JP8x8.PTR,  JP8x14.PTR  and
      JP8x16.PTR)
   you can know close a window, open a menu... even if the object which
    has the focus refuses to lose it

 API Changes
   changed function declarations :
    . TWindow::m_close
    . TEditZone.m_string_valid is now a public method
   removed functions :
    . SaveScreen()
    . RestoreScreen()
   added functions :
    . JPRefreshAll()                                (JPAppli.h)
      (=TApplication::m_refresh_all())              (TApplication.h)
    . SetTextMode()                                 (Screen.h)
    . SetUserTextMode()                             (Screen.h)
    . GetTextMode()                                 (Screen.h)
    . GetScreenWidth()                              (Screen.h)
    . GetScreenHeight()                             (Screen.h)
    . GetFontHeight()                               (Screen.h)
    . GetFontWidth()                                (Screen.h)
    . GetMousePointer()                             (Mouse.h)
   added constants :
    . TEXTMODE_...                                  (Screen.h)
   renamed constants :
    . MC_ (Mouse Cursor) renamed                    (Mouse.h)
      to MP_ (Mouse Pointer)
   removed constants :
    . SCREEN_WIDTH                                  (Screen.h)
    . SCREEN_HEIGHT                                 (Screen.h)

 JPTUI 3.3  (13-Jul-96) 

 New features
   data file  support (in  the executable  directory,  or in  an exedat
    archive  located  in  the  executable directory  or  linked  to  the
    executable file)
   multi-language support
   choice between graphical mouse pointer and textual one at any time
   string checking can be disabled in TEditZones

 Fixed bugs
   bug when trying to  move a window which is not  movable when another
    window is behind it
   TList::m_enable_item() fixed
   IsAltKey() (Keyboard.h) fixed
   ALT-BACKSPACE in numerical TEditZones
   minor bugs fixed and improvements

 API Changes
   changed function declarations :
    . TApplication::TApplication                    (TApplication.h)
   removed functions :
    . TextWarning()                                 (Errors.h)
   added functions :
    . AbortProgram()                                  (Errors.h)
    . GetLanguage()                                   (Vocab.h)
    . LoadVocabulary()                                (Vocab.h)
    . FreeVocabulary()                                (Vocab.h)
    . GetString()                                   (Vocab.h)
    . LoadDataFile()                                (JPData.h)
    . GetInvalidDataFileMessage()                   (JPData.h)
    . GraphicalMousePointer()                       (Mouse.h)
    . TEditZone::m_enable_string_checking()
    . TEditZone::m_disable_string_checking()
   renamed functions :
    . SetMouseCursor() renamed to SetMousePointer() (Mouse.h)
   renamed types :
    . TMouseCursor renamed to TMousePointer         (Mouse.h)

 JPTUI 3.2  (30-Jun-96) 

 New features
   file selection box (cf. FileBox.h)
   items can be added to a list at a specified position
   new callback in TComboBox : called when a choice is validated
   constants in FILES.H :  max length of the  different components of a
    path

 Fixed bugs
   in TComboBox
    . edit-zone might not  be updated when the  selection changed in the
      list

 Changes
   JPTUI now looks  for JPTUI.FNT in  the executable  directory (not in
    search path)
   critical error is always disabled
   in edit-zones, ALT-BACKSPACE is now a toggle
   selected item color in  lists -> you  can now see if  a list has the
    focus
   changed function declarations :
    . TList::TList
    . TSimpleList::TSimpleList
   removed functions :
    . EnableCriticalError
    . DisableCriticalError
    . List access functions of TComboBox
   added functions :
    . TComboBox::m_get_list()
    . TComboBox::m_set_string_validated_callback()
    . TSimpleList::m_insert_item()
    . TMenu::m_insert_item()
    . TWindow::m_get_previous_focused_object()
    . EndOfString()
    . FullPath()
    . DriveExists()
    . GetCurrentDir()
    . FileSelectionBox()

 JPTUI 3.1  (06-Jun-96) 

 New features
   combo-boxes
   windows :
    . modal/modeless windows
    . movable/not movable windows
    . the active window can be changed by clicking or ALT-F6 (unless the
      active window is modal)
    . information bar
   lists (TListBox, TMenu...) :
    . each item in a list can be defined as a toggle or not
    . a menu item can be automatically toggled (checked/unchecked)
    . menu items can have shortcuts
    . menu items  can display  help messages in  the window  information
      bar
   push-buttons :
    . when buttons are  pushed with a key,  they are only  released when
      the pressed key is released
   text modification of edit-zones and text-zones can be prevented
   disabled ctrl-break in non-debug version
   critical error (int 0x24) can be disabled

 Fixed bugs
   fixed several minor bugs
   a window  close button  could be pressed  even if the  object of the
    window which has the focus refused to lose it

 Changes
   several minor changes
   new class :
    . TSimpleList
   removed functions  :
    . TObject::m_hook_events()
    . TObject::m_unhook_events()
    . JPCloseWindows()
    . JPRefreshOnRetrace()
   added functions :
    . TEditZone::m_select_all()
    . TList::m_get_item_index()
    . WaitKeyRelease()
   windows :
    . closing may be forced, even if the  object of the window which has
      the  focus refuse to lose it
   lists (TListBox, Tmenu...)
    . list items are defined differently (more freedom for each item)
   refresh is always done on retrace
   renamed jptui.a to libjptui.a
   modified keyboard  routines -> one  keycode for each  combination of
    keys

 JPTUI 3.0  (20-Apr-96) 

 First public release

 JPTUI 1.0  (02-Mar-96) 

 First version, not publicly released


 What are all these files


The following files are created when you install JPTUI :


 JPTUI Introduction 

 FILE_ID.DIZ             : Short JPTUI description
 README.TXT              : Quick start instructions

 JPTUI Demo 

 DEMO/MAKEDEMO.BAT       : To build the demo
 DEMO/JPDEMO.SRC         : Source file of the hypertext help file
 DEMO/JPDEMO.CPP         : Source file ot the program
 DEMO/VOCAB.xxx          : Vocabulary files (multi-language support)
 DEMO/...                : Misc files

 JPTUI Documentation 

 DOCS/JPDOC.BAT          : To read the hypertext JPTUI documentation
 DOCS/JPTUI.HLP          : Hypertext JPTUI documentation
 DOCS/JPTUI.TXT          : Ascii JPTUI documentation

 Debug Version of the Library 

 LIBS/DEBUG/JPTUI.H      : JPTUI header file
 LIBS/DEBUG/JPTUI.DAT    : JPTUI data files
 LIBS/DEBUG/JPTUI.LIB    : Borland library (Borland version only)
 LIBS/DEBUG/LIBJPTUI.A   : DJGPP library (DJGPP version only)

 Release Version of the Library 

 LIBS/NODEBUG/JPTUI.H    : JPTUI header file
 LIBS/NODEBUG/JPTUI.DAT  : JPTUI data files
 LIBS/NODEBUG/JPTUI.LIB  : Borland library (Borland version only)
 LIBS/NODEBUG/LIBJPTUI.A : DJGPP library (DJGPP version only)

 Some source code from the JPTUI library 

 SRC/...                 : Source code for MessageBox and
                            FileSelectionBox functions

 JPTUI Tools 

 TOOLS/EXEDAT.EXE        : EXEDAT program by Ren Olsthoorn (01)
                            to create an archive (JPTUI.DAT)
                            of data files
 TOOLS/CONNECT.EXE       : CONNECT program by Ren Olsthoorn (01)
                            to link the archive created with EXEDAT to
                            your .exe file

 TOOLS/JPHC.EXE          : JPTUI Help Compiler (JPHC /? for more info)
 TOOLS/JPHELP.EXE        : JPTUI Help Viewer (JPHELP /? for more info)


 (01) 	-> Credits



 Technical Information


JPTUI libraries are available for the following compilers :

 DJGPP

  The DJGPP version of JPTUI has been compiled with DJGPP 2.0.1 (gcc
  2.8.1).

 Borland C++

  The Borland version of JPTUI has been compiled with Borland C++ 4.52
  using the following options :

   Memory model      : huge (-ml),
   Alignment         : word alignment (-a),
   Identifier length : 250 (-i250).

  Any program written JPTUI must be compiled with the same options.
  Borland JPTUI libraries can also be used with Borland C++ 4.0 and
  5.0 (but are not compatible with Turbo or Borland C++ 3.1).


 How to debug


 JPTUI Versions 

Two versions of JPTUI are provided for each supported compiler :

 A 'DEBUG' version

  You should use this version while developping :
   it contains many tests which are in theory 'useless' and stops the
    program in in case of unexpected problems (invalid argument,
    unexpected situation...),
   it provides macros (01) to implement such tests in your code,
   it gives the possibility to display available memory (01) at the top of
    the screen while your program is running

 A 'RELEASE' version

  You may use this version when your program has been fully tested :
   it contains no such tests
   it is smaller than the 'debug' version

 Abnormal program terminations 

If you use the 'debug' version of JPTUI, and the program is stopped
due to an unexpected problem, you can get the following message :

Abnormal program termination ('Error code') :
'Filename' ('Line')

The different error codes are described below.

   1 : Can't add an element to an open window
   2 : An element of the object being destructed hasn't been destructed
   3 : Can't add an element to an object which is open or can't have
        child objects
   4 : Can't remove an element from an open window
   5 : Object without window
   6 : Disabled element
   7 : Only a tab can be added to a tab group
   8 : No tab is visible
   9 : Only one application can be declared
  10 : An application must be declared before any window declaration
  11 : A window must be closed before being destructed
  12 : Can't add a menu to an open menu bar
  13 : Invalid icon type
  14 : Invalid item number
  15 : A window can't refuse to take the focus
  16 : The visible tab is not the good one
  17 : A disabled push button can't be pressed
  18 : The edit zone hasn't taken the focus again after the closing of
        the message box
  19 : Invalid button type
  20 : Invalid button number
  21 : The application is destructed without being stopped or while
        some dialog boxes are running
  22 : Before destructing the application, all windows must be closed
        and destructed
  23 : The application can't be initialized more than once
  24 : The application must be initialized before being ran
  25 : A dialog box can't be run if the application hasn't been
        initialized
  26 : Invalid window number
  27 : Invalid window height
  28 : Invalid menu number
  29 : The application must be initialized before opening a window
  30 : Invalid object number
  31 : Invalid line length
  32 : Can't process events if the application hasn't been initialized



 (01) 	-> Debug Macros



 FAQ


Don't forget to read the technical information (01) and the notes about
debugging (02).

 A class doesn't seem to have any of the functions I would expect. How
  do I get it to do what I need ?

  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.

 How can I start my application with a textual mouse pointer ?

  Just call SetMousePointerAspect(MPA_TEXTUAL) or
  SetMousePointerAspect(MPA_MOUSE_DRIVER) before calling JPInit().

 How can I change the caption of an object at run-time ? I tried
  m_set_caption and it doesn't seem to work ?

  The m_set_caption method can only be used for objects who already have
  a caption. So if you want to change the caption of an object at
  run-time you have to define a caption when you declare this object
  (the " " for instance).

 I want to test the contents of a TEditZone when it loses focus.  So I
  wrote a function and set it as the callback. If the contents of the
  field do not meet my standards, I want to show a message box
  (specifying incorrect data) and then I want the focus to return to the
  TEditZone. I can't figure out how to use the 'm_set_focus' method to
  accomplish this.

  You have to declare a new class derived from TEditZone with at least
  the following methods : m_string_valid() and m_get_error_message().
   'boolean m_string_valid(char *string)' returns a boolean value which
    indicates if 'string' is a valid string for the editzone. When a
    TEditZone loses the focus and this functions returns FALSE for the
    contents of the zone, a dialog box is open and then the focus
    returns to the TEditZone.
   The message displayed in the dialog box is the string returned by
    the method m_get_error_message(). This method can use the
    f_error_message field to store the error message : this string is
    initialized to NULL in the constructor of TEditZone and freed
    (delete[]) in the destructor if it's different from NULL.

 I've created a C++ class and I want to use one of its methods as a
  callback for JPTUI, but the compiler refuses.

  You cannot use pointers to methods like pointers to usual functions.
  The only way to get a pointer to a method is to declare this method
  as static. Unfortunately, when a method is static, it's common to all
  instances of its class, so it doesn't know which instance is supposed
  to receive the callback. Most of the time, this problem is solved by
  using the first argument of callbacks which is a pointer to the object
  which caused the callbacks.

 I want to get a pointer to the window a button belongs to. My button
  belongs to a frame, which belongs to another frame which belongs to
  a window. Do I have to use the m_get_parent() method to go from my
  button to the window ?

  No. Each object knows which window it belongs to. Use m_get_window()
  on your button to get a pointer to its window.

 Your demo program works without any other file in its directory, but
  my application refuse to be ran if JPTUI.DAT is not located if the
  same directory.

  JPTUI.DAT is an archive of compressed data files. You can add, change
  and remove files with the EXEDAT program. When JPTUI needs a data
  file, it tries to find it in the directory of the .exe file, then it
  looks for JPTUI.DAT. You may link JPTUI.DAT to the .exe file with the
  CONNECT program.

 I was wondering if you can add an object in a window during
  run-time. I tried but I couldn't manage to make it visible.

  Compile your program with the debug version of the library and you'll
  have the answer. You cannot add an object to a window which is open.
  What you can try is closing the window, adding your object and opening
  your window again.

 The documentation on how JPRun(), JPStop(), JPRunDialog() and related
  functions need to be more complete. I have tried to create my own
  dialog-box function but could not get things right.

  The source code of two message boxes are provided with the library.
  You can use them as examples.

 I've downloaded your library and I have problems compiling the example
  with BC++ v5.0. If compiles fine when using your makedemo.bat file
  (after changing the directory names), but when I load the project file
  into the Integrated Development Environment, and try to compile, it
  gives me errors when linking.

  When importing BC++ 4.52 project files with BC++ 5.0, several
  compiling options are lost. Read the technical information to get
  some information about them.

 PObject->m_get_window() does not always seem to point to the TWindow
  that I expect it to (with menus for instance). Can you explain this ?

  Each object must belong to a window in order to be displayed. If you
  declare an object without parent, a window is dynamically created.
  Windows are like screens : nothing can be drawn outside them.

  If you look at menus, they are drawn outside the window in which the
  menu bar appears. As a matter of fact, each menu has its own window
  (dynamically created by the menu), which is different than the window
  of its menu bar.

  You probably want to use : menu->m_get_menu_bar()->m_get_window()


 Is there a way to be doing something and every once in a while call a
  function that checks if a user clicked a button or something. Like
  printing a file and checking if the user clicked the cancel button to
  stop printing.

  The main part of JPTUI is a loop in which events are regularly
  examined. If an event occurs, JPTUI handles this event and invokes
  callbacks relevant to this event. There is one particulier callback
  ("no event" callback) which is invoked at each iteration of the loop,
  even if no event occurs.

  while (1]
  {
    -> processes events
    -> invokes the "no event" callback
  }

  There are two solutions to your problem :

  1) Cut the function you want to be able to interrupt in small pieces
  that you execute in the "no event" callback (cf the
  'JPSetNoEventCallback' function). It's quite easy if your function is
  a loop.

  2) In your function, regularly call the 'JPProcessEvents' functions.
  This function execute an iteration of JPTUI's main loop. It processes
  events once, invokes the "no event"  callback than return.

  I personally advise the first solution because in that case, your
  function is called outside any other callback. With the second
  solution, your function is already called inside a callback and you
  ask JPTUI to handle other events and invoke other callbacks, whereas
  it hasn't finished to handle the first one.



 (01) 	-> Technical Information
 (02) 	-> How to debug



 Preprocessor Symbols


Boolean Definitions (01)           Various boolean definitions
Cursor Definitions (02)            Definitions for the various cursor styles
Datatype Definitions (03)          Minimum and maximum values for datatypes
EditZone Definitions (04)          EditZone-related values
File Definitions (05)              Various definitions related to files
Keycode Definitions (06)           Identifiers for referring to each key
Gauge Definitions (07)             Various Gauge-related definitions
InputBox Definitions (08)          Various InputBox-related definitions
Language Definitions (09)          Language-related definitions
List Definitions (10)              List-related definitions
MessageBox Definitions (11)        Various MessageBox-related definitions
Mouse Definitions (12)             Symbols relating to the mouse
Object Type Definitions (13)       Symbols to identify the various object
                              types
PushButton Type Definitions (14)   Special identifiers for various button
                              types
Screen Definitions (15)            Various definitions related to the display
ScrollBar Definitions (16)         ScrollBar-related values
Shadow Definitions (17)            Symbols telating to shadows
Shortcut Definitions (18)          Identifiers for referring to shortcut keys
Sound Definitions (19)             Identifiers for each sound available
Special Character Definitions (20) Identifiers for the Graphical Characters
                              used
TextZone Definitions (21)          TextZone-related definitions
TList Attribute Definitions (22)   Attributes for TListItems
Window Definitions (23)            Various Window-related identifiers


 (01) 	-> Boolean Definitions
 (02) 	-> Cursor Definitions
 (03) 	-> Datatype Definitions
 (04) 	-> EditZone Definitions
 (05) 	-> File Definitions
 (06) 	-> Keycode Definitions
 (07) 	-> Gauge Definitions
 (08) 	-> InputBox Definitions
 (09) 	-> Language Definitions
 (10) 	-> List Definitions
 (11) 	-> MessageBox Definitions
 (12) 	-> Mouse Definitions
 (13) 	-> Object Type Definitions
 (14) 	-> PushButton Type Definitions
 (15) 	-> Screen Definitions
 (16) 	-> ScrollBar Definitions
 (17) 	-> Shadow Definitions
 (18) 	-> Shortcut Definitions
 (19) 	-> Sound Definitions
 (20) 	-> Special Character Definitions
 (21) 	-> TextZone Definitions
 (22) 	-> TList Attribute Definitions
 (23) 	-> Window Definitions



 Datatypes


String Datatypes (01)              String-related types


 (01) 	-> String Datatypes



 Structures


Keyboard Structures (01)           All public keyboard-related structures
TList Structures (02)              All public TList-related structures
TMenu Structures (03)              All public TMenu-related structures


 (01) 	-> Keyboard Structures
 (02) 	-> TList Structures
 (03) 	-> TMenu Structures



 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 and Macros


Application Macros (01)            Macros related to the application
Character set Macros (02)          Macros related to the character set
MIN and MAX Macros (03)
Caption Functions (04)             Macros related to object captions
Character set Functions (05)       Functions related to the character set
Conversion Functions (06)          Conversion functions between different
                              types
Cursor Functions (07)              Functions related to the text cursor
Data file Functions (08)           Functions related to resource files
Debug Macros (09)                  Macros useful for debugging
Dialog Functions (10)              Functions related to dialog boxes
Error Functions (11)               Functions to be used in case of error
File Functions (12)                Functions related to files
Keyboard Functions (13)            Functions related to the keyboard
Mouse Functions (14)               Functions related to the mouse
Screen Functions (15)              Functions related to the screen
Shadow Functions (16)              Functions to be used to draw shadows
Sound Functions (17)               Functions to be used to emit sounds
Text Functions (18)                Functions related to the text of objects
Video beam Functions (19)          Functions related to the video beam
Vocabulary Functions (20)          Functions related to multi-language
                              support
Windows Functions (21)             Functions related to Microsoft Windows


 (01) 	-> Application Macros
 (02) 	-> Character set Macros
 (03) 	-> MIN and MAX Macros
 (04) 	-> Caption Functions
 (05) 	-> Character set Functions
 (06) 	-> Conversion Functions
 (07) 	-> Cursor Functions
 (08) 	-> Data file Functions
 (09) 	-> Debug Macros
 (10) 	-> Dialog Functions
 (11) 	-> Error Functions
 (12) 	-> File Functions
 (13) 	-> Keyboard Functions
 (14) 	-> Mouse Functions
 (15) 	-> Screen Functions
 (16) 	-> Shadow Functions
 (17) 	-> Sound Functions
 (18) 	-> Text Functions
 (19) 	-> Video beam Functions
 (20) 	-> Vocabulary Functions
 (21) 	-> Windows Functions



 Classes


TApplication (01)                     TCheckBox (02)
TComboBox (03)                        TDecimalEditZone (04)
TEditZone (05)                        TFileListBox (06)
TFrame (07)                           TGauge (08)
TGroup (09)                           THelpWindow (10)
TIntegerEditZone (11)                 TLabel (12)
TList (13)                            TListBox (14)
TMenu (15)                            TMenuBar (16)
TObject (17)                          TPasswordEditZone (18)
TPushButton (19)                      TRadioButton (20)
TRadioGroup (21)                      TScrollBar (22)
TSimpleList (23)                      TTab (24)
TTabGroup (25)                        TTextZone (26)
TWindow (27)


 (01) 	-> TApplication
 (02) 	-> TCheckBox
 (03) 	-> TComboBox
 (04) 	-> TDecimalEditZone
 (05) 	-> TEditZone
 (06) 	-> TFileListBox
 (07) 	-> TFrame
 (08) 	-> TGauge
 (09) 	-> TGroup
 (10) 	-> THelpWindow
 (11) 	-> TIntegerEditZone
 (12) 	-> TLabel
 (13) 	-> TList
 (14) 	-> TListBox
 (15) 	-> TMenu
 (16) 	-> TMenuBar
 (17) 	-> TObject
 (18) 	-> TPasswordEditZone
 (19) 	-> TPushButton
 (20) 	-> TRadioButton
 (21) 	-> TRadioGroup
 (22) 	-> TScrollBar
 (23) 	-> TSimpleList
 (24) 	-> TTab
 (25) 	-> TTabGroup
 (26) 	-> TTextZone
 (27) 	-> TWindow



 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.

 FALSE / TRUE
 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


 Cursor Definitions


 RECOVER_CURSOR

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

 INSERT_CURSOR

  Specifies the 'Insert Mode' cursor.


 Datatype Definitions


 Ranges of Data Types 

 MAXWORD

  This defines the maximum possible value for the 'word' data type.

 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.


 EditZone Definitions


 Scrolling Speed 

 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.

 EDITZONE_FIRST_SCROLL_SPEED

  This defines the delay between the first move of a scrolling and the
  other moves. This allows the user to make only one move by quickly
  clicking and releasing the mouse button.


 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                  TAB
 RETURN

 F1                     F2                     F3
 F4                     F5                     F6
 F7                     F8                     F9
 F10                    F11                    F12

 UP                     DOWN                   LEFT
 RIGHT                  HOME                   END
 PGUP                   PGDN

 BACKSPACE              INSERT                 DELETE

 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_UP               SHIFT_DOWN             SHIFT_LEFT
 SHIFT_RIGHT            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_Y
 CTRL_Z

 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_HOME              CTRL_END
 CTRL_PGUP              CTRL_PGDN

 CTRL_BACKSPACE         CTRL_INSERT            CTRL_DELETE

 ALT Keys 

 ALT_A                  ALT_B                  ALT_C
 ALT_D                  ALT_E                  ALT_F
 ALT_G                  ALT_H                  ALT_I
 ALT_J                  ALT_K                  ALT_L
 ALT_M                  ALT_N                  ALT_O
 ALT_P                  ALT_Q                  ALT_R
 ALT_S                  ALT_T                  ALT_U
 ALT_V                  ALT_W                  ALT_Y
 ALT_Z

 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


 Gauge Definitions


 Gauge Style 

The following two values are actually part of the 'TGaugeStyle'
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).


 InputBox Definitions


 InputBox Type 

 IB_STRING

  The InputBox is used to enter a string.

 IB_PASSWORD

  The InputBox is used to enter a password. The string which is entered
  by the user doesn't appear on screen.

 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


 Language Definitions


 Language 

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

 NONE

  No language has been chosen yet.

 ENGLISH
 FRENCH
 GERMAN
 ITALIAN
 SPANISH
 DUTCH
 GREEK (partial support : only upper case characters and no shortcuts)


 List Definitions


 Scrolling Speed 

 LIST_SCROLL_SPEED

  See EDITZONE_SCROLL_SPEED (01).

 LIST_FIRST_SCROLL_SPEED

  See EDITZONE_FIRST_SCROLL_SPEED (01).


 (01) 	-> EditZone Definitions



 MessageBox Definitions


 MessageBox Type 

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


 Mouse Definitions


 Button States 

 NO_BUTTON_PRESSED
 LEFT_BUTTON_PRESSED
 RIGHT_BUTTON_PRESSED

 Button Identifiers 

 LEFT_BUTTON
 RIGHT_BUTTON

 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.

 Mouse Pointer Aspect 

The following are defined as part of the enumeration
'TMousePointerAspect'.

 MPA_GRAPHICAL

  The mouse pointer is a graphical arrow displayed by JPTUI

 MPA_TEXTUAL

  The mouse pointer is a textual block displayed by JPTUI

 MPA_MOUSE_DRIVER

  The mouse pointer is displayed by the mouse driver. It can be a
  textual block if the program is ran in full screen mode (or nothing
  with non-standard text modes), or the pointer of Microsoft Windows if
  the program is ran in a Dos BOX.


 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_CHECK_BOX
 OBJ_COMBO_LIST
 OBJ_EDIT_ZONE
 OBJ_FRAME_GROUP
 OBJ_LABEL
 OBJ_GAUGE
 OBJ_LIST_BOX
 OBJ_MENU
 OBJ_MENU_BAR
 OBJ_PUSH_BUTTON
 OBJ_SCROLL_BAR
 OBJ_TAB
 OBJ_TAB_GROUP
 OBJ_TEXT_ZONE
 OBJ_WINDOW


 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.


 Screen Definitions


 Background 

 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.

 Fonts 

The following are defined as part of the enumeration 'TFont'.

 FONT_STANDARD

  Standard font.

 FONT_JPTUI

  Special font designed for JPTUI.


 ScrollBar Definitions


 Scrolling Speed 

 SCROLLBAR_SCROLL_SPEED

  See EDITZONE_SCROLL_SPEED (01).

 SCROLLBAR_FIRST_SCROLL_SPEED

  See EDITZONE_FIRST_SCROLL_SPEED (01).

 Scrollbar Orientation 

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

  Vertically orientated

 SB_HORIZONTAL

  Horizontally orientated

 Scrollbar Choice 

The following values are actually defined as parts of the enumeration
'TScrollbarChoice'.  They are used to specify what kind of scrollbars
are used by an object.

 SBC_NONE

  The object has no scrollbar.

 SBC_HORIZONTAL

  The object has an horizontal scrollbar.

 SBC_VERTICAL

  The object has a vertical scrollbar.

 SBC_BOTH

  The object has both an horizontal scrollbar and a vertical one.


 (01) 	-> EditZone Definitions



 Shadow Definitions


 Shadow Choice 

The following values are actually defined as parts of the enumeration
'TShadowChoice'.  They are used to specify what kind of shadows are used
by an object.

 SHC_NONE

  The object has no shadow.

 SHC_HORIZONTAL

  The object has an horizontal shadow.

 SHC_VERTICAL

  The object has a vertical scrollbar.

 SHC_BOTH

  The object has both an horizontal shadow and a vertical one.


 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_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_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                 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_END                 SC_PGUP
 SC_PGDN

 SC_CTRL_UP             SC_CTRL_DOWN           SC_CTRL_LEFT
 SC_CTRL_RIGHT          SC_CTRL_HOME           SC_CTRL_END
 SC_CTRL_PGUP           SC_CTRL_PGDN

 SC_ALT_HOME            SC_ALT_END

 SC_INSERT              SC_DELETE

 SC_CTRL_BACKSPACE      SC_CTRL_INSERT         SC_CTRL_DELETE

 SC_SHIFT_INSERT        SC_SHIFT_DELETE

 SC_ALT_BACKSPACE       SC_ALT_DELETE


 Sound Definitions


The following are defined as part of the enumeration 'TSound'.

 NO_SOUND

  No sound.

 ERROR_SOUND

  A general error sound.

 BIP1
 SOUND_UP1
 ALARM1

  Other sounds.

If you want more sounds, define them with the sound() and delay()
functions then send me their definition. I will add them to JPTUI.


 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.

Note : These characters can only be used if the current font is
JPTUI_FONT (cf Screen Definitions (01)).

 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
 CHAR_UP_BOTTOM_HLINES
 TEXT_UP_BOTTOM_HLINES

 Ticks 

 CHAR_TICK
 TEXT_TICK

 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


 (01) 	-> Screen Definitions



 TextZone Definitions


 Scrolling Speed 

 TEXTZONE_SCROLL_SPEED

  See EDITZONE_SCROLL_SPEED (01).

 TEXTZONE_FIRST_SCROLL_SPEED

  See EDITZONE_FIRST_SCROLL_SPEED (01).


 (01) 	-> 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).


 Window Definitions


 Caption Text Justification (Alignment) 

 CENTERED

  The caption text will be centered in its display area when this is
  set.

 JUSTIFIED_LEFT

  The caption text will be positionned at the left of its display area
  when this is set.

 JUSTIFIED_RIGHT

  The caption text will be positionned at the right of its display area
  when this is set.

 CENTERED_LEFT

  When this is set, the caption text will be centered in its display
  area if there is enough place to display it entirely, otherwise it
  will be positionned at the left of its display area.

 CENTERED_RIGHT

  When this is set, the caption text will be centered in its display
  area if there is enough place to display it entirely, otherwise it
  will be positionned at the right of its display area.

 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.


 String Datatypes


Strings used by JPTUI can have different formats.

 the 'text' string format

  This string format is used by the 'TWindow::m_put_text' function, and
  by any object which uses this function. In particular, the text of
  TLabel objects is displayed using this function.

  This kind of string is of form :
  "1st line\n2nd line\n...\nlast line"

  Each line is of form "Normal text[special sequence]Normal text ....".
  Each sub-string between '[' and ']' is not displayed (you can use "[["
  to  display a '[' character), but has a special meaning.

  The following special sequences can be used :
   [cx] to change the color of the text (x is the color : 0,1...9,
    A...F),
   [axy] to change the attribute (text and background colors) of the
    text (x for background, y for text : 0,1...9,A...F).

  In some cases (in TTextZone objects for instance), these special
  sequences are considered as normal text.

 the 'caption' string format

  This string format is used by the 'TWindow::m_put_caption', and by any
  object which uses this function. In particul, the caption of most
  objects is displayed using this function.

  This kind of string is a standard string in which the hot key is
  preceded by a '~' (you can use "~~" to display a '~' character).


 Keyboard Structures


 TKey

   int character

    The key code (01).

   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.


 (01) 	-> Keycode Definitions



 TList Structures


 TListItem

   char* label

    The item's label.

   int attribute

    The item's attributes (01).


 (01) 	-> TList Attribute Definitions



 TMenu Structures


 TMenuItem

   char* label

    The item's label.

   int attribute

    The item's attributes (01).

   int short_cut

    The keycode which should be used as a shortcut (02).

   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 (cf TWindow Instanciation (03)).


 (01) 	-> TList Attribute Definitions
 (02) 	-> Shortcut Definitions
 (03) 	-> TWindow Instanciation



 Application Macros


 Application Memory Management 

 JPOutOfMemoryExit ()

  This is called to exit the application when memory runs out.

 Scheduling 

 JPInit ()

  Initialises everything needed for JPTUI (mouse, 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.

 JPProcessEvents ()

  This functions processes events once and returns to the calling
  function. You can use it in long callbacks for instance, so that
  events are regularly processed. If you have long callbacks and want
  events to be processed during their execution, another solution is to
  use the 'no event' callback (cf 'JPSetNoEventCallback' below).

 JPStop ()

  Stops event processing.  Call this to disable JPTUI when you want to
  quit your application or stop even processing for a dialog box.

 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.

 Windows 

 boolean JPRedrawWindows ()

  Redraws the contents of windows.

 boolean JPMakeNextWindowActive ()

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

 PWindow GetActiveWindow ()

  Returns a pointer to the active window or NULL if there is no such
  window.

 Clipboard 

 JPGetClipboard ()

  Returns the clipboard contents (a string ('char*') which uses the
  'text' string format (01).

 JPSetClipboard (
    char *text)

  Changes the clipboard contents to 'text'. 'text' has a special
  string format (01).

 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 (
    void (*no_event_action)(char *),
    char *no_event_argument);

  Sets the callback to invoke when no event occur.  the
  'no_event_argument' can be used to provide an argument to your
  callback.

 JPSetClipboardChangedCallback (
    void (*clipboard_changed_action)(char *),
    char *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'.


 (01) 	-> String Datatypes



 Character set Macros


 void DefineChars (
    int nb_chars,
    char first_char,
    char *char_definition)

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

 void GetCharDefinition (
    int nb_chars,
    char first_char,
    char *char_definition)

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


 (01) 	-> Character set Functions



 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.


 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.


 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.

  See Character set Macros (01)


 (01) 	-> Character set Macros



 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'.


 Cursor Functions


 Style 

 void SetTextCursorStyle (
    int cursor_style)

  Changes the cursor style to 'cursor_style' (cf Cursor Definitions (01)).

 int GetTextCursorStyle ()

  Returns the current cursor style (cf Cursor Definitions (01)).

 Visibility 

 void HideTextCursor ()

  Makes the cursor invisible.

 void ShowTextCursor ()

  Makes the cursor visible.

 boolean TextCursorIsVisible ()

  Returns a boolean value, which indicates whether the cursor is
  currently 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 (cf Cursor Definitions (01)).

 int GetXTextCursor ()

  Returns the current 'x' position of the cursor.

 int GetYTextCursor ()

  Returns the current 'y' position of the cursor.


 (01) 	-> Cursor Definitions



 Data file Functions


 Introduction 

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

Note : EXEDAT (01) is a program which can be used to easily create an
       archive, insert numerous files, compress them (or not) and link
       the archive to your .exe file.

JPTUI.DAT provided with JPTUI contains several files which are necessary
to the library (fonts, mouse pointers, vocabulary files (02)...).

JPTUI supports the following compression methods of EXEDAT :
 0 (compr_none)  : no compression,
 1 (compr_lzss)  : lzss compression, for fast decoding,
 2 (compr_lzari) : arithmetic compression, like most archivers.

 Functions 

 void LoadDataFile (
    char *file_name,char *(&buffer),long &length)

  Allocates a buffer and loads the data file 'file_name' into this
  buffer. This buffer has to be freed by delete [].

  If the file 'file_name' can be found in the .exe file directory,
  this file is loaded even if it is also located in JPTUI.DAT or an
  exedat archive linked to the .exe file. If this file cannot be found
  in the .exe file 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 .exe file.

  Returns :
   a pointer to the buffer (in 'buffer') or NULL if an error
    occurs (no data file or incorrect data file),
   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 (cf Vocabulary Functions (02)).


 (01) 	-> Credits
 (02) 	-> Vocabulary Functions



 Debug Macros


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

 NO_DEBUG (instruction)

   'debug' version   : doesn't do anything
   'release' version : execute 'instruction'

 DEBUG (instruction)

   'debug' version   : execute 'instruction'
   'release' version : doesn't do anything

 DEBUG_STOP ()

   'debug' version   : aborts the program
   'release' version : doesn't do anything

 DEBUG_TEST (test)

   'debug' version   : if 'test' evaluates to 0, aborts the program
   'release' version : doesn't do anything.

 DEBUG_SHOW_MEMORY ()

   'debug' version   : after calling this macro, available memory is
                        regularly displayed using 'DEBUG_DISPLAY_MEMORY'
   'release' version : doesn't do anything

 DEBUG_HIDE_MEMORY ()

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

 DEBUG_DISPLAY_MEMORY ()

   'debug' version   : displays the available memory (physical and
                        and virtual if any) at the top of the screen,
   'release' version : doesn't do anything.


 Dialog Functions


 void InputBox (
    char *title,
    char *message,
    int window_style,
    char *default_string,
    int max_length,
    char *return_string,
    int type=IB_STRING);

  Opens a window of the type specified by the 'type' argument (cf
  InputBox Definitions (01)) 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' characters in length.  The chosen string ("" if 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,
    TSound sound_type=NO_SOUND)

  Displays a message box, of the type specified by the 'type' argument
  (cf MessageBox Definitions (02)).  The window will have the title
  'title', and the message 'message', and use the window style
  'window_style'. The sound 'sound_type' (cf Sound Definitions (03)) is
  played when the message box opens.

 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).


 (01) 	-> InputBox Definitions
 (02) 	-> MessageBox Definitions
 (03) 	-> Sound Definitions



 Error Functions


 void AbortProgram ()

  Aborts the program without displaying any message.

 void FatalError (
    char *message)

  Aborts the application, printing 'message'.

 void TextError (
   char *message)

  Closes the application if necessary (cf CloseScreen (01))
  and displays the error 'message' (in text mode).


 (01) 	-> Screen Functions



 File Functions


 boolean FileExists (
    char *file_name)

  Returns a boolean value which indicates whether 'file_name' exists.

 char * GetCurrentDir ()

  Returns the current directory (including the drive specifier), or ""
  if an error occurs.

 boolean 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 '\', converting '\\' to '\'...).
  Stores the result in the buffer pointed to by 'full_path'.

  In case of failure, this function returns the root of the current
  drive in 'full_path' and returns FALSE, otherwise it returns the full
  name and TRUE.

   'full_path' must be MAX_PATH bytes length (including /0)
    (cfFile Definitions (01)).
   If 'path' ends with a slash, 'full_path' too.
   If a drive is specified in 'path', this drive must exist.

 void FullPathOfFileInExeDir (
    char *full_path,char *file_name)

  Returns the full path of a file located in the directory of your .exe
  file.

   'full_path' must be MAX_PATH bytes length (including /0)
    (cfFile Definitions (01)).
   'file_name' must be a file name without directory information (only
    'FILE.EXT'), otherwise this file name is returned unchanged.

 boolean DriveExists (int drive)

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


 (01) 	-> File Definitions



 Keyboard Functions


 void ResetKeyboard ()

  Clears the keyboard buffer.

 boolean KeyPressed ()

  Indicates whether a key has been pressed. Contrary to kbhit(), doesn't
  pause the program when the user hits CTRL-S.

 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 'Null Key'. The 'Null Key' is a reserved value which
  doesn't corresponds to any existing key.

 boolean IsNullKey (TKey key)

  Returns a boolean which indicates whether 'key' is the 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.
  If the left button has been pressed, the returned value is the 'Null
  Key' (cf 'IsNullKey').


 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 HideMouse ()

  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'
  (cf Mouse Definitions (01)).

 void SetMousePointer (
    TMousePointer pointer)

  Changes the mouse pointer type to 'pointer' (cf Mouse Definitions (01)).

 TMousePointer getMousePointer ()

  Returns the current mouse pointer (cf Mouse Definitions (01)).

 TMousePointerAspect SetMousePointerAspect ()

  Sets the aspect of the mouse pointer (cf Mouse Definitions (01)).

 void WaitMouseLeftButtonRelease ()

  Waits for the left button of the mouse to be released


 (01) 	-> Mouse Definitions



 Screen Functions


 void SetTextMode (
    TTextMode text_mode)

  Sets the text mode of the screen to 'text_mode' (Screen Definitions (01)).
  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 (cf Screen Definitions (01)).

 int GetScreenHeight ()

  Returns the current height of the screen in characters.

 int GetScreenWidth ()

  Returns the current width of the screen in characters.

 void SetFont (
    TFont font)

  Sets the font used by JPTUI to 'font' (cf Screen Definitions (01)).

 TFont GetFont ()

  Returns the font used by JPTUI (cf Screen Definitions (01)).

 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, or when you temporary disable the JPTUI screen (see
  'HideScreen' below).

 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'.


 (01) 	-> Screen Definitions



 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 (
    TSound sound_type)

  Plays a sound, which is selected with the argument 'sound_type'
  (cf Sound Definitions (01)).


 (01) 	-> Sound Definitions



 Text Functions


 int GetTextHeight (char *text)

  Returns the number of lines required to display 'text'.

 int GetTextWidth (char *text)

  Returns the number of columns required to display 'text'.


 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.


 Vocabulary Functions


 Introduction 

In order to support several languages, JPTUI needs vocabulary files.
Theses files are data files (cf Data file Functions (01)) 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)
 ITA (Italian vocabulary)
 SPA (Spanish vocabulary)
 DUT (Dutch 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 :

1000,"String number 1000"
1001,"String number 1001"

Strings numbers 0 to 999 are reserved for JPTUI vocabulary.
Strings numbers above 999 can be used by the application.

 Functions 

 TLanguage GetLanguage ()

  Returns the current language (cf Language Definitions (02)).

 boolean LoadVocabulary (
    TLanguage language)

  Loads vocabulary files which are specific to language 'language'
  (cf Language Definitions (02)) :
   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.


 (01) 	-> Data file Functions
 (02) 	-> Language Definitions



 Windows Functions


 boolean RunningUnderWindows ()

  Indicates whether the program is running under Windows.

 void SetDosBoxMode ()

  Configures JPTUI to be ran in a DOS box under Windows.

 void SetFullScreenMode ()

  Configures JPTUI to be ran in full screen mode (under Windows or not).
  If the application is running in a window, it is forced to full
  screen.


 TApplication


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TApplication Description
 (02) 	-> TApplication Base Classes
 (03) 	-> TApplication Derived Classes
 (04) 	-> TApplication Enumerations
 (05) 	-> TApplication Data
 (06) 	-> TApplication Instanciation
 (07) 	-> TApplication Static Methods
 (08) 	-> TApplication Access Methods
 (09) 	-> TApplication Callbacks
 (10) 	-> TApplication Special
 (11) 	-> TApplication Notes



 TCheckBox


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TCheckBox Description
 (02) 	-> TCheckBox Base Classes
 (03) 	-> TCheckBox Derived Classes
 (04) 	-> TCheckBox Enumerations
 (05) 	-> TCheckBox Data
 (06) 	-> TCheckBox Instanciation
 (07) 	-> TCheckBox Static Methods
 (08) 	-> TCheckBox Access Methods
 (09) 	-> TCheckBox Callbacks
 (10) 	-> TCheckBox Special
 (11) 	-> TCheckBox Notes



 TComboBox


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TComboBox Description
 (02) 	-> TComboBox Base Classes
 (03) 	-> TComboBox Derived Classes
 (04) 	-> TComboBox Enumerations
 (05) 	-> TComboBox Data
 (06) 	-> TComboBox Instanciation
 (07) 	-> TComboBox Static Methods
 (08) 	-> TComboBox Access Methods
 (09) 	-> TComboBox Callbacks
 (10) 	-> TComboBox Special
 (11) 	-> TComboBox Notes



 TDecimalEditZone


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TDecimalEditZone Description
 (02) 	-> TDecimalEditZone Base Classes
 (03) 	-> TDecimalEditZone Derived Classes
 (04) 	-> TDecimalEditZone Enumerations
 (05) 	-> TDecimalEditZone Data
 (06) 	-> TDecimalEditZone Instanciation
 (07) 	-> TDecimalEditZone Static Methods
 (08) 	-> TDecimalEditZone Access Methods
 (09) 	-> TDecimalEditZone Callbacks
 (10) 	-> TDecimalEditZone Special
 (11) 	-> TDecimalEditZone Notes



 TEditZone


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TEditZone Description
 (02) 	-> TEditZone Base Classes
 (03) 	-> TEditZone Derived Classes
 (04) 	-> TEditZone Enumerations
 (05) 	-> TEditZone Data
 (06) 	-> TEditZone Instanciation
 (07) 	-> TEditZone Static Methods
 (08) 	-> TEditZone Access Methods
 (09) 	-> TEditZone Callbacks
 (10) 	-> TEditZone Special
 (11) 	-> TEditZone Notes



 TFileListBox


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TFileListBox Description
 (02) 	-> TFileListBox Base Classes
 (03) 	-> TFileListBox Derived Classes
 (04) 	-> TFileListBox Enumerations
 (05) 	-> TFileListBox Data
 (06) 	-> TFileListBox Instanciation
 (07) 	-> TFileListBox Static Methods
 (08) 	-> TFileListBox Access Methods
 (09) 	-> TFileListBox Callbacks
 (10) 	-> TFileListBox Special
 (11) 	-> TFileListBox Notes



 TFrame


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TFrame Description
 (02) 	-> TFrame Base Classes
 (03) 	-> TFrame Derived Classes
 (04) 	-> TFrame Enumerations
 (05) 	-> TFrame Data
 (06) 	-> TFrame Instanciation
 (07) 	-> TFrame Static Methods
 (08) 	-> TFrame Access Methods
 (09) 	-> TFrame Callbacks
 (10) 	-> TFrame Special
 (11) 	-> TFrame Notes



 TGauge


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TGauge Description
 (02) 	-> TGauge Base Classes
 (03) 	-> TGauge Derived Classes
 (04) 	-> TGauge Enumerations
 (05) 	-> TGauge Data
 (06) 	-> TGauge Instanciation
 (07) 	-> TGauge Static Methods
 (08) 	-> TGauge Access Methods
 (09) 	-> TGauge Callbacks
 (10) 	-> TGauge Special
 (11) 	-> TGauge Notes



 TGroup


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TGroup Description
 (02) 	-> TGroup Base Classes
 (03) 	-> TGroup Derived Classes
 (04) 	-> TGroup Enumerations
 (05) 	-> TGroup Data
 (06) 	-> TGroup Instanciation
 (07) 	-> TGroup Static Methods
 (08) 	-> TGroup Access Methods
 (09) 	-> TGroup Callbacks
 (10) 	-> TGroup Special
 (11) 	-> TGroup Notes



 THelpWindow


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> THelpWindow Description
 (02) 	-> THelpWindow Base Classes
 (03) 	-> THelpWindow Derived Classes
 (04) 	-> THelpWindow Enumerations
 (05) 	-> THelpWindow Data
 (06) 	-> THelpWindow Instanciation
 (07) 	-> THelpWindow Static Methods
 (08) 	-> THelpWindow Access Methods
 (09) 	-> THelpWindow Callbacks
 (10) 	-> THelpWindow Special
 (11) 	-> THelpWindow Notes



 TIntegerEditZone


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TIntegerEditZone Description
 (02) 	-> TIntegerEditZone Base Classes
 (03) 	-> TIntegerEditZone Derived Classes
 (04) 	-> TIntegerEditZone Enumerations
 (05) 	-> TIntegerEditZone Data
 (06) 	-> TIntegerEditZone Instanciation
 (07) 	-> TIntegerEditZone Static Methods
 (08) 	-> TIntegerEditZone Access Methods
 (09) 	-> TIntegerEditZone Callbacks
 (10) 	-> TIntegerEditZone Special
 (11) 	-> TIntegerEditZone Notes



 TLabel


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TLabel Description
 (02) 	-> TLabel Base Classes
 (03) 	-> TLabel Derived Classes
 (04) 	-> TLabel Enumerations
 (05) 	-> TLabel Data
 (06) 	-> TLabel Instanciation
 (07) 	-> TLabel Static Methods
 (08) 	-> TLabel Access Methods
 (09) 	-> TLabel Callbacks
 (10) 	-> TLabel Special
 (11) 	-> 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.

A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TList Description
 (02) 	-> TList Base Classes
 (03) 	-> TList Derived Classes
 (04) 	-> TList Enumerations
 (05) 	-> TList Data
 (06) 	-> TList Instanciation
 (07) 	-> TList Static Methods
 (08) 	-> TList Access Methods
 (09) 	-> TList Callbacks
 (10) 	-> TList Special
 (11) 	-> TList Notes



 TListBox


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TListBox Description
 (02) 	-> TListBox Base Classes
 (03) 	-> TListBox Derived Classes
 (04) 	-> TListBox Enumerations
 (05) 	-> TListBox Data
 (06) 	-> TListBox Instanciation
 (07) 	-> TListBox Static Methods
 (08) 	-> TListBox Access Methods
 (09) 	-> TListBox Callbacks
 (10) 	-> TListBox Special
 (11) 	-> TListBox Notes



 TMenu


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TMenu Description
 (02) 	-> TMenu Base Classes
 (03) 	-> TMenu Derived Classes
 (04) 	-> TMenu Enumerations
 (05) 	-> TMenu Data
 (06) 	-> TMenu Instanciation
 (07) 	-> TMenu Static Methods
 (08) 	-> TMenu Access Methods
 (09) 	-> TMenu Callbacks
 (10) 	-> TMenu Special
 (11) 	-> TMenu Notes



 TMenuBar


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TMenuBar Description
 (02) 	-> TMenuBar Base Classes
 (03) 	-> TMenuBar Derived Classes
 (04) 	-> TMenuBar Enumerations
 (05) 	-> TMenuBar Data
 (06) 	-> TMenuBar Instanciation
 (07) 	-> TMenuBar Static Methods
 (08) 	-> TMenuBar Access Methods
 (09) 	-> TMenuBar Callbacks
 (10) 	-> TMenuBar Special
 (11) 	-> TMenuBar Notes



 TObject


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TObject Description
 (02) 	-> TObject Base Classes
 (03) 	-> TObject Derived Classes
 (04) 	-> TObject Enumerations
 (05) 	-> TObject Data
 (06) 	-> TObject Instanciation
 (07) 	-> TObject Static Methods
 (08) 	-> TObject Access Methods
 (09) 	-> TObject Callbacks
 (10) 	-> TObject Special
 (11) 	-> TObject Notes



 TPasswordEditZone


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TPasswordEditZone Description
 (02) 	-> TPasswordEditZone Base Classes
 (03) 	-> TPasswordEditZone Derived Classes
 (04) 	-> TPasswordEditZone Enumerations
 (05) 	-> TPasswordEditZone Data
 (06) 	-> TPasswordEditZone Instanciation
 (07) 	-> TPasswordEditZone Static Methods
 (08) 	-> TPasswordEditZone Access Methods
 (09) 	-> TPasswordEditZone Callbacks
 (10) 	-> TPasswordEditZone Special
 (11) 	-> TPasswordEditZone Notes



 TPushButton


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TPushButton Description
 (02) 	-> TPushButton Base Classes
 (03) 	-> TPushButton Derived Classes
 (04) 	-> TPushButton Enumerations
 (05) 	-> TPushButton Data
 (06) 	-> TPushButton Instanciation
 (07) 	-> TPushButton Static Methods
 (08) 	-> TPushButton Access Methods
 (09) 	-> TPushButton Callbacks
 (10) 	-> TPushButton Special
 (11) 	-> TPushButton Notes



 TRadioButton


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TRadioButton Description
 (02) 	-> TRadioButton Base Classes
 (03) 	-> TRadioButton Derived Classes
 (04) 	-> TRadioButton Enumerations
 (05) 	-> TRadioButton Data
 (06) 	-> TRadioButton Instanciation
 (07) 	-> TRadioButton Static Methods
 (08) 	-> TRadioButton Access Methods
 (09) 	-> TRadioButton Callbacks
 (10) 	-> TRadioButton Special
 (11) 	-> TRadioButton Notes



 TRadioGroup


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TRadioGroup Description
 (02) 	-> TRadioGroup Base Classes
 (03) 	-> TRadioGroup Derived Classes
 (04) 	-> TRadioGroup Enumerations
 (05) 	-> TRadioGroup Data
 (06) 	-> TRadioGroup Instanciation
 (07) 	-> TRadioGroup Static Methods
 (08) 	-> TRadioGroup Access Methods
 (09) 	-> TRadioGroup Callbacks
 (10) 	-> TRadioGroup Special
 (11) 	-> TRadioGroup Notes



 TScrollBar


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TScrollBar Description
 (02) 	-> TScrollBar Base Classes
 (03) 	-> TScrollBar Derived Classes
 (04) 	-> TScrollBar Enumerations
 (05) 	-> TScrollBar Data
 (06) 	-> TScrollBar Instanciation
 (07) 	-> TScrollBar Static Methods
 (08) 	-> TScrollBar Access Methods
 (09) 	-> TScrollBar Callbacks
 (10) 	-> TScrollBar Special
 (11) 	-> TScrollBar Notes



 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.

A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TSimpleList Description
 (02) 	-> TSimpleList Base Classes
 (03) 	-> TSimpleList Derived Classes
 (04) 	-> TSimpleList Enumerations
 (05) 	-> TSimpleList Data
 (06) 	-> TSimpleList Instanciation
 (07) 	-> TSimpleList Static Methods
 (08) 	-> TSimpleList Access Methods
 (09) 	-> TSimpleList Callbacks
 (10) 	-> TSimpleList Special
 (11) 	-> TSimpleList Notes



 TTab


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TTab Description
 (02) 	-> TTab Base Classes
 (03) 	-> TTab Derived Classes
 (04) 	-> TTab Enumerations
 (05) 	-> TTab Data
 (06) 	-> TTab Instanciation
 (07) 	-> TTab Static Methods
 (08) 	-> TTab Access Methods
 (09) 	-> TTab Callbacks
 (10) 	-> TTab Special
 (11) 	-> TTab Notes



 TTabGroup


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TTabGroup Description
 (02) 	-> TTabGroup Base Classes
 (03) 	-> TTabGroup Derived Classes
 (04) 	-> TTabGroup Enumerations
 (05) 	-> TTabGroup Data
 (06) 	-> TTabGroup Instanciation
 (07) 	-> TTabGroup Static Methods
 (08) 	-> TTabGroup Access Methods
 (09) 	-> TTabGroup Callbacks
 (10) 	-> TTabGroup Special
 (11) 	-> TTabGroup Notes



 TTextZone


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TTextZone Description
 (02) 	-> TTextZone Base Classes
 (03) 	-> TTextZone Derived Classes
 (04) 	-> TTextZone Enumerations
 (05) 	-> TTextZone Data
 (06) 	-> TTextZone Instanciation
 (07) 	-> TTextZone Static Methods
 (08) 	-> TTextZone Access Methods
 (09) 	-> TTextZone Callbacks
 (10) 	-> TTextZone Special
 (11) 	-> TTextZone Notes



 TWindow


A general description of this class (01)

Classes which this class is derived from (02)
Classes derived from this one (03)

Enumerations defined in this class (04)
Publicly-accessible variables in the class (05)

Constructors and destructors for this class (06)

Static methods available (07)
Methods for data-access (08)
Ways of setting callback functions (09)
Special methods for this class (10)

Miscellaneous notes about this class (11)


 (01) 	-> TWindow Description
 (02) 	-> TWindow Base Classes
 (03) 	-> TWindow Derived Classes
 (04) 	-> TWindow Enumerations
 (05) 	-> TWindow Data
 (06) 	-> TWindow Instanciation
 (07) 	-> TWindow Static Methods
 (08) 	-> TWindow Access Methods
 (09) 	-> TWindow Callbacks
 (10) 	-> TWindow Special
 (11) 	-> TWindow Notes



 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::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
  (cf Vocabulary Functions (01)). It loads into memory the vocabulary
  indicated by 'language' (cf Language Definitions (02)).


 (01) 	-> Vocabulary Functions
 (02) 	-> Language Definitions



 TApplication Static Methods


 void TApplication::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 (cf Application Macros (01)).

 PApplication TApplication::m_get_current_application ()

  Returns a pointer to the application which currently has control.
  You may use 'JPApplication' instead (cf Application Macros (01)).


 (01) 	-> Application Macros



 TApplication Access Methods


 char* TApplication::m_get_clipboard ()

  Returns the clipboard contents (a string ('char*') which uses the
  'text' string format (cf String Datatypes (01)).
  You may use 'JPGetClipboard' instead (cf Application Macros (02)).

 void TApplication::m_set_clipboard (
    char* text)

  Changes the clipboard contents to 'text'.
  You may use 'JPSetClipboard' instead (cf Application Macros (02)).


 (01) 	-> String Datatypes
 (02) 	-> Application Macros



 TApplication Callbacks


 void TApplication::m_enable_callbacks ()

  Enables callback processing for the entire application.
  You may use 'JPEnableCallbacks' instead (cf Application Macros (01)).

 void TApplication::m_disable_callbacks ()

  Disables callback processing for the entire application.
  You may use 'JPDisableCallbacks' instead (cf Application Macros (01)).

 boolean TApplication::m_callbacks_enabled ()

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

 void TApplication::m_set_no_event_callback (
    void *no_event_action)(char *),
    char *no_event_argument)

  Sets the no_event_callback to 'no_event_action'.  When JPTUI has no
  event to process (mouse click, key...), this callback is invoked. The
  argument that your callback receives is a copy of the string passed
  for 'no_event_argument'.
  You may use 'JPSetNoEventCallback' instead (cf Application Macros (01)).

 void TApplication::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 to 'clipboard_changed_action'. The argument that your
  callback receives is a copy of the string passed for
  'clipboard_changed_argument'.
  You may use 'JPSetClipboardChangedCallback' instead
  (cf Application Macros (01)).


 (01) 	-> Application Macros



 TApplication Special


 void TApplication::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 (cf Application Macros (01)).

 void TApplication::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 (cf Application Macros (01)).

 void TApplication::m_run_dialog ()

  This method handles user interaction for a single dialog.
  You may use 'JPRunDialog' instead (cf Application Macros (01)).

 void TApplication::m_process_events()

  This method processes events once and returns to the calling function.
  You can use it in long callbacks for instance, so that events are
  regularly processed. If you have long callbacks and want events to be
  processed during their execution, another solution is to use the
  'no event' callback (02).
  You may use 'JPProcessEvents' instead (cf Application Macros (01)).

 void TApplication::m_stop ()

  Stops the application.  Call this method when you want to terminate
  your application or stop even processing for a dialog box..
  You may use 'JPStop' instead (cf Application Macros (01)).

 void TApplication::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 (cf Application Macros (01)).

 void TApplication::m_refresh_all ()

  Refreshes the whole screen. The refresh is synchronized with the video
  beam retrace.
  You may use 'JPRefreshAll' instead (cf Application Macros (01)).

 void TApplication::m_redraw_windows ()

  Redraws the contents of windows.
  You may use 'JPRedrawWindows' instead (cf Application Macros (01)).

 boolean TApplication::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 (cf Application Macros (01)).

 PWindow TApplication::m_get_active_window ()

  Returns a pointer to the active window or NULL if there is no such
  window.
  You may use 'JPGetActiveWindow' instead (cf Application Macros (01)).


 (01) 	-> Application Macros
 (02) 	-> TApplication Callbacks



 TApplication Notes


TApplications have the following special keys...

 ALT+F6 : Will change the current active window.


 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


TObject (01)


 (01) 	-> TObject



 TCheckBox Derived Classes


None.


 TCheckBox Enumerations


None.


 TCheckBox Data


None.


 TCheckBox Instanciation


 TCheckBox::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 its base class, TObject (01).
  The other argument, 'checked', simply specifies the initial state of
  the checkbox, TRUE for selected, FALSE for not selected.


 (01) 	-> TObject Instanciation



 TCheckBox Static Methods


None.


 TCheckBox Access Methods


 boolean TCheckBox::m_is_checked ()

  Returns a boolean value which indicates the current state of the
  checkbox.


 TCheckBox Callbacks



 void TCheckBox::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 TCheckBox::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 TCheckBox::m_check ()

  Marks the checkbox as checked (selected).

 void TCheckBox::m_uncheck ()

  Marks the checkbox as unchecked (not selected).


 TCheckBox Notes


None.


 TComboBox Description


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


 TComboBox Base Classes


TEditZone (01)


 (01) 	-> TEditZone



 TComboBox Derived Classes


None.


 TComboBox Enumerations


None.


 TComboBox Data


None.


 TComboBox Instanciation


 TComboBox::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...

   parent

    Specifies the parent object to which the TComboBox should be
    attached.

   rel_x

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

   rel_y

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

   xoffset_caption

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

   yoffset_caption

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

   *caption

    The caption text (ie, the label) for the object
    (cf TObject Instanciation (01)).

   display_length

    The width of the object.

   max_length

    The maximum number of characters that the string can contain.

   string

    The initial text that the TComboBox should contain.

   list_height

    The height of the popup list.

   items

    An array specifying the initial items that the list should contain
    (cf TList Structures (02)).

   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)
    (cf Boolean Definitions (03)).

   sorted

    Specifies whether the list should be sorted (TRUE), or unsorted
    (FALSE) (cf Boolean Definitions (03)).

   enabled

    Specifies whether the object should initially be enabled (TRUE) or
    disabled (FALSE) (cf Boolean Definitions (03)).


 (01) 	-> TObject Instanciation
 (02) 	-> TList Structures
 (03) 	-> Boolean Definitions



 TComboBox Static Methods


None.


 TComboBox Access Methods


 void TComboBox::m_enable ()

  Enables the TComboBox.

 void TComboBox::m_disable ()

  Disables the TComboBox.

 void TComboBox::m_enable_modification ()

  Allows the user to modify the TComboBox's contents.

 void TComboBox::m_disable_modification ()

  Prevents the user from modifying the TComboBox's contents.

 void TComboBox::m_set_string (
    char* string)

  Sets the contents of the TComboBox to 'string'.

 void TComboBox::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 TComboBox::m_get_list ()

  Returns the list of the TComboBox (cf TSimpleList (01)).


 (01) 	-> TSimpleList



 TComboBox Callbacks


 void TComboBox::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 'string_validated_argument'.


 TComboBox Special


None.


 TComboBox Notes


TComboBoxes have the following special keys...

 ALT+DOWN

  Will open the list of the TComboBox.

 ALT+UP

  Will open the list of the TComboBox.


 TDecimalEditZone Description


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


 (01) 	-> TEditZone



 TDecimalEditZone Base Classes


TEditZone (01)


 (01) 	-> TEditZone



 TDecimalEditZone Derived Classes


None.


 TDecimalEditZone Enumerations


None.


 TDecimalEditZone Data


None.


 TDecimalEditZone Instanciation


 TDecimalEditZone::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 (01), or the TObject constructor (02), so only the unique
  arguments are detailed here.

   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'.


 (01) 	-> TEditZone Instanciation
 (02) 	-> TObject Instanciation



 TDecimalEditZone Static Methods


None.


 TDecimalEditZone Access Methods


 void TDecimalEditZone::m_set_min_max_values (
    double min_value,double max_value)

  Changes the minimum and maximum values that the user can enter
  (cf TDecimalEditZone Instanciation (01)).

 double TDecimalEditZone::m_get_min_value ()

  Returns the minimum value that the user can enter
  (cf TDecimalEditZone Instanciation (01)).


 double TDecimalEditZone::m_get_max_value ()

  Returns the maximum value that the user can enter
  (cf TDecimalEditZone Instanciation (01)).


 (01) 	-> TDecimalEditZone Instanciation



 TDecimalEditZone Callbacks


None.


 TDecimalEditZone Special


None.


 TDecimalEditZone Notes


None.


 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


TObject (01)


 (01) 	-> TObject



 TEditZone Derived Classes


TComboBox (01)
TDecimalEditZone (02)
TIntegerEditZone (03)
TPasswordEditZone (04)


 (01) 	-> TComboBox
 (02) 	-> TDecimalEditZone
 (03) 	-> TIntegerEditZone
 (04) 	-> TPasswordEditZone



 TEditZone Enumerations


None.


 TEditZone Data


None.


 TEditZone Instanciation


 TEditZone::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 (01). Only the specialized arguments are discussed here.

   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.


 (01) 	-> TObject Instanciation



 TEditZone Static Methods


None.


 TEditZone Access Methods


 void TEditZone::m_set_cursor_at (
    int char_nb)

  Moves the cursor to the character at index 'char_nb' within the
  string.


 TEditZone Callbacks


 void TEditZone::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 TEditZone::m_enable_modification ()

  Enables the modification of the string which is in the editzone.

 void TEditZone::m_disable_modification ()

  Disables the modification of the string which is in the editzone.

 void TEditZone::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 TEditZone::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 TEditZone::m_select_all ()

  Selects all the text.

 void TEditZone::m_unselect ()

  Unselects any text that is currently selected.

 void TEditZone::m_clear_selection ()

  Clears all currently selected text.

 void TEditZone::m_set_string (
    char* new_string)

  Changes the text in the editzone to 'new_string'. 'new_string' must be
  a valid string for the editzone (see TEditZone::m_string_valid below)

 char* TEditZone::m_get_string ()

  Returns a pointer to the current string being edited.

 int TEditZone::m_get_string_length ()

  Returns the length of the string which is in the editzone.

 boolean TEditZone::m_string_valid (
    char *string)

  Returns a boolean value which indicates if 'string' is a valid string
  for the editzone. Always returns TRUE for TEditZone, but can be useful
  for derived classes (for instance, in numerical editzones, can be used
  to refuse any string which contains letters).


 TEditZone Notes


TEditZones have the following special keys...

 ALT+Backspace

  Will undo any changes you have made to the text, restoring the
  original contents. Can be called several times to switch between the
  current contents are the original ones.


 TFileListBox Description


The TFileListBox class is designed to provide a a list-box (cf TListBox (01))
which locates and list files according to a specific file-name mask.


 (01) 	-> TListBox



 TFileListBox Base Classes


TListBox (01)


 (01) 	-> TListBox



 TFileListBox Derived Classes


None.


 TFileListBox Enumerations


The following values are defined as parts of the enumeration
'TFLBError'.  They are used to indicate what happens when the list of
files of the TFileListBox is refreshed to a specific mask.

 FLB_REFRESH_OK_MASK

  No problem. The current mask is a true mask, not a file.

 FLB_REFRESH_OK_FILE

  No problem. The current mask is a true file name, not a mask.

 FLB_INVALID_DRIVE

  The drive specified in the mask is not valid.

 FLB_NO_DISK_IN_DRIVE

  There is no disk in the drive specified in the mask.

 FLB_INVALID_DIR

  The directory specified in the mask is not valid.

 FLB_INVALID_FILE

  The file specified in the mask is not valid.


 TFileListBox Data


None.


 TFileListBox Instanciation


 TFileListBox::TFileListBox (
    PObject parent,
    int rel_x,int rel_y,
    int width,int height,
    char *dir_mask="*.*")

  Constructs a new TFileListBox. All arguments from 'parent' to 'height'
  are directly related to the TListBox class's arguments, so refer to
  it's Instanciation methods for details on them.

  Other arguments are as follows...

   dir_mask

  Initial directory and mask of the files you want to fill the list
  with. If 'dir_mask' doesn't specify a disk or directory, the
  current ones are used.


 TFileListBox Static Methods


None.


 TFileListBox Access Methods


 char * TFileListBox::m_get_current_dir ()

  Returns the current directory of the list of files.

 char * TFileListBox::m_get_current_mask ()

  Returns the current file name mask of the list of files. When the user
  has chosen a file, the mask is the name of this file.


 TFileListBox Callbacks


 void TFileListBox::m_set_refresh_done_callback (
    void (*refresh_done_action)(PObject,char *),
    char *refresh_done_argument)

  Sets the function to be called when the list of files has been
  refreshed without error to 'refresh_done_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
  'refresh_done_argument'.

 void TFileListBox::m_set_file_chosen_callback (
    void (*file_chosen_action)(PObject,char *),
    char *file_chosen_argument)

  Sets the function to be called when a file has been chosen by the user
  to 'file_chosen_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 'file_chosen_argument'.


 TFileListBox Special


 TFLBError TFileListBox::m_refresh_file_list (
    char *dir_mask)

  Refreshes the list of files according to the mask 'dir_mask'.
  'dir_mask' can be "c:", "..","\dir\subdir","dir/subdir/*.bak",
  "*.bak", a file-name...
  This function returns an error code (cf TFileListBox Enumerations (01))
  to indicate whether the mask is correct or not.

 TFLBError TFileListBox::m_refresh_file_list_from_item (
    int item_index)

  Calls the method m_refresh_file_list with the specified item of the
  list as an argument.


 (01) 	-> TFileListBox Enumerations



 TFileListBox Notes


None.


 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' (01) method in the TWindow class.


 (01) 	-> TWindow Special



 TFrame Base Classes


TGroup (01)


 (01) 	-> TGroup



 TFrame Derived Classes


None.


 TFrame Enumerations


None.


 TFrame Data


None.


 TFrame Instanciation


 TFrame::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 (01).


 (01) 	-> TObject Instanciation



 TFrame Static Methods


None.


 TFrame Access Methods


None.


 TFrame Callbacks


None.


 TFrame Special


None.


 TFrame Notes


None.


 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


TObject (01)


 (01) 	-> TObject



 TGauge Derived Classes


None.


 TGauge Enumerations


None.


 TGauge Data


None.


 TGauge Instanciation


 TGauge::TGauge (
    PObject parent,
    int rel_x,int rel_y,
    int width,
    char *caption,
    TGaugeStyle style=GAUGE_PERCENT_STYLE,
    long max_value=100)

  Constructs a new TGauge.  The 'style' argument is the type of gauge
  you want (cf Gauge Definitions (01)), 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).


 (01) 	-> Gauge Definitions



 TGauge Static Methods


None.


 TGauge Access Methods


 void TGauge::m_set_value (
    long value)

  Changes the current position of the gauge's indicator to 'value'.

 long TGauge::m_get_value ()

  Returns the current position of the gauge's indicator.

 void TGauge::m_set_max_value (
    long max_val)

  Changes the maximum number that is represented on the gauge to
  'max_val'.

 long TGauge::m_get_max_value ()

  Returns the maximum number that is represented on the gauge.


 TGauge Callbacks


None.


 TGauge Special


None.


 TGauge Notes


None.


 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


TObject (01)


 (01) 	-> TObject



 TGroup Derived Classes


TFrame (01)
TTab (02)
TTabGroup (03)
TWindow (04)


 (01) 	-> TFrame
 (02) 	-> TTab
 (03) 	-> TTabGroup
 (04) 	-> TWindow



 TGroup Enumerations


None.


 TGroup Data


None.


 TGroup Instanciation


 TGroup::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 refer to it's Instanciation methods for details on them.

  Other arguments are as follows...

   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


None.


 TGroup Access Methods


 PObject TGroup::m_get_focused_element ()

  Returns the currently-selected element (child object, which can be a
  group of objects itself), or NULL if none is selected, if no
  selectable child objects exist, or simply if no child objects exist at
  all (cf TGroup Instanciation (01)). If you need a pointer to the base
  object (simple or composed object) which currently has the focus, use
  'm_get_focused_object' (02) instead.


 (01) 	-> TGroup Instanciation
 (02) 	-> TGroup Special



 TGroup Callbacks


None.


 TGroup Special


 PObject TGroup::m_get_focused_object ()

  Returns a pointer to whichever object in the group currently has the
  focus. Contrary to 'm_get_focused_element' (01), this function only returns
  a pointer to base objects (simple or composed objects), not a pointer
  to a group of objects.


 (01) 	-> TGroup Access Methods



 TGroup Notes


None.


 THelpWindow Description


This class is used to display and browse a hypertext help file. It
consists of a hypertext text zone and some buttons to browse the file.

The hypertext help file is generated from a source file by the program
JPHC.EXE (JPTUI Help Compiler). Type JPHC /? to get information about
the format of the source file.


 THelpWindow Base Classes


TWindow (01)


 (01) 	-> TWindow



 THelpWindow Derived Classes


None.


 THelpWindow Enumerations


None.


 THelpWindow Data


None.


 THelpWindow Instanciation


 THelpWindow::THelpWindow (
    int x,int y,
    int width,int height,
    char *caption="",
    boolean modal=TRUE,
    boolean movable=TRUE);

  Creates a new object of this class.  All arguments are directly
  related to the TWindow class's arguments, so refer to its
  instanciation methods (01) for details on them.


 (01) 	-> TWindow Instanciation



 THelpWindow Static Methods


None.


 THelpWindow Access Methods


None.


 THelpWindow Callbacks


None.


 THelpWindow Special


 boolean THelpWindow::m_load_help_file (
    char *file_name)

  Loads the help file 'file_name' into memory (cf
  THelpWindow Description (01)), and selects the table of contents
  if any, or the index. If no information is given in 'file_name' (only
  'FILE.EXT'), the help file is searched in the .exe file directory.

 void THelpWindow::m_unload_help_file ()

  Frees the memory allocated by the help file.

 boolean THelpWindow::m_display_topic (
    char *topic,
    boolean push_current_topic=TRUE)

  Selects the help topic to display by its name 'topic'. If
  'push_current_topic' is TRUE, the name of the currently displayed help
  topic is pushed on a stack before, so that the user can go back to it
  by pressing the 'Back' button.

 void THelpWindow::m_select_contents_topic ()

  Selects the table of contents (topic name : <Contents>), as if the
  user had pressed the 'Contents' button.

 void THelpWindow::m_select_index_topic ()

  Selects the index (generated by the JPTUI help compiler (01)),
  as if the user had pressed the 'Index' button..

 void THelpWindow::m_select_back_topic ()

  Selects the previously displayed help topic, as if the user had
  pressed the 'Back' button.

 void THelpWindow::m_select_previous_topic ()

  Selects the previous help topic in chain, as if the user had pressed
  the 'Previous' button..

 void THelpWindow::m_select_next_topic ()

  Selects the next help topic in chain, as if the user had pressed the
  'Next' button..


 (01) 	-> THelpWindow Description



 THelpWindow Notes


THelpWindows have the following special keys...

 ESC

  Will press the help window.


 TIntegerEditZone Description


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


 (01) 	-> TEditZone



 TIntegerEditZone Base Classes


TEditZone (01)


 (01) 	-> TEditZone



 TIntegerEditZone Derived Classes


None.


 TIntegerEditZone Enumerations


None.


 TIntegerEditZone Data


None.


 TIntegerEditZone Instanciation


 TIntegerEditZone::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 (01), or the TObject constructor (02), so only the unique
  arguments are detailed here.

   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'.


 (01) 	-> TEditZone Instanciation
 (02) 	-> TObject Instanciation



 TIntegerEditZone Static Methods


None.


 TIntegerEditZone Access Methods


 void TIntegerEditZone::m_set_min_max_values (
    long min_value, long max_value)

  Changes the minimum and maximum values that the user can enter
  (cf TIntegerEditZone Instanciation (01)).

 long TIntegerEditZone::m_get_min_value ()

  Returns the minimum value that the user can enter
  (cf TIntegerEditZone Instanciation (01)).

 long TIntegerEditZone::m_get_max_value ()

  Returns the maximum value that the user can enter
  (cf TIntegerEditZone Instanciation (01)).


 (01) 	-> TIntegerEditZone Instanciation



 TIntegerEditZone Callbacks


None.


 TIntegerEditZone Special


None.


 TIntegerEditZone Notes


None.


 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


TObject (01)


 (01) 	-> TObject



 TLabel Derived Classes


None.


 TLabel Enumerations


None.


 TLabel Data


None.


 TLabel Instanciation


 TLabel::TLabel (
    PObject parent,
    int rel_x,int rel_y,
    char* text)

 TLabel::TLabel (
    PObject parent,
    int rel_x,int rel_y,
    int width,int height,
    char* text)

  Creates a new TLabel object.  'text' is the text to use in the label,
  and all other arguments are directly-related to the arguments for the
  base class's (TObject (01)'s) constructor.

  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 ('text').

  'text' has a special string format (02).


 (01) 	-> TObject Instanciation
 (02) 	-> String Datatypes



 TLabel Static Methods


None.


 TLabel Access Methods


 void TLabel::m_set_text (
    char* text)

  Changes the label's text to 'text'.

  'text' has a special string format (01).

 char *TLabel::m_get_text ()

  Returns the label's text.

  'text' has a special string format (01).



 (01) 	-> String Datatypes



 TLabel Callbacks


None.


 TLabel Special


None.


 TLabel Notes


None.


 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


TObject (01)


 (01) 	-> TObject



 TList Derived Classes


TMenu (01)
TSimpleList (02)


 (01) 	-> TMenu
 (02) 	-> TSimpleList



 TList Enumerations


None.


 TList Data


None.


 TList Instanciation


 TList::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...

   parent

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

   type

    Specifies the type of object that will be listed
    (cf Object Type Definitions (01)).

   rel_x

    The 'x' position, relative to the 'parent'.

   rel_y

    The 'y' position, relative to the 'parent'.

   width

    The width of the TList.

   height

    The height of the TList.

   background

    The background attributes (cf TWindow (02)).

   caption

    The caption to use (cf TObject Instanciation (03)).

   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.

   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.

   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...

   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...

   sorted

    If set, items will be automatically sorted.

   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.

   always_one_item_selected

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

   item_hot_key_enabled

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

   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.

   scrollbar_x

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

   scrollbar_y

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

   scrollbar_height

    The height of the scrollbar.

   enabled

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

   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 (cf TObject Instanciation (03)).

   enabled

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


 (01) 	-> Object Type Definitions
 (02) 	-> TWindow
 (03) 	-> TObject Instanciation



 TList Static Methods


None.


 TList Access Methods


 int TList::m_get_nb_items ()

  Returns the number of items in the list.

 char* TList::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 TList::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 TList::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 TList::m_select_first_possible_item ()

  Selects the first possible item in the TList.

 int TList::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.

  Returns 0 if no item is selected.

 void TList::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 TList::m_get_first_visible_item_index ()

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

 void TList::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 TList::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 TList::m_get_last_visible_item_index ()

  Returns the index of the last visible item.

 int TList::m_get_list_height ()

  Returns the height of the list, as displayed on-screen.


 TList Callbacks


 void TList::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 TList::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
  user double-clicks an item of the list.  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 TList::m_delete_item (
    int index)

  Removes and deallocates the item 'index'.

 int TList::m_add_items (
    char* items)

  Adds new items to the list, returning the number of items successfully
  added. See the constructor method (01) for more details.

 void TList::m_clear_list ()

  Removes and deallocates all items in the list.

 void TList::m_check_item (
    int index)

  Adds a checkmark to the item 'index', if there isn't one already.

 void TList::m_uncheck_item (
    int index)

  Removes the checkmark from the item 'index', if there is one present.

 boolean TList::m_item_is_checked (
    int index)

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

 void TList::m_enable_item (
    int index)

  Enables the item at 'index', allowing the user to select it.


 void TList::m_disable_item (
    int index)

  Disables the item at 'index', preventing the user from selecting it.

 boolean TList::m_item_is_enabled (
    int index)

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


 (01) 	-> TList Instanciation



 TList Notes


None.


 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
(cf TSimpleList (01)).


 (01) 	-> TSimpleList



 TListBox Base Classes


TSimpleList (01).


 (01) 	-> TSimpleList



 TListBox Derived Classes


TFileListBox (01)


 (01) 	-> TFileListBox



 TListBox Enumerations


None.


 TListBox Data


None.


 TListBox Instanciation


 TListBox::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...

   parent

    The parent object that you want this TListBox to be attached to.

   rel_x

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

   rel_y

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

   width

    The width of the listbox.

   height

    The height of the listbox.

   caption

    The caption (label) to use for the listbox (cf TObject (01)).

   items

    The items to initially add to the list (cf TList Structures (02)).

   sorted

    Specifies whether the list items should be sorted, or left in the
    order you add them in.

   items_can_be_checked

    Specifies whether some of the items can have checkmarks.

   enabled

    Specifies whether the TListBox should be enabled (ie, usable) when
    first created.


 (01) 	-> TObject
 (02) 	-> TList Structures



 TListBox Static Methods


None.


 TListBox Access Methods


None.


 TListBox Callbacks


None.


 TListBox Special


None.


 TListBox Notes


None.


 TMenu Description


This class provides the menus available on a window's menu bar, such as
the familiar 'File' and 'Edit' menus.  The actual menu bar is
implemented via the 'TMenuBar (01)' class.


 (01) 	-> TMenuBar



 TMenu Base Classes


TList (01)


 (01) 	-> TList



 TMenu Derived Classes


None.


 TMenu Enumerations


None.


 TMenu Data


None.


 TMenu Instanciation


 TMenu::TMenu (
    PMenuBar menu_bar,
    char *caption,
    TMenuItem items[]=NULL,
    boolean enabled=TRUE)

  Constructs a new TMenu object.  Arguments are as follows...

   menu_bar

    A pointer the menubar (01) which this menu should be part of.

   caption

    The menu name (cf TObject Instanciation (02)).

   items

    The list of menuitems (cf TMenu Structures (03)).

   enabled

    If specified, and set to FALSE, then the menu will be disabled
    initially. Otherwise, it will be enabled.


 (01) 	-> TMenuBar
 (02) 	-> TObject Instanciation
 (03) 	-> TMenu Structures



 TMenu Static Methods


None.


 TMenu Access Methods


 void TMenu::m_disable ()

  Disables the menu.


 TMenu Callbacks


 void TMenu::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


 PMenuBar TMenu::m_get_menu_bar ()

  Returns a pointer to the menu bar of the menu.

 boolean TMenu::m_open ()

  Opens the menu, making it visible. Returns FALSE if it can't be open.

 boolean TMenu::m_close ()

  Closes the menu (provided it is open :)).

 void TMenu::m_click_item (int index)

  Selects item number 'index' within the menu, as if the user had
  clicked it with the mouse or pressed its hot key.

 int TMenu::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 (01).

 int TMenu::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 (01).

 int TMenu::m_add_items (
    TMenuItem items[])

  Adds the new items 'items' to the menu (cf TMenu Structures (01)).
  Returns the number of items successfully added.

 void TMenu::m_delete_item (
    int item_index)

  Deletes the menu item at position 'item_index'.

 void TMenu::m_clear_list ()

  Deletes all menu items from the menu.


 (01) 	-> TMenu Structures



 TMenu Notes


None.


 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 (01) class.


 (01) 	-> TMenu



 TMenuBar Base Classes


TObject (01)


 (01) 	-> TObject



 TMenuBar Derived Classes




 TMenuBar Enumerations


None.


 TMenuBar Data


None.


 TMenuBar Instanciation


 TMenuBar::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


None.


 TMenuBar Access Methods


 void TMenuBar::m_enable ()

  Enables the menu bar.

 void TMenuBar::m_disable ()

  Disables the menu bar.


 TMenuBar Callbacks


None.


 TMenuBar Special


None.


 TMenuBar Notes


None.


 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


All the objects of the interface (cf Classes (01)).


 (01) 	-> Classes



 TObject Enumerations


None.


 TObject Data


None.


 TObject Instanciation


 TObject::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...

   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. If the object has no
    parent, and is not a window, a window is dynamically created by the
    object. Thus, an object always belongs to a window (nothing can be
    displayed in JPTUI outside windows).

   type

    A special identifier which indicates the type of object this is
    (cf Object Type Definitions (01)).

   rel_x

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

   rel_y

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

   width

    The width of the object.

   height

    The height of the object.

   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.

   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 (by
    specifying a hotkey).

    'caption' has a special string format (02).

   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.


 (01) 	-> Object Type Definitions
 (02) 	-> String Datatypes



 TObject Static Methods


None.


 TObject Access Methods


 int TObject::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 TObject::m_get_type ()

  Returns a special indentifier which specifies the object's type
  (cf Object Type Definitions (01)).

 PObject TObject::m_get_parent ()

  Returns a pointer to this object's parent object.

 PWindow TObject::m_get_window ()

  Returns a pointer to the window in which the object is displayed. This
  can be a window dynamically created when you declare an object without
  parent (menus, combo lists...).

 int TObject::m_get_x_in_window ()

  Returns the absolute 'x' position of the object in it's window.

 int TObject::m_get_y_in_window ()

  Returns the absolute 'y' position of the object in it's window.

 int TObject::m_get_x ()

  Returns the 'x' position of the object relative to it's parent object.

 int TObject::m_get_y ()

  Returns the 'y' position of the object relative to it's parent object.

 int TObject::m_get_width ()

  Returns the object's width.

 int TObject::m_get_height ()

  Returns the object's height.

 void TObject::m_set_size (
    int width, int height)

  Resizes the object to 'width' by 'height'.

 unsigned TObject::m_get_background ()

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

 char* TObject::m_get_caption ()

  Returns the object's caption (cf TObject Instanciation (02)).

 void TObject::m_set_caption (
    char* caption)

  Changes the objects caption to 'caption'.
  'caption' has a special string format (03).

  In order to change the caption of an object, this object must already
  have a caption. So, when you declare an object without caption, use
  the string " " for the 'caption' parameter if you want to change its
  caption at run-time (cf TObject Instanciation (02)).

 char TObject::m_get_hotkey ()

  Returns the object's hotkey (cf TObject Instanciation (02)).

 boolean TObject::m_is_open ()

  Returns a boolean value which indicates whether the object is
  currently open.

 boolean TObject::m_has_focus ()

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

 boolean TObject::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 TObject::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 (cf TObject Instanciation (02)).

 void TObject::m_disable ()

  Disables the object, making user interaction with it impossible.

 void TObject::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 (cf TObject Instanciation (02)).

 boolean TObject::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.


 (01) 	-> Object Type Definitions
 (02) 	-> TObject Instanciation
 (03) 	-> String Datatypes



 TObject Callbacks


 void TObject::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 TObject::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'.

 void TObject::m_opened_callback (
    void (*opened_action)(TObject *,char *),
    char *opened_argument)

  Sets the function to be called when this object is opened to
  'opened_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 'opened_argument'.

 void TObject::m_closed_callback (
    void (*closed_action)(TObject *,char *),
    char *closed_argument)

  Sets the function to be called when this object is closed to
  'closed_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 'closed_argument'.


 TObject Special


 boolean TObject::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 TObject::m_set_focus_to_last_element ()

  Sets the focus to the last element (child object).


 TObject Notes


None.


 TPasswordEditZone Description


This class is the same as the TEditZone class, except that each
character of the zone is displayed as a '*'.


 TPasswordEditZone Base Classes


TEditZone (01)


 (01) 	-> TEditZone



 TPasswordEditZone Derived Classes


None.


 TPasswordEditZone Enumerations


None.


 TPasswordEditZone Data


None.


 TPasswordEditZone Instanciation


 TPasswordEditZone::TPasswordEditZone (
    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)

  All the arguments here are directly-related to the arguments for the
  TEditZone constructor (cf TEditZone Instanciation (01)).


 (01) 	-> TEditZone Instanciation



 TPasswordEditZone Static Methods


None.


 TPasswordEditZone Access Methods


None.


 TPasswordEditZone Callbacks


None.


 TPasswordEditZone Special


None.


 TPasswordEditZone Notes


None.


 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


TObject (01)


 (01) 	-> TObject



 TPushButton Derived Classes


None.


 TPushButton Enumerations


None.


 TPushButton Data


None.


 TPushButton Instanciation


 TPushButton::TPushButton (
    PObject parent,
    int rel_x,int rel_y,
    int width,
    char *caption,
    int type=PB_NORMAL,
    TShadowChoice shadows=SHC_BOTH,
    boolean enabled=TRUE)

  Creates a new TPushButton object.  All arguments are directly-related
  to the arguments by the same name in the TObject (01) base class,
  except for 'type' and 'shadows'. 'type' specifies the kind of
  pushbutton you want (cf PushButton Type Definitions (02). 'shadows'
  specifies which shadows the pushbutton has (cf Shadow Definitions (03)).


 (01) 	-> TObject Instanciation
 (02) 	-> PushButton Type Definitions
 (03) 	-> Shadow Definitions



 TPushButton Static Methods


None.


 TPushButton Access Methods


None.


 TPushButton Callbacks


 void TPushButton::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 TPushButton::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


None.


 TRadioButton Description


The TRadioButton class provides a type of button which can be toggled to
allow the user to select an option among several ones. In a group of
radio buttons, only one button is selected at one and the same time.


 TRadioButton Base Classes


TCheckBox (01)


 (01) 	-> TCheckBox



 TRadioButton Derived Classes


None.


 TRadioButton Enumerations


None.


 TRadioButton Data


None.


 TRadioButton Instanciation


 TRadioButton::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
  (cf TObject Instanciation (01)). 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.


 (01) 	-> TObject Instanciation



 TRadioButton Static Methods


None.


 TRadioButton Access Methods


None.


 TRadioButton Callbacks


None.


 TRadioButton Special


 void TRadioButton::m_check ()
 void TRadioButton::m_uncheck ()

  cf TCheckBox Special (01).


 (01) 	-> TCheckBox Special



 TRadioButton Notes


None.


 TRadioGroup Description


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


 TRadioGroup Base Classes


TFrame (01)


 (01) 	-> TFrame



 TRadioGroup Derived Classes


None.


 TRadioGroup Enumerations


None.


 TRadioGroup Data


None.


 TRadioGroup Instanciation


 TRadioGroup::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 (01) base class.


 (01) 	-> TObject Instanciation



 TRadioGroup Static Methods


None.


 TRadioGroup Access Methods


None.


 TRadioGroup Callbacks


None.


 TRadioGroup Special


None.


 TRadioGroup Notes


None.


 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


TObject (01)


 (01) 	-> TObject



 TScrollBar Derived Classes


None.


 TScrollBar Enumerations


None.


 TScrollBar Data


None.


 TScrollBar Instanciation


 TScrollBar::TScrollBar (
    PObject parent,T
    SbOrientation 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
  (cf TObject Instanciation (01)).

  The other arguments are detailed below...

   orientation

    This specifies whether the scrollbar should be vertical or
    horizontal (cf ScrollBar Definitions (02).

   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 one).


 (01) 	-> TObject Instanciation
 (02) 	-> ScrollBar Definitions



 TScrollBar Static Methods


None.


 TScrollBar Access Methods


 void TScrollBar::m_set_value (
    long value)

  Sets the current slider value to 'value' (cf TScrollBar Notes (01)).

 long TScrollBar::m_get_value ()

  Returns the current slider value (cf TScrollBar Notes (01)).

 void TScrollBar::m_set_min_max_values (
    long min_value,
    long max_value)

  Sets the minimum and maximum values (cf TScrollBar Notes (01)).

 long TScrollBar::m_get_min_value ()

  Returns the minimum value (cf TScrollBar Notes (01)).

 long TScrollBar::m_get_max_value ()

  Returns the maximum value (cf TScrollBar Notes (01)).

 void TScrollBar::m_set_little_change (
    long little_change)

  Sets a new little change value (cf TScrollBar Notes (01)).

 void TScrollBar::m_set_big_change (
    long big_change)

  Sets a new big change value (cf TScrollBar Notes (01)).


 (01) 	-> TScrollBar Notes



 TScrollBar Callbacks


 void TScrollBar::m_set_value_changed_callback (
    void (*value_changed_action)(PObject,char *),
    char *value_changed_argument)

  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


None.


 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'.

 little_change

  This is the value added or removed to the slider value when the user
  clicks on one of the arrows of the scrollbar.

 big_change

  This is the value added or removed to the slider value when the user
  clicks in the shaft of the scrollbar.

  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. little_change would
  be 1 and big_change would be the height of a page.


 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


TList (01)


 (01) 	-> TList



 TSimpleList Derived Classes


TListBox (01)


 (01) 	-> TListBox



 TSimpleList Enumerations


None.


 TSimpleList Data


None.


 TSimpleList Instanciation


 TSimpleList::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...

   parent

    The parent object which the TSimpleList should be attached to.

   type

    The object type that this list will be used for.

   rel_x

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

   rel_y

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

   width

    The width of TSimpleList.

   height

    The height of TSimpleList.

   background

    The background attributes (cf TWindow (01)).

   caption

    The TSimpleList's caption.

   list_rel_x

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

   list_rel_y

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

   list_width

    The 'width' of the actual list area.

   list_height

    The 'height' of the actual list area.

   sorted

    Specifies whether the list should be sorted or not.

   allowed_item_attribute

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

   always_one_item_selected

    Specifies whether an item has to be selected.

   item_hot_key_enabled

    Specifies whether items can be selected by their hotkeys.

   scrollbar

    Specifies whether the TSimpleList should have a scrollbar.

   scrollbar_x

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

   scrollbar_y

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

   scrollbar_height

    Specifies the scrollbar's 'height'.

   enabled

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


 (01) 	-> TWindow



 TSimpleList Static Methods


None.


 TSimpleList Access Methods


None.


 TSimpleList Callbacks


None.


 TSimpleList Special


 int TSimpleList::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 TSimpleList::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 TSimpleList::m_add_items (
    TListItem items[])

  Adds multiple items to the list at once (cf TList Structures (01)).
  Returns the total number of items successfully added.


 (01) 	-> TList Structures



 TSimpleList Notes


None.


 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 (01)
for more information.


 (01) 	-> TTabGroup Description



 TTab Base Classes


TGroup (01)


 (01) 	-> TGroup



 TTab Derived Classes


None.


 TTab Enumerations


None.


 TTab Data


None.


 TTab Instanciation


 TTab::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


None.


 TTab Access Methods


None.


 TTab Callbacks


 void TTab::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 TTab::m_set_visible ()

  Makes this TTab the visible one in the TTabGroup.


 TTab Notes


None.


 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


TGroup (01)


 (01) 	-> TGroup



 TTabGroup Derived Classes


None.


 TTabGroup Enumerations


None.


 TTabGroup Data


None.


 TTabGroup Instanciation


 TTabGroup::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...

   parent

    The parent object that the TTabGroup should be attached to.

   rel_x

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

   rel_y

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

   width

    The width of the TTabGroup.

   height

    The height of the TTabGroup.

   background

    The background attributes to use (cf TWindow (01)).

   enabled=TRUE

    Specifies whether the object should be initially enabled or
    disabled.


 (01) 	-> TWindow



 TTabGroup Static Methods


None.


 TTabGroup Access Methods


None.


 TTabGroup Callbacks


None.


 TTabGroup Special


 boolean TTabGroup::m_set_focus ()

  cf TGroup (01).

 boolean TTabGroup::m_set_focus_to_last_element ()

  cf TGroup (01).


 (01) 	-> TGroup



 TTabGroup Notes


None.


 TTextZone Description


The TTextZone class provides text-editing facilities for JPTUI
applications, all inside a familiar TEditZone (01)-style box.


 (01) 	-> TEditZone



 TTextZone Base Classes


TObject (01)


 (01) 	-> TObject



 TTextZone Derived Classes


None.


 TTextZone Enumerations


None.


 TTextZone Data


None.


 TTextZone Instanciation


 TTextZone::TTextZone (
    PObject parent,
    int rel_x,int rel_y,
    int width,int height,
    char *caption,
    int max_text_nb_cols,
    TScrollbarChoice scrollbars=SBC_VERTICAL,
    boolean enabled=TRUE)

  Constructs a new TTextZone object.  Arguments are as follows...

   parent

    The parent object that the new TTextZone should be attached to.

   rel_x

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

   rel_y

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

   width

    The width of the TTextZone.

   height

    The height of the TTextZone.

    caption

    The caption (label) for the TTextZone.

   max_text_nb_cols

    The maximum number of columns required.

   scrollbars

    Specifies which scrollbars the TTextZone has
    (cf ScrollBar Definitions (01)).

   enabled

    Specifies whether the TTextZone should initially be enabled or
    disabled.


 (01) 	-> ScrollBar Definitions



 TTextZone Static Methods


None.


 TTextZone Access Methods


 void TTextZone::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 TRUE, then the visible part of the text will
  be changed so that the cursor is inside the text display area. 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 TTextZone::m_get_cursor_pos (
    int &col,int &line)

  Stores the current cursor position in the memory pointed to by 'col',
  and 'line'.


 int TTextZone::m_get_nb_lines ()

  Returns the number of lines in the TTextZone.

 int TTextZone::m_get_nb_cols ()

  Returns the number of columns in the TTextZone.

 int TTextZone::m_get_text_rel_x()

  Returns the 'x' position of the text area, relative to the 'x'
  position of the TTextZone.

 int TTextZone::m_get_text_rel_y()

  Returns the 'y' position of the text area, relative to the 'y'
  position of the TTextZone.

 int TTextZone::m_get_text_width()

  Returns the width of the text area.

 int TTextZone::m_get_text_height()

  Returns the height of the text area.

 int TTextZone::m_get_tab_size ()

  Returns the number of spaces the tab character is replaced by.

 void TTextZone::m_set_tab_size (
    int tab_size)

  Sets the number of spaces the tab character is replaced by to
  'tab_size.'

 void TTextZone::m_set_first_visible_col (
    int col)

  Scrolls the TTextZone so that 'col' is the first visible column.

 void TTextZone::m_set_first_visible_line (
    int line)

  Scrolls the TTextZone so that 'line' is the first visible line.

 int  TTextZone::m_get_first_visible_col()

  Returns the first visible col number of the TTextZone.

 int  TTextZone::m_get_first_visible_line()

  Returns the first visible line number of the TTextZone.

 int TTextZone::m_line_length (
    int line_nb)

  Returns the length of line number 'line_nb'.


 TTextZone Callbacks


 void TTextZone::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 TTextZone::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 TTextZone::m_set_cursor_line_changed_callback (
    void (*cursor_line_changed_action)(PObject,char *),
    char *cursol_line_changed_argument)

  Sets the function to invoke when the line of the cursor changes to
  'cursor_line_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
  'cursol_line_changed_argument'.

 void TTextZone::m_set_cursor_col_changed_callback (
    void (*cursor_col_changed_action)(PObject,char *),
    char *cursol_col_changed_argument)

  Sets the function to invoke when the column of the cursor changes to
  'cursor_col_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
  'cursol_col_changed_argument'.

 void TTextZone::m_set_cursor_pos_changed_callback (
    void (*cursor_pos_changed_action)(PObject,char *),
    char *cursol_pos_changed_argument)

  Sets the function to invoke when the position (line or column) of
  the cursor changes to 'cursor_col_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 'cursol_pos_changed_argument'.

 void TTextZone::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 number of lines of 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 TTextZone::m_set_selection_status_changed_callback (
    void (*selection_status_changed_action)(PObject,char *),
    char *selection_status_changed_argument)

  Sets the function to invoke when a part of the text becomes selected
  and where there is no selected part any more 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 TTextZone::m_clear_text ()

  Clears all text in the TTextZone.

 void TTextZone::m_delete_line (
    int line_nb)

  Deletes line number 'line_nb'.

 void TTextZone::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 TTextZone::m_set_line (
    int line_nb,
    char *string)

  Changes the contents of line number 'line_nb' to 'string'.

 void TTextZone::m_insert_text (
    char* text)

  Inserts the text 'text' (a part of line, several lines...) at the
  current cursor position within the TTextZone. 'text' uses the 'text'
  string format (cf String Datatypes (01)).

 void TTextZone::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* TTextZone::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. This buffer uses the 'text' string format
  (cf String Datatypes (01)).  It can be used with the 'm_insert_text'
  method. The buffer must be freed with the 'm_free_zone_buffer'
  method.

 void TTextZone::m_free_zone_buffer ()

  Frees the buffer which is allocated by the 'm_get_zone' method.

 char* TTextZone::m_get_line (
    int line_nb)

  Copies the line number 'line_nb' into a buffer and returns a pointer
  to the buffer.

 boolean TTextZone::m_save_text (
   char* file_name)

  Attempts to save all text from the TTextZone to the file name
  'file_name'. 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 TTextZone::m_load_text (char* file_name)

  Attempts to load all text from the file named 'file_name' 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 TTextZone::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 TTextZone::m_unselect_zone ()

  Unselects the previously-selected area.

 boolean TTextZone::m_zone_selected ()

  Returns a boolean value which indicates whether a zone is currently
  selected.

 void TTextZone::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 TTextZone::m_cut_selection ()

  Cuts the currently selected text into the clipboard
  (cf Application Macros (02)).

 void TTextZone::m_copy_selection ()

  Copies the currently selected text into the clipboard
  (cf Application Macros (02)).

 void TTextZone::m_paste ()

  Pastes the current clipboard contents into the zone
  (cf Application Macros (02)).

 void TTextZone::m_clear_selection ()

  Clears the currently selected text.

 void TTextZone::m_enable_modification ()

  Enables the modification of the text which is in the textzone.

 void TTextZone::m_disable_modification ()

  Disables the modification of the text which is in the textzone.


 (01) 	-> String Datatypes
 (02) 	-> Application Macros



 TTextZone Notes


None.


 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


TGroup (01)


 (01) 	-> TGroup



 TWindow Derived Classes


THelpWindow (01)


 (01) 	-> THelpWindow



 TWindow Enumerations


None.


 TWindow Data


None.


 TWindow Instanciation


 TWindow::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 ...

   style

    Specifies the style of window to create (cf Window Definitions (01)).

   x

    Specifies the absolute 'x' position of the window.

   y

    Specifies the absolute 'y' position of the window.

   width

    Specifies the window's width.

   height

    Specifies the window's height.

   caption

    Specifies the window's title.

   info_bar

    Specifies whether the window should have an info bar, also known as
    a status bar (cf Boolean Definitions (02)).

   modal

    Specifies whether the window should be modal (TRUE), or modeless
    (FALSE) (cf Boolean Definitions (02)).

   movable

    Specifies whether the window can be moved (cf Boolean Definitions (02)).


 (01) 	-> Window Definitions
 (02) 	-> Boolean Definitions



 TWindow Static Methods


None.


 TWindow Access Methods


 int TWindow::m_get_x ()

  Returns the window's absolute 'x' position.

 int TWindow::m_get_y ()

  Returns the window's absolute 'y' position.

 void TWindow::m_set_pos (
    int x, int y)

  Sets the window's position to the absolute coordinates ('x', 'y').

 void TWindow::m_set_title_attr(
    word attributes)

  Sets the attributes with which the title should be drawn.

 void TWindow::m_set_default_button (
    PPushButton button)

  Sets the pushbutton that should be selected when the 'default' key
  (Return) is pressed.

 void TWindow::m_set_cancel_button (
    PPushButton button)

  Sets the pushbutton that should be selected when the 'cancel' key
  (Escape) is pressed.

 void TWindow::m_set_short_cut_handler (
    PObject handler)

  Sets the object which will receive short cut messages. This object
  will only receive messages with are not already handled by the
  elements of the interface.

 void TWindow::m_set_info_message (
    char* message)

  Sets the text that will be displayed in the window's info (status)
  bar, if it has one.

 char * TWindow::m_get_info_message ()

  Returns the text displayed in the window's info (status) bar, if it
  has one.


 TWindow Callbacks


 void TWindow::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


 Misc functions 

 boolean TWindow::m_set_focus ()

  If a button (01) of the window has the PB_DEFAULT (02) attribute, the focus goes
  to this button. Otherwise, sets the focus to the first element (child
  object) of the window.

  See TGroup (03).

 boolean TWindow::m_set_focus_to_last_element ()

  See TGroup (03).

 PObject TWindow::m_get_previous_focused_object ()

  Returns a pointer to whichever object in the window have just lost the
  focus.

 void TWindow::m_open ()

  Opens the window, making it visible. If the window is already open, it
  is brought to front and becomes active.

 void TWindow::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
  object. This method should only be used by classes derived from
  TObject (04).

 boolean TWindow::m_activate ()

  Activates the window. Returns a boolean value which indicates success
  or failure.

 boolean TWindow::m_is_active()

  Returns a boolean value which indicates whether the window is
  currently active.

 void TWindow::m_close ()

  Closes the window, making it invisible, and redrawing whatever is
  underneath it.


 Text I/O functions 

 void TWindow::m_gotoxy (
    int x, int y)

  Moves the cursor to the position ('x', 'y'), relative to the window's
  position.

 word TWindow::m_get_normal_attr (
    unsigned background)
 word TWindow::m_get_inverse_attr (
    unsigned background)
 word TWindow::m_get_bright_attr (
    unsigned background)
 word TWindow::m_get_inactive_attr (
    unsigned background)
 word TWindow::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 TWindow::m_text_attr ()

  Returns the current text attributes.

 void TWindow::m_set_normal_attr (
    unsigned background)


 void TWindow::m_set_inverse_attr (
    unsigned background)
 void TWindow::m_set_bright_attr (
    unsigned background)
 void TWindow::m_set_inverse_bright_attr (
    unsigned background)
 void TWindow::m_set_inactive_attr (
    unsigned background)
 void TWindow::m_set_inverse_inactive_attr (
    unsigned background)

  These functions enable their various text attributes, leaving all
  other attributes unaltered.

 void TWindow::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 TWindow::m_reset_clip_window ()

  Resets the clipping rectangle so that text can use the entire window
  area.

 void TWindow::m_cls (
    unsigned background)

  Clears the window to the color and attributes specified by
  'background'.

 void TWindow::m_putch (
    u_char character)

  Inserts 'character' at the current cursor position within the window.

 void TWindow::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 TWindow::m_puts (
    char* string)

  Puts text pointed to by 'string' into the window at the current cursor
  position.


 void TWindow::m_put_caption (
    char* caption,
    boolean show_hot_key,
    int length,
    int position)

  Puts the string 'caption' 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, according to the value of 'position'
  (cf Window Definitions (05))). If 'show_hot_key' is TRUE, then the
  hotkey of the caption will be highlighted.

  'caption' has a special string format (06).

 void TWindow::m_put_text (
    char* text)

  Prints the string 'text' into the window at the current character
  position.

  'text' has a special string format (06).

 void TWindow::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 TWindow::m_display_arrow (
    int arrow_type)

  Draws an arrow of type 'arrow_type' at the current cursor position
  (cf Special Character Definitions (07)).


 (01) 	-> TPushButton Instanciation
 (02) 	-> PushButton Type Definitions
 (03) 	-> TGroup
 (04) 	-> TObject
 (05) 	-> Window Definitions
 (06) 	-> String Datatypes
 (07) 	-> Special Character Definitions



 TWindow Notes


TWindows have the following special keys...

 ALT+F4

  Will press the close button (in the top-left corner of the window).



 Index


 ' 

'caption' string format (01)
'text' string format (01)

 A 

ABORT_BUTTON (02)
AbortProgram (03)
Access Methods, TTextZone (04)
ALARM1 (05)
ALERT (06)
Application Macros (07)
Archive (08)
ARROW_DOWN (06)
ARROW_LEFT (06)
ARROW_RIGHT (06)
ARROW_UP (06)
attribute (in struct TListItem) (09)
attribute (in struct TMenuItem) (10)
Author (11)

 B 

BIP1 (05)
Boolean Definitions (12)
Borland C++ (13)

 C 

CANCEL_BUTTON (02)
Caption Functions (14)
CENTERED (06)
CENTERED_LEFT (06)
CENTERED_RIGHT (06)
CHAR_BOTTOM_HLINE (15)
CHAR_BOTTOM_LEFT_CORNER (15)
CHAR_BOTTOM_RIGHT_CORNER (15)
CHAR_LEFT_VLINE (15)
CHAR_RIGHT_VLINE (15)
CHAR_TICK (15)
CHAR_UP_BOTTOM_HLINES (15)
CHAR_UP_HLINE (15)
CHAR_UP_LEFT_CORNER (15)
CHAR_UP_RIGHT_CORNER (15)
character (in struct TKey) (16)
Character set Functions (17)
Character set Macros (18)
CHECKED (12)
Classes (19)
ClearPartOfScreen (20)
ClearScreen (20)
CloseMouse (21)
CloseScreen (20)
Contributions (22)
Conversion Functions (23)
Copyright and license details (24)
Credits (25)
Cursor Definitions (26)
Cursor Functions (27)

 D 

Data file Functions (28)
Datatype Definitions (29)
Datatypes (30)
DEBUG (31)
Debug Macros (31)
DEBUG_DISPLAY_MEMORY (31)
DEBUG_HIDE_MEMORY (31)
DEBUG_SHOW_MEMORY (31)
DEBUG_STOP (31)
DEBUG_TEST (31)
Debugging (32)
DefineChars (18)
Dialog Functions (33)
DIALOG1 (06)
DIALOG2 (06)
DIALOG3 (06)
DISABLED (12)
DisplayLength (14)
DJGPP (13)
DOUBLE_MAX_LENGTH (29)
DOUBLE_NB_DIGITS (29)
DoubleToString (23)
DriveExists (34)
DUTCH (35)

 E 

EditZone Definitions (36)
EDITZONE_FIRST_SCROLL_SPEED (36)
EDITZONE_SCROLL_SPEED (36)
ENABLED (12)
EndOfString (23)
ENGLISH (35)
Error codes (32)
Error Functions (03)
ERROR_SOUND (05)

 F 

FAQ (37)
FatalError (03)
File Definitions (38)
File Functions (34)
FileExists (34)
Files (08)
FileSelectionBox (33)
FLB_INVALID_DIR (39)
FLB_INVALID_DRIVE (39)
FLB_INVALID_FILE (39)
FLB_NO_DISK_IN_DRIVE (39)
FLB_REFRESH_OK_FILE (39)
FLB_REFRESH_OK_MASK (39)
FONT_JPTUI (40)
FONT_STANDARD (40)
FreeVocabulary (41)
FRENCH (35)
FullPath (34)
FullPathOfFileInExeDir (34)
Functions (42)

 G 

Gauge Definitions (43)
GAUGE_OUT_OF_STYLE (43)
GAUGE_PERCENTAGE_STYLE (43)
GERMAN (35)
GetActiveWindow (07)
GetCharDefinition (18)
GetCurrentDir (34)
GetFont (20)
GetFontHeight (20)
GetFontWidth (20)
GetInvalidDataFileMessage (28)
GetKey (44)
GetLanguage (41)
GetMousePointer (21)
GetMouseState (21)
GetNullKey (44)
GetScreenHeight (20)
GetScreenWidth (20)
GetSetCharDefinition (17)
GetString (41)
GetTextCursorStyle (27)
GetTextHeight (45)
GetTextMode (20)
GetTextWidth (45)
GetXTextCursor (27)
GetYTextCursor (27)
Global Variables (46)
GREEK (35)

 H 

HELP (06)
help_message (in struct TMenuItem) (10)
HexaToInt (23)
HideMouse (21)
HideScreen (20)
HideTextCursor (27)
HorizontalShadow (47)
hot_character (in struct TKey) (16)
HotKey (14)

 I 

IB_PASSWORD (48)
IB_STRING (48)
IGNORE_BUTTON (02)
INFO_BAR (12)
InitMouse (21)
InitScreen (20)
InputBox (33)
INSERT_CURSOR (26)
Introduction (49)
Introduction to JPTUI (49)
IsAltKey (44)
IsExtendedKey (44)
IsNullKey (44)
IsPrintableKey (44)
ITALIAN (35)

 J 

JPCallbacksEnabled (07)
JPDisableCallbacks (07)
JPEnableCallbacks (07)
JPGetClipboard (07)
JPInit (07)
JPMakeNextWindowActive (07)
JPOutOfMemoryExit (07)
JPProcessEvents (07)
JPRedrawWindows (07)
JPRefresh (07)
JPRefreshAll (07)
JPRun (07)
JPRunDialog (07)
JPSetClipboard (07)
JPSetClipboardChangedCallback (07)
JPSetNoEventCallback (07)
JPStop (07)
JPTUI (49)
JUSTIFIED_LEFT (06)
JUSTIFIED_RIGHT (06)

 K 

Keyboard Functions (44)
Keyboard Structures (16)
Keycode Definitions (50)
KeyPressed (44)

 L 

label (in struct TListItem) (09)
label (in struct TMenuItem) (10)
Language Definitions (35)
Latest Version of JPTUI (51)
LEFT_BUTTON (52)
LEFT_BUTTON_PRESSED (52)
LI_CHECKED (53)
LI_DISABLED (53)
LI_NOATTR (53)
LI_TOGGLE (53)
List Definitions (54)
LIST_FIRST_SCROLL_SPEED (54)
LIST_SCROLL_SPEED (54)
LoadDataFile (28)
LoadVocabulary (41)
LONG_MAX_LENGTH (29)
LongToString (23)

 M 

m_activate (55)
m_add_item (56)
m_add_item (57)
m_add_items (56)
m_add_items (57)
m_add_items (58)
m_callbacks_enabled (59)
m_can_lose_focus (60)
m_check (61)
m_check (62)
m_check_item (58)
m_clear_list (57)
m_clear_list (58)
m_clear_selection (63)
m_clear_selection (64)
m_clear_text (63)
m_clear_zone (63)
m_click_item (57)
m_close (55)
m_closed_callback (65)
m_cls (55)
m_copy_selection (63)
m_cut_selection (63)
m_delete_item (57)
m_delete_item (58)
m_delete_line (63)
m_disable (60)
m_disable (66)
m_disable (67)
m_disable (68)
m_disable_callbacks (59)
m_disable_item (58)
m_disable_modification (63)
m_disable_modification (64)
m_disable_modification (68)
m_disable_string_checking (64)
m_display_arrow (55)
m_display_topic (69)
m_draw_frame (55)
m_enable (60)
m_enable (66)
m_enable (68)
m_enable_callbacks (59)
m_enable_item (58)
m_enable_modification (63)
m_enable_modification (64)
m_enable_modification (68)
m_enable_string_checking (64)
m_free_zone_buffer (63)
m_get_active_window (70)
m_get_background (60)
m_get_bright_attr (55)
m_get_caption (60)
m_get_clipboard (71)
m_get_current_application (72)
m_get_current_dir (73)
m_get_current_file (73)
m_get_current_mask (73)
m_get_cursor_pos (04)
m_get_first_visible_col (04)
m_get_first_visible_item_index (74)
m_get_first_visible_line (04)
m_get_focused_element (75)
m_get_focused_object (76)
m_get_height (60)
m_get_hotkey (60)
m_get_inactive_attr (55)
m_get_info_message (77)
m_get_inverse_attr (55)
m_get_inverse_inactive_attr (55)
m_get_item (74)
m_get_item_index (74)
m_get_last_visible_item_index (74)
m_get_line (63)
m_get_list (68)
m_get_list_height (74)
m_get_max_value (78)
m_get_max_value (79)
m_get_max_value (80)
m_get_max_value (81)
m_get_menu_bar (57)
m_get_min_value (78)
m_get_min_value (79)
m_get_min_value (81)
m_get_nb_cols (04)
m_get_nb_items (74)
m_get_nb_lines (04)
m_get_normal_attr (55)
m_get_number (60)
m_get_parent (60)
m_get_previous_focused_object (55)
m_get_selected_item_index (74)
m_get_selected_zone (63)
m_get_string (64)
m_get_string_length (64)
m_get_tab_size (04)
m_get_text (82)
m_get_text_height (04)
m_get_text_rel_x (04)
m_get_text_rel_y (04)
m_get_text_width (04)
m_get_type (60)
m_get_value (78)
m_get_value (80)
m_get_width (60)
m_get_window (60)
m_get_x (77)
m_get_x (60)
m_get_x_in_window (60)
m_get_y (77)
m_get_y (60)
m_get_y_in_window (60)
m_get_zone (63)
m_gotoxy (55)
m_has_focus (60)
m_init (70)
m_insert_item (56)
m_insert_item (57)
m_insert_line (63)
m_insert_text (63)
m_is_active (55)
m_is_checked (83)
m_is_enabled (60)
m_is_open (60)
m_item_is_checked (58)
m_item_is_enabled (58)
m_line_length (04)
m_load_help_file (69)
m_load_text (63)
m_make_next_window_active (70)
m_new_handler (72)
m_open (55)
m_open (57)
m_open (57)
m_open_as_object_element (55)
m_opened_callback (65)
m_paste (63)
m_press (84)
m_process_events (70)
m_put_caption (55)
m_put_text (55)
m_putch (55)
m_putnch (55)
m_puts (55)
m_redraw_windows (70)
m_refresh (70)
m_refresh_all (70)
m_refresh_file_list (85)
m_refresh_file_list_from_item (85)
m_reset_clip_window (55)
m_run (70)
m_run_dialog (70)
m_save_text (63)
m_select_all (64)
m_select_back_topic (69)
m_select_contents_topic (69)
m_select_first_possible_item (74)
m_select_index_topic (69)
m_select_next_topic (69)
m_select_previous_topic (69)
m_select_zone (63)
m_select_zone (64)
m_set_big_change (78)
m_set_bright_attr (55)
m_set_can_be_enabled (60)
m_set_cancel_button (77)
m_set_caption (60)
m_set_checked_callback (86)
m_set_clip_window (55)
m_set_clipboard (71)
m_set_clipboard_changed_callback (59)
m_set_close_button_pressed_callback (87)
m_set_cursor_at (04)
m_set_cursor_at (88)
m_set_cursor_col_changed_callback (89)
m_set_cursor_line_changed_callback (89)
m_set_cursor_pos_changed_callback (89)
m_set_default_button (77)
m_set_file_chosen_callback (90)
m_set_first_visible_col (04)
m_set_first_visible_item_index (74)
m_set_first_visible_line (04)
m_set_focus (55)
m_set_focus (91)
m_set_focus (92)
m_set_focus_lost_callback (65)
m_set_focus_taken_callback (65)
m_set_focus_to_last_element (55)
m_set_focus_to_last_element (91)
m_set_focus_to_last_element (92)
m_set_inactive_attr (55)
m_set_info_message (77)
m_set_inverse_attr (55)
m_set_inverse_bright_attr (55)
m_set_inverse_inactive_attr (55)
m_set_item_check_changed_callback (93)
m_set_item_clicked_callback (94)
m_set_item_dbl_click_callback (93)
m_set_last_visible_item_index (74)
m_set_line (63)
m_set_little_change (78)
m_set_max_value (80)
m_set_middle_visible_item_index (74)
m_set_min_max_values (78)
m_set_min_max_values (79)
m_set_min_max_values (81)
m_set_nb_items_changed_callback (93)
m_set_nb_lines_changed_callback (89)
m_set_no_event_callback (59)
m_set_normal_attr (55)
m_set_pos (77)
m_set_pressed_callback (95)
m_set_refresh_done_callback (90)
m_set_selected_item_changed_callback (93)
m_set_selected_item_index (74)
m_set_selection_status_changed_callback (89)
m_set_short_cut_handler (77)
m_set_size (60)
m_set_string (64)
m_set_string (68)
m_set_string_changed_callback (96)
m_set_string_from_list_item (68)
m_set_string_validated_callback (97)
m_set_tab_size (04)
m_set_text (82)
m_set_text_changed_callback (89)
m_set_title_attr (77)
m_set_unchecked_callback (86)
m_set_value (78)
m_set_value (80)
m_set_value_changed_callback (98)
m_set_visible (99)
m_set_visible_callback (100)
m_set_visible_lines_changed_callback (89)
m_set_visible_part_changed_callback (93)
m_stop (70)
m_string_valid (64)
m_text_attr (55)
m_uncheck (61)
m_uncheck (62)
m_uncheck_item (58)
m_unload_help_file (69)
m_unselect (64)
m_unselect_zone (63)
m_zone_selected (63)
Macros (42)
MAX (101)
MAX_DIR (38)
MAX_DOUBLE_CLICK_DURATION (52)
MAX_DRIVE (38)
MAX_FILE (38)
MAX_PATH (38)
MAXWORD (29)
MB_ABORTRETRYIGNORE (02)
MB_DEFBUTTON1 (02)
MB_DEFBUTTON2 (02)
MB_DEFBUTTON3 (02)
MB_ICONEXCLAMATION (02)
MB_ICONINFORMATION (02)
MB_ICONQUESTION (02)
MB_ICONSTOP (02)
MB_NOICON (02)
MB_OK (02)
MB_OKCANCEL (02)
MB_RETRYCANCEL (02)
MB_YESNO (02)
MB_YESNOCANCEL (02)
MessageBox (33)
MessageBox Definitions (02)
MessageBox Definitions (48)
MIN (101)
MIN and MAX Macros (101)
MODAL (12)
Mouse Definitions (52)
Mouse Functions (21)
MOVABLE (12)
MP_ARROW (52)
MP_HOURGLASS (52)
MPA_GRAPHICAL (52)
MPA_MOUSE_DRIVER (52)
MPA_TEXTUAL (52)
Multi-language support (41)

 N 

NO_BUTTON (02)
NO_BUTTON_PRESSED (52)
NO_DEBUG (31)
NO_INFO_BAR (12)
NO_SOUND (05)
NONE (35)
NOT_CHECKED (12)
NOT_MODAL (12)
NOT_MOVABLE (12)
NOT_SORTED (12)

 O 

OBJ_CHECK_BOX (102)
OBJ_COMBO_LIST (102)
OBJ_EDIT_ZONE (102)
OBJ_FRAME_GROUP (102)
OBJ_GAUGE (102)
OBJ_LABEL (102)
OBJ_LIST_BOX (102)
OBJ_MENU (102)
OBJ_MENU_BAR (102)
OBJ_NONE (102)
OBJ_PUSH_BUTTON (102)
OBJ_SCROLL_BAR (102)
OBJ_TAB (102)
OBJ_TAB_GROUP (102)
OBJ_TEXT_ZONE (102)
OBJ_WINDOW (102)
Object Type Definitions (102)
OK_BUTTON (02)

 P 

PartOfBufferToScreen (20)
PB_CANCEL (103)
PB_DEFAULT (103)
PB_NORMAL (103)
PlaySound (104)
PPRESSURE_TIME_LENGTH (103)
Preprocessor Symbols (105)
PushButton Type Definitions (103)

 Q 

QUIT_BUTTON (02)

 R 

RECOVER_CURSOR (26)
ResetKeyboard (44)
RETRY_BUTTON (02)
RIGHT_BUTTON (52)
RIGHT_BUTTON_PRESSED (52)
RunningUnderWindows (106)

 S 

SB_HORIZONTAL (107)
SB_HORIZONTAL (108)
SB_VERTICAL (107)
SB_VERTICAL (108)
SBC_BOTH (107)
SBC_BOTH (108)
SBC_HORIZONTAL (107)
SBC_HORIZONTAL (108)
SBC_NONE (107)
SBC_NONE (108)
SBC_VERTICAL (107)
SBC_VERTICAL (108)
Screen Definitions (40)
Screen Functions (20)
SCREEN_BACKGROUND (40)
ScreenInitialized (20)
ScrollBar Definitions (108)
SCROLLBAR_FIRST_SCROLL_SPEED (107)
SCROLLBAR_FIRST_SCROLL_SPEED (108)
SCROLLBAR_SCROLL_SPEED (107)
SCROLLBAR_SCROLL_SPEED (108)
SetDosBoxMode (106)
SetFont (20)
SetFullScreenMode (106)
SetMousePointer (21)
SetMousePointerAspect (21)
SetTextCursorAt (27)
SetTextCursorAt (27)
SetTextCursorStyle (27)
SetTextMode (20)
SetUserTextMode (20)
Shadow Definitions (107)
Shadow Functions (47)
short_cut (in struct TMenuItem) (10)
Shortcut Definitions (109)
ShowMouse (21)
ShowTextCursor (27)
SORTED (12)
Sound Definitions (05)
Sound Functions (104)
SOUND_UP1 (05)
SPANISH (35)
Special Character Definitions (15)
String Datatypes (01)
string formats (01)
STRING_MUST_BE_IN_LIST (12)
STRING_NEEDNT_TO_BE_IN_LIST (12)
StringToDouble (23)
StringToLong (23)
Structures (110)

 T 

TApplication (111)
TApplication Access Methods (71)
TApplication Base Classes (112)
TApplication Callbacks (59)
TApplication Class (113)
TApplication Data (114)
TApplication Derived Classes (115)
TApplication Description (116)
TApplication Enumerations (117)
TApplication Instanciation (111)
TApplication Notes (118)
TApplication Special (70)
TApplication Static Methods (72)
TApplication::m_callbacks_enabled (59)
TApplication::m_disable_callbacks (59)
TApplication::m_enable_callbacks (59)
TApplication::m_get_active_window (70)
TApplication::m_get_clipboard (71)
TApplication::m_get_current_application (72)
TApplication::m_init (70)
TApplication::m_make_next_window_active (70)
TApplication::m_new_handler (72)
TApplication::m_process_events (70)
TApplication::m_redraw_windows (70)
TApplication::m_refresh (70)
TApplication::m_refresh_all (70)
TApplication::m_run (70)
TApplication::m_run_dialog (70)
TApplication::m_set_clipboard (71)
TApplication::m_set_clipboard_changed_callback (59)
TApplication::m_set_no_event_callback (59)
TApplication::m_stop (70)
TApplication::TApplication (111)
TCheckBox (119)
TCheckBox Access Methods (83)
TCheckBox Base Classes (120)
TCheckBox Callbacks (86)
TCheckBox Class (121)
TCheckBox Data (122)
TCheckBox Derived Classes (123)
TCheckBox Description (124)
TCheckBox Enumerations (125)
TCheckBox Instanciation (119)
TCheckBox Notes (126)
TCheckBox Special (62)
TCheckBox Static Methods (127)
TCheckBox::m_check (62)
TCheckBox::m_is_checked (83)
TCheckBox::m_set_checked_callback (86)
TCheckBox::m_set_unchecked_callback (86)
TCheckBox::m_uncheck (62)
TCheckBox::TCheckBox (119)
TComboBox (128)
TComboBox Access Methods (68)
TComboBox Base Classes (129)
TComboBox Callbacks (97)
TComboBox Class (130)
TComboBox Data (131)
TComboBox Derived Classes (132)
TComboBox Description (133)
TComboBox Enumerations (134)
TComboBox Instanciation (128)
TComboBox Notes (135)
TComboBox Special (136)
TComboBox Static Methods (137)
TComboBox::m_disable (68)
TComboBox::m_disable_modification (68)
TComboBox::m_enable (68)
TComboBox::m_enable_modification (68)
TComboBox::m_get_list (68)
TComboBox::m_set_string (68)
TComboBox::m_set_string_from_list_item (68)
TComboBox::m_set_string_validated_callback (97)
TComboBox::TComboBox (128)
TDecimalEditZone (138)
TDecimalEditZone Access Methods (81)
TDecimalEditZone Base Classes (139)
TDecimalEditZone Callbacks (140)
TDecimalEditZone Class (141)
TDecimalEditZone Data (142)
TDecimalEditZone Derived Classes (143)
TDecimalEditZone Description (144)
TDecimalEditZone Enumerations (145)
TDecimalEditZone Instanciation (138)
TDecimalEditZone Notes (146)
TDecimalEditZone Special (147)
TDecimalEditZone Static Methods (148)
TDecimalEditZone::m_get_max_value (81)
TDecimalEditZone::m_get_min_value (81)
TDecimalEditZone::m_set_min_max_values (81)
TDecimalEditZone::TDecimalEditZone (138)
Technical Information (13)
TEditZone (149)
TEditZone Access Methods (88)
TEditZone Base Classes (150)
TEditZone Callbacks (96)
TEditZone Class (151)
TEditZone Data (152)
TEditZone Derived Classes (153)
TEditZone Description (154)
TEditZone Enumerations (155)
TEditZone Instanciation (149)
TEditZone Notes (156)
TEditZone Special (64)
TEditZone Static Methods (157)
TEditZone::m_clear_selection (64)
TEditZone::m_disable_modification (64)
TEditZone::m_disable_string_checking (64)
TEditZone::m_enable_modification (64)
TEditZone::m_enable_string_checking (64)
TEditZone::m_get_string (64)
TEditZone::m_get_string_length (64)
TEditZone::m_select_all (64)
TEditZone::m_select_zone (64)
TEditZone::m_set_cursor_at (88)
TEditZone::m_set_string (64)
TEditZone::m_set_string_changed_callback (96)
TEditZone::m_string_valid (64)
TEditZone::m_unselect (64)
TEditZone::TEditZone (149)
Text Functions (45)
TEXT_ARROW_DOWN (15)
TEXT_ARROW_LEFT (15)
TEXT_ARROW_RIGHT (15)
TEXT_ARROW_UP (15)
TEXT_BOTTOM_HLINE (15)
TEXT_BOTTOM_LEFT_CORNER (15)
TEXT_BOTTOM_RIGHT_CORNER (15)
TEXT_CHECKED_CHECK_BOX (15)
TEXT_CHECKED_RADIO_BUTTON (15)
TEXT_CLOSE_BUTTON (15)
TEXT_LEFT_VLINE (15)
TEXT_RIGHT_VLINE (15)
TEXT_TICK (15)
TEXT_UNCHECKED_CHECK_BOX (15)
TEXT_UNCHECKED_RADIO_BUTTON (15)
TEXT_UP_BOTTOM_HLINES (15)
TEXT_UP_HLINE (15)
TEXT_UP_LEFT_CORNER (15)
TEXT_UP_RIGHT_CORNER (15)
TextCursorIsVisible (27)
TextError (03)
TEXTMODE_80x25_8 (40)
TEXTMODE_80x25_9 (40)
TEXTMODE_80x28_8 (40)
TEXTMODE_80x28_9 (40)
TEXTMODE_80x50_8 (40)
TEXTMODE_80x50_9 (40)
TEXTMODE_USER (40)
TextZone Definitions (158)
TEXTZONE_FIRST_SCROLL_SPEED (158)
TEXTZONE_SCROLL_SPEED (158)
TFileListBox (159)
TFileListBox Access Methods (73)
TFileListBox Base Classes (160)
TFileListBox Callbacks (90)
TFileListBox Class (161)
TFileListBox Data (162)
TFileListBox Derived Classes (163)
TFileListBox Description (164)
TFileListBox Enumerations (39)
TFileListBox Instanciation (159)
TFileListBox Notes (165)
TFileListBox Special (85)
TFileListBox Static Methods (166)
TFileListBox::m_get_current_dir (73)
TFileListBox::m_get_current_file (73)
TFileListBox::m_get_current_mask (73)
TFileListBox::m_refresh_file_list (85)
TFileListBox::m_refresh_file_list_from_item (85)
TFileListBox::m_set_file_chosen_callback (90)
TFileListBox::m_set_refresh_done_callback (90)
TFileListBox::TFileListBox (159)
TFont (40)
TFrame (167)
TFrame Access Methods (168)
TFrame Base Classes (169)
TFrame Callbacks (170)
TFrame Class (171)
TFrame Data (172)
TFrame Derived Classes (173)
TFrame Description (174)
TFrame Enumerations (175)
TFrame Instanciation (167)
TFrame Notes (176)
TFrame Special (177)
TFrame Static Methods (178)
TFrame::TFrame (167)
TGauge (179)
TGauge Access Methods (80)
TGauge Base Classes (180)
TGauge Callbacks (181)
TGauge Class (182)
TGauge Data (183)
TGauge Derived Classes (184)
TGauge Description (185)
TGauge Enumerations (186)
TGauge Instanciation (179)
TGauge Notes (187)
TGauge Special (188)
TGauge Static Methods (189)
TGauge::m_get_max_value (80)
TGauge::m_get_value (80)
TGauge::m_set_max_value (80)
TGauge::m_set_value (80)
TGauge::TGauge (179)
TGaugeStyle (43)
TGroup (190)
TGroup Access Methods (75)
TGroup Base Classes (191)
TGroup Callbacks (192)
TGroup Class (193)
TGroup Data (194)
TGroup Derived Classes (195)
TGroup Description (196)
TGroup Enumerations (197)
TGroup Instanciation (190)
TGroup Notes (198)
TGroup Special (76)
TGroup Static Methods (199)
TGroup::m_get_focused_element (75)
TGroup::m_get_focused_object (76)
TGroup::TGroup (190)
THelpWindow (200)
THelpWindow Access Methods (201)
THelpWindow Base Classes (202)
THelpWindow Callbacks (203)
THelpWindow Class (204)
THelpWindow Data (205)
THelpWindow Derived Classes (206)
THelpWindow Description (207)
THelpWindow Enumerations (208)
THelpWindow Instanciation (200)
THelpWindow Notes (209)
THelpWindow Special (69)
THelpWindow Static Methods (210)
THelpWindow::m_display_topic (69)
THelpWindow::m_load_help_file (69)
THelpWindow::m_select_back_topic (69)
THelpWindow::m_select_contents_topic (69)
THelpWindow::m_select_index_topic (69)
THelpWindow::m_select_next_topic (69)
THelpWindow::m_select_previous_topic (69)
THelpWindow::m_unload_help_file (69)
THelpWindow::THelpWindow (200)
TIntegerEditZone (211)
TIntegerEditZone Access Methods (79)
TIntegerEditZone Base Classes (212)
TIntegerEditZone Callbacks (213)
TIntegerEditZone Class (214)
TIntegerEditZone Data (215)
TIntegerEditZone Derived Classes (216)
TIntegerEditZone Description (217)
TIntegerEditZone Enumerations (218)
TIntegerEditZone Instanciation (211)
TIntegerEditZone Notes (219)
TIntegerEditZone Special (220)
TIntegerEditZone Static Methods (221)
TIntegerEditZone::m_get_max_value (79)
TIntegerEditZone::m_get_min_value (79)
TIntegerEditZone::m_set_min_max_values (79)
TIntegerEditZone::TIntegerEditZone (211)
TKey (16)
TLabel (222)
TLabel Access Methods (82)
TLabel Base Classes (223)
TLabel Callbacks (224)
TLabel Class (225)
TLabel Data (226)
TLabel Derived Classes (227)
TLabel Description (228)
TLabel Enumerations (229)
TLabel Instanciation (222)
TLabel Notes (230)
TLabel Special (231)
TLabel Static Methods (232)
TLabel::m_get_text (82)
TLabel::m_set_text (82)
TLabel::TLabel (222)
TLanguage (35)
TList (233)
TList Access Methods (74)
TList Attribute Definitions (53)
TList Base Classes (234)
TList Callbacks (93)
TList Class (235)
TList Data (236)
TList Derived Classes (237)
TList Description (238)
TList Enumerations (239)
TList Instanciation (233)
TList Notes (240)
TList Special (58)
TList Static Methods (241)
TList Structures (09)
TList::m_add_items (58)
TList::m_check_item (58)
TList::m_clear_list (58)
TList::m_delete_item (58)
TList::m_disable_item (58)
TList::m_enable_item (58)
TList::m_get_first_visible_item_index (74)
TList::m_get_item (74)
TList::m_get_item_index (74)
TList::m_get_last_visible_item_index (74)
TList::m_get_list_height (74)
TList::m_get_nb_items (74)
TList::m_get_selected_item_index (74)
TList::m_item_is_checked (58)
TList::m_item_is_enabled (58)
TList::m_select_first_possible_item (74)
TList::m_set_first_visible_item_index (74)
TList::m_set_item_check_changed_callback (93)
TList::m_set_item_dbl_click_callback (93)
TList::m_set_last_visible_item_index (74)
TList::m_set_middle_visible_item_index (74)
TList::m_set_nb_items_changed_callback (93)
TList::m_set_selected_item_changed_callback (93)
TList::m_set_selected_item_index (74)
TList::m_set_visible_part_changed_callback (93)
TList::m_uncheck_item (58)
TList::TList (233)
TListBox (242)
TListBox Access Methods (243)
TListBox Base Classes (244)
TListBox Callbacks (245)
TListBox Class (246)
TListBox Data (247)
TListBox Derived Classes (248)
TListBox Description (249)
TListBox Enumerations (250)
TListBox Instanciation (242)
TListBox Notes (251)
TListBox Special (252)
TListBox Static Methods (253)
TListBox::TListBox (242)
TListItem (09)
TMenu (254)
TMenu Access Methods (67)
TMenu Base Classes (255)
TMenu Callbacks (94)
TMenu Class (256)
TMenu Data (257)
TMenu Derived Classes (258)
TMenu Description (259)
TMenu Enumerations (260)
TMenu Instanciation (254)
TMenu Notes (261)
TMenu Special (57)
TMenu Static Methods (262)
TMenu Structures (10)
TMenu::m_add_item (57)
TMenu::m_add_items (57)
TMenu::m_clear_list (57)
TMenu::m_click_item (57)
TMenu::m_delete_item (57)
TMenu::m_disable (67)
TMenu::m_get_menu_bar (57)
TMenu::m_insert_item (57)
TMenu::m_open (57)
TMenu::m_open (57)
TMenu::m_set_item_clicked_callback (94)
TMenu::TMenu (254)
TMenuBar (263)
TMenuBar Access Methods (66)
TMenuBar Base Classes (264)
TMenuBar Callbacks (265)
TMenuBar Class (266)
TMenuBar Data (267)
TMenuBar Derived Classes (268)
TMenuBar Description (269)
TMenuBar Enumerations (270)
TMenuBar Instanciation (263)
TMenuBar Notes (271)
TMenuBar Special (272)
TMenuBar Static Methods (273)
TMenuBar::m_disable (66)
TMenuBar::m_enable (66)
TMenuBar::TMenuBar (263)
TMenuItem (10)
TMousePointer (52)
TMousePointerAspect (52)
TObject (274)
TObject Access Methods (60)
TObject Base Classes (275)
TObject Callbacks (65)
TObject Class (276)
TObject Data (277)
TObject Derived Classes (278)
TObject Description (279)
TObject Enumerations (280)
TObject Instanciation (274)
TObject Notes (281)
TObject Special (92)
TObject Static Methods (282)
TObject::m_can_lose_focus (60)
TObject::m_closed_callback (65)
TObject::m_disable (60)
TObject::m_enable (60)
TObject::m_get_background (60)
TObject::m_get_caption (60)
TObject::m_get_height (60)
TObject::m_get_hotkey (60)
TObject::m_get_number (60)
TObject::m_get_parent (60)
TObject::m_get_type (60)
TObject::m_get_width (60)
TObject::m_get_window (60)
TObject::m_get_x (60)
TObject::m_get_x_in_window (60)
TObject::m_get_y (60)
TObject::m_get_y_in_window (60)
TObject::m_has_focus (60)
TObject::m_is_enabled (60)
TObject::m_is_open (60)
TObject::m_opened_callback (65)
TObject::m_set_can_be_enabled (60)
TObject::m_set_caption (60)
TObject::m_set_focus (92)
TObject::m_set_focus_lost_callback (65)
TObject::m_set_focus_taken_callback (65)
TObject::m_set_focus_to_last_element (92)
TObject::m_set_size (60)
TObject::TObject (274)
TPasswordEditZone (283)
TPasswordEditZone Access Methods (284)
TPasswordEditZone Base Classes (285)
TPasswordEditZone Callbacks (286)
TPasswordEditZone Class (287)
TPasswordEditZone Data (288)
TPasswordEditZone Derived Classes (289)
TPasswordEditZone Description (290)
TPasswordEditZone Enumerations (291)
TPasswordEditZone Instanciation (283)
TPasswordEditZone Notes (292)
TPasswordEditZone Special (293)
TPasswordEditZone Static Methods (294)
TPushButton (295)
TPushButton Access Methods (296)
TPushButton Base Classes (297)
TPushButton Callbacks (95)
TPushButton Class (298)
TPushButton Data (299)
TPushButton Derived Classes (300)
TPushButton Description (301)
TPushButton Enumerations (302)
TPushButton Instanciation (295)
TPushButton Notes (303)
TPushButton Special (84)
TPushButton Static Methods (304)
TPushButton::m_press (84)
TPushButton::m_set_pressed_callback (95)
TPushButton::TPushButton (295)
TRadioButton (305)
TRadioButton Access Methods (306)
TRadioButton Base Classes (307)
TRadioButton Callbacks (308)
TRadioButton Class (309)
TRadioButton Data (310)
TRadioButton Derived Classes (311)
TRadioButton Description (312)
TRadioButton Enumerations (313)
TRadioButton Instanciation (305)
TRadioButton Notes (314)
TRadioButton Special (61)
TRadioButton Static Methods (315)
TRadioButton::m_check (61)
TRadioButton::m_uncheck (61)
TRadioButton::TRadioButton (305)
TRadioGroup (316)
TRadioGroup Access Methods (317)
TRadioGroup Base Classes (318)
TRadioGroup Callbacks (319)
TRadioGroup Class (320)
TRadioGroup Data (321)
TRadioGroup Derived Classes (322)
TRadioGroup Description (323)
TRadioGroup Enumerations (324)
TRadioGroup Instanciation (316)
TRadioGroup Notes (325)
TRadioGroup Special (326)
TRadioGroup Static Methods (327)
TRadioGroup::TRadioGroup (316)
TSbOrientation (107)
TSbOrientation (108)
TScrollBar (328)
TScrollBar Access Methods (78)
TScrollBar Base Classes (329)
TScrollBar Callbacks (98)
TScrollBar Class (330)
TScrollBar Data (331)
TScrollBar Derived Classes (332)
TScrollBar Description (333)
TScrollBar Enumerations (334)
TScrollBar Instanciation (328)
TScrollBar Notes (335)
TScrollBar Special (336)
TScrollBar Static Methods (337)
TScrollBar::m_get_max_value (78)
TScrollBar::m_get_min_value (78)
TScrollBar::m_get_value (78)
TScrollBar::m_set_big_change (78)
TScrollBar::m_set_little_change (78)
TScrollBar::m_set_min_max_values (78)
TScrollBar::m_set_value (78)
TScrollBar::m_set_value_changed_callback (98)
TScrollBar::TScrollBar (328)
TScrollbarChoice (107)
TScrollbarChoice (108)
TSimpleList (338)
TSimpleList Access Methods (339)
TSimpleList Base Classes (340)
TSimpleList Callbacks (341)
TSimpleList Class (342)
TSimpleList Data (343)
TSimpleList Derived Classes (344)
TSimpleList Description (345)
TSimpleList Enumerations (346)
TSimpleList Instanciation (338)
TSimpleList Notes (347)
TSimpleList Special (56)
TSimpleList Static Methods (348)
TSimpleList::m_add_item (56)
TSimpleList::m_add_items (56)
TSimpleList::m_insert_item (56)
TSimpleList::TSimpleList (338)
TSound (05)
TTab (349)
TTab Access Methods (350)
TTab Base Classes (351)
TTab Callbacks (100)
TTab Class (352)
TTab Data (353)
TTab Derived Classes (354)
TTab Description (355)
TTab Enumerations (356)
TTab Instanciation (349)
TTab Notes (357)
TTab Special (99)
TTab Static Methods (358)
TTab::m_set_visible (99)
TTab::m_set_visible_callback (100)
TTab::TTab (349)
TTabGroup (359)
TTabGroup Access Methods (360)
TTabGroup Base Classes (361)
TTabGroup Callbacks (362)
TTabGroup Class (363)
TTabGroup Data (364)
TTabGroup Derived Classes (365)
TTabGroup Description (366)
TTabGroup Enumerations (367)
TTabGroup Instanciation (359)
TTabGroup Notes (368)
TTabGroup Special (91)
TTabGroup Static Methods (369)
TTabGroup::m_set_focus (91)
TTabGroup::m_set_focus_to_last_element (91)
TTabGroup::TTabGroup (359)
TTextMode (40)
TTextZone (370)
TTextZone Base Classes (371)
TTextZone Callbacks (89)
TTextZone Class (372)
TTextZone Data (373)
TTextZone Derived Classes (374)
TTextZone Description (375)
TTextZone Enumerations (376)
TTextZone Instanciation (370)
TTextZone Notes (377)
TTextZone Special (63)
TTextZone Static Methods (378)
TTextZone::m_clear_selection (63)
TTextZone::m_clear_text (63)
TTextZone::m_clear_zone (63)
TTextZone::m_copy_selection (63)
TTextZone::m_cut_selection (63)
TTextZone::m_delete_line (63)
TTextZone::m_disable_modification (63)
TTextZone::m_enable_modification (63)
TTextZone::m_free_zone_buffer (63)
TTextZone::m_get_cursor_pos (04)
TTextZone::m_get_first_visible_col (04)
TTextZone::m_get_first_visible_line (04)
TTextZone::m_get_line (63)
TTextZone::m_get_nb_cols (04)
TTextZone::m_get_nb_lines (04)
TTextZone::m_get_selected_zone (63)
TTextZone::m_get_tab_size (04)
TTextZone::m_get_text_height (04)
TTextZone::m_get_text_rel_x (04)
TTextZone::m_get_text_rel_y (04)
TTextZone::m_get_text_width (04)
TTextZone::m_get_zone (63)
TTextZone::m_insert_line (63)
TTextZone::m_insert_text (63)
TTextZone::m_line_length (04)
TTextZone::m_load_text (63)
TTextZone::m_paste (63)
TTextZone::m_save_text (63)
TTextZone::m_select_zone (63)
TTextZone::m_set_cursor_at (04)
TTextZone::m_set_cursor_col_changed_callback (89)
TTextZone::m_set_cursor_line_changed_callback (89)
TTextZone::m_set_cursor_pos_changed_callback (89)
TTextZone::m_set_first_visible_col (04)
TTextZone::m_set_first_visible_line (04)
TTextZone::m_set_line (63)
TTextZone::m_set_nb_lines_changed_callback (89)
TTextZone::m_set_selection_status_changed_callback (89)
TTextZone::m_set_tab_size (04)
TTextZone::m_set_text_changed_callback (89)
TTextZone::m_set_visible_lines_changed_callback (89)
TTextZone::m_unselect_zone (63)
TTextZone::m_zone_selected (63)
TTextZone::TTextZone (370)
TWindow (379)
TWindow Access Methods (77)
TWindow Base Classes (380)
TWindow Callbacks (87)
TWindow Class (381)
TWindow Data (382)
TWindow Derived Classes (383)
TWindow Description (384)
TWindow Enumerations (385)
TWindow Instanciation (379)
TWindow Notes (386)
TWindow Special (55)
TWindow Static Methods (387)
TWindow::m_activate (55)
TWindow::m_close (55)
TWindow::m_cls (55)
TWindow::m_display_arrow (55)
TWindow::m_draw_frame (55)
TWindow::m_get_bright_attr (55)
TWindow::m_get_inactive_attr (55)
TWindow::m_get_info_message (77)
TWindow::m_get_inverse_attr (55)
TWindow::m_get_inverse_inactive_attr (55)
TWindow::m_get_normal_attr (55)
TWindow::m_get_previous_focused_object (55)
TWindow::m_get_x (77)
TWindow::m_get_y (77)
TWindow::m_gotoxy (55)
TWindow::m_is_active (55)
TWindow::m_open (55)
TWindow::m_open_as_object_element (55)
TWindow::m_put_caption (55)
TWindow::m_put_text (55)
TWindow::m_putch (55)
TWindow::m_putnch (55)
TWindow::m_puts (55)
TWindow::m_reset_clip_window (55)
TWindow::m_set_bright_attr (55)
TWindow::m_set_cancel_button (77)
TWindow::m_set_clip_window (55)
TWindow::m_set_close_button_pressed_callback (87)
TWindow::m_set_default_button (77)
TWindow::m_set_focus (55)
TWindow::m_set_focus_to_last_element (55)
TWindow::m_set_inactive_attr (55)
TWindow::m_set_info_message (77)
TWindow::m_set_inverse_attr (55)
TWindow::m_set_inverse_bright_attr (55)
TWindow::m_set_inverse_inactive_attr (55)
TWindow::m_set_normal_attr (55)
TWindow::m_set_pos (77)
TWindow::m_set_short_cut_handler (77)
TWindow::m_set_title_attr (77)
TWindow::m_text_attr (55)
TWindow::TWindow (379)

 U 

UnhideScreen (20)

 V 

VerticalShadow (47)
Video beam Functions (388)
Vocabulary Functions (41)

 W 

WaitKeyRelease (44)
WaitLeftClickOrKeyPressed (44)
WaitMouseLeftButtonRelease (21)
WaitRetrace (388)
What's new in JPTUI (389)
Window Definitions (06)
Windows Functions (106)

 Y 

YES_BUTTON (02)



 (01) 	-> String Datatypes
 (02) 	-> MessageBox Definitions
 (03) 	-> Error Functions
 (04) 	-> TTextZone Access Methods
 (05) 	-> Sound Definitions
 (06) 	-> Window Definitions
 (07) 	-> Application Macros
 (08) 	-> What are all these files
 (09) 	-> TList Structures
 (10) 	-> TMenu Structures
 (11) 	-> About the Author
 (12) 	-> Boolean Definitions
 (13) 	-> Technical Information
 (14) 	-> Caption Functions
 (15) 	-> Special Character Definitions
 (16) 	-> Keyboard Structures
 (17) 	-> Character set Functions
 (18) 	-> Character set Macros
 (19) 	-> Classes
 (20) 	-> Screen Functions
 (21) 	-> Mouse Functions
 (22) 	-> What to do if you want to contribute
 (23) 	-> Conversion Functions
 (24) 	-> Copyright
 (25) 	-> Credits
 (26) 	-> Cursor Definitions
 (27) 	-> Cursor Functions
 (28) 	-> Data file Functions
 (29) 	-> Datatype Definitions
 (30) 	-> Datatypes
 (31) 	-> Debug Macros
 (32) 	-> How to debug
 (33) 	-> Dialog Functions
 (34) 	-> File Functions
 (35) 	-> Language Definitions
 (36) 	-> EditZone Definitions
 (37) 	-> FAQ
 (38) 	-> File Definitions
 (39) 	-> TFileListBox Enumerations
 (40) 	-> Screen Definitions
 (41) 	-> Vocabulary Functions
 (42) 	-> Functions and Macros
 (43) 	-> Gauge Definitions
 (44) 	-> Keyboard Functions
 (45) 	-> Text Functions
 (46) 	-> Global Variables
 (47) 	-> Shadow Functions
 (48) 	-> InputBox Definitions
 (49) 	-> An introduction to JPTUI
 (50) 	-> Keycode Definitions
 (51) 	-> How to get the latest version of JPTUI
 (52) 	-> Mouse Definitions
 (53) 	-> TList Attribute Definitions
 (54) 	-> List Definitions
 (55) 	-> TWindow Special
 (56) 	-> TSimpleList Special
 (57) 	-> TMenu Special
 (58) 	-> TList Special
 (59) 	-> TApplication Callbacks
 (60) 	-> TObject Access Methods
 (61) 	-> TRadioButton Special
 (62) 	-> TCheckBox Special
 (63) 	-> TTextZone Special
 (64) 	-> TEditZone Special
 (65) 	-> TObject Callbacks
 (66) 	-> TMenuBar Access Methods
 (67) 	-> TMenu Access Methods
 (68) 	-> TComboBox Access Methods
 (69) 	-> THelpWindow Special
 (70) 	-> TApplication Special
 (71) 	-> TApplication Access Methods
 (72) 	-> TApplication Static Methods
 (73) 	-> TFileListBox Access Methods
 (74) 	-> TList Access Methods
 (75) 	-> TGroup Access Methods
 (76) 	-> TGroup Special
 (77) 	-> TWindow Access Methods
 (78) 	-> TScrollBar Access Methods
 (79) 	-> TIntegerEditZone Access Methods
 (80) 	-> TGauge Access Methods
 (81) 	-> TDecimalEditZone Access Methods
 (82) 	-> TLabel Access Methods
 (83) 	-> TCheckBox Access Methods
 (84) 	-> TPushButton Special
 (85) 	-> TFileListBox Special
 (86) 	-> TCheckBox Callbacks
 (87) 	-> TWindow Callbacks
 (88) 	-> TEditZone Access Methods
 (89) 	-> TTextZone Callbacks
 (90) 	-> TFileListBox Callbacks
 (91) 	-> TTabGroup Special
 (92) 	-> TObject Special
 (93) 	-> TList Callbacks
 (94) 	-> TMenu Callbacks
 (95) 	-> TPushButton Callbacks
 (96) 	-> TEditZone Callbacks
 (97) 	-> TComboBox Callbacks
 (98) 	-> TScrollBar Callbacks
 (99) 	-> TTab Special
 (100) 	-> TTab Callbacks
 (101) 	-> MIN and MAX Macros
 (102) 	-> Object Type Definitions
 (103) 	-> PushButton Type Definitions
 (104) 	-> Sound Functions
 (105) 	-> Preprocessor Symbols
 (106) 	-> Windows Functions
 (107) 	-> Shadow Definitions
 (108) 	-> ScrollBar Definitions
 (109) 	-> Shortcut Definitions
 (110) 	-> Structures
 (111) 	-> TApplication Instanciation
 (112) 	-> TApplication Base Classes
 (113) 	-> TApplication
 (114) 	-> TApplication Data
 (115) 	-> TApplication Derived Classes
 (116) 	-> TApplication Description
 (117) 	-> TApplication Enumerations
 (118) 	-> TApplication Notes
 (119) 	-> TCheckBox Instanciation
 (120) 	-> TCheckBox Base Classes
 (121) 	-> TCheckBox
 (122) 	-> TCheckBox Data
 (123) 	-> TCheckBox Derived Classes
 (124) 	-> TCheckBox Description
 (125) 	-> TCheckBox Enumerations
 (126) 	-> TCheckBox Notes
 (127) 	-> TCheckBox Static Methods
 (128) 	-> TComboBox Instanciation
 (129) 	-> TComboBox Base Classes
 (130) 	-> TComboBox
 (131) 	-> TComboBox Data
 (132) 	-> TComboBox Derived Classes
 (133) 	-> TComboBox Description
 (134) 	-> TComboBox Enumerations
 (135) 	-> TComboBox Notes
 (136) 	-> TComboBox Special
 (137) 	-> TComboBox Static Methods
 (138) 	-> TDecimalEditZone Instanciation
 (139) 	-> TDecimalEditZone Base Classes
 (140) 	-> TDecimalEditZone Callbacks
 (141) 	-> TDecimalEditZone
 (142) 	-> TDecimalEditZone Data
 (143) 	-> TDecimalEditZone Derived Classes
 (144) 	-> TDecimalEditZone Description
 (145) 	-> TDecimalEditZone Enumerations
 (146) 	-> TDecimalEditZone Notes
 (147) 	-> TDecimalEditZone Special
 (148) 	-> TDecimalEditZone Static Methods
 (149) 	-> TEditZone Instanciation
 (150) 	-> TEditZone Base Classes
 (151) 	-> TEditZone
 (152) 	-> TEditZone Data
 (153) 	-> TEditZone Derived Classes
 (154) 	-> TEditZone Description
 (155) 	-> TEditZone Enumerations
 (156) 	-> TEditZone Notes
 (157) 	-> TEditZone Static Methods
 (158) 	-> TextZone Definitions
 (159) 	-> TFileListBox Instanciation
 (160) 	-> TFileListBox Base Classes
 (161) 	-> TFileListBox
 (162) 	-> TFileListBox Data
 (163) 	-> TFileListBox Derived Classes
 (164) 	-> TFileListBox Description
 (165) 	-> TFileListBox Notes
 (166) 	-> TFileListBox Static Methods
 (167) 	-> TFrame Instanciation
 (168) 	-> TFrame Access Methods
 (169) 	-> TFrame Base Classes
 (170) 	-> TFrame Callbacks
 (171) 	-> TFrame
 (172) 	-> TFrame Data
 (173) 	-> TFrame Derived Classes
 (174) 	-> TFrame Description
 (175) 	-> TFrame Enumerations
 (176) 	-> TFrame Notes
 (177) 	-> TFrame Special
 (178) 	-> TFrame Static Methods
 (179) 	-> TGauge Instanciation
 (180) 	-> TGauge Base Classes
 (181) 	-> TGauge Callbacks
 (182) 	-> TGauge
 (183) 	-> TGauge Data
 (184) 	-> TGauge Derived Classes
 (185) 	-> TGauge Description
 (186) 	-> TGauge Enumerations
 (187) 	-> TGauge Notes
 (188) 	-> TGauge Special
 (189) 	-> TGauge Static Methods
 (190) 	-> TGroup Instanciation
 (191) 	-> TGroup Base Classes
 (192) 	-> TGroup Callbacks
 (193) 	-> TGroup
 (194) 	-> TGroup Data
 (195) 	-> TGroup Derived Classes
 (196) 	-> TGroup Description
 (197) 	-> TGroup Enumerations
 (198) 	-> TGroup Notes
 (199) 	-> TGroup Static Methods
 (200) 	-> THelpWindow Instanciation
 (201) 	-> THelpWindow Access Methods
 (202) 	-> THelpWindow Base Classes
 (203) 	-> THelpWindow Callbacks
 (204) 	-> THelpWindow
 (205) 	-> THelpWindow Data
 (206) 	-> THelpWindow Derived Classes
 (207) 	-> THelpWindow Description
 (208) 	-> THelpWindow Enumerations
 (209) 	-> THelpWindow Notes
 (210) 	-> THelpWindow Static Methods
 (211) 	-> TIntegerEditZone Instanciation
 (212) 	-> TIntegerEditZone Base Classes
 (213) 	-> TIntegerEditZone Callbacks
 (214) 	-> TIntegerEditZone
 (215) 	-> TIntegerEditZone Data
 (216) 	-> TIntegerEditZone Derived Classes
 (217) 	-> TIntegerEditZone Description
 (218) 	-> TIntegerEditZone Enumerations
 (219) 	-> TIntegerEditZone Notes
 (220) 	-> TIntegerEditZone Special
 (221) 	-> TIntegerEditZone Static Methods
 (222) 	-> TLabel Instanciation
 (223) 	-> TLabel Base Classes
 (224) 	-> TLabel Callbacks
 (225) 	-> TLabel
 (226) 	-> TLabel Data
 (227) 	-> TLabel Derived Classes
 (228) 	-> TLabel Description
 (229) 	-> TLabel Enumerations
 (230) 	-> TLabel Notes
 (231) 	-> TLabel Special
 (232) 	-> TLabel Static Methods
 (233) 	-> TList Instanciation
 (234) 	-> TList Base Classes
 (235) 	-> TList
 (236) 	-> TList Data
 (237) 	-> TList Derived Classes
 (238) 	-> TList Description
 (239) 	-> TList Enumerations
 (240) 	-> TList Notes
 (241) 	-> TList Static Methods
 (242) 	-> TListBox Instanciation
 (243) 	-> TListBox Access Methods
 (244) 	-> TListBox Base Classes
 (245) 	-> TListBox Callbacks
 (246) 	-> TListBox
 (247) 	-> TListBox Data
 (248) 	-> TListBox Derived Classes
 (249) 	-> TListBox Description
 (250) 	-> TListBox Enumerations
 (251) 	-> TListBox Notes
 (252) 	-> TListBox Special
 (253) 	-> TListBox Static Methods
 (254) 	-> TMenu Instanciation
 (255) 	-> TMenu Base Classes
 (256) 	-> TMenu
 (257) 	-> TMenu Data
 (258) 	-> TMenu Derived Classes
 (259) 	-> TMenu Description
 (260) 	-> TMenu Enumerations
 (261) 	-> TMenu Notes
 (262) 	-> TMenu Static Methods
 (263) 	-> TMenuBar Instanciation
 (264) 	-> TMenuBar Base Classes
 (265) 	-> TMenuBar Callbacks
 (266) 	-> TMenuBar
 (267) 	-> TMenuBar Data
 (268) 	-> TMenuBar Derived Classes
 (269) 	-> TMenuBar Description
 (270) 	-> TMenuBar Enumerations
 (271) 	-> TMenuBar Notes
 (272) 	-> TMenuBar Special
 (273) 	-> TMenuBar Static Methods
 (274) 	-> TObject Instanciation
 (275) 	-> TObject Base Classes
 (276) 	-> TObject
 (277) 	-> TObject Data
 (278) 	-> TObject Derived Classes
 (279) 	-> TObject Description
 (280) 	-> TObject Enumerations
 (281) 	-> TObject Notes
 (282) 	-> TObject Static Methods
 (283) 	-> TPasswordEditZone Instanciation
 (284) 	-> TPasswordEditZone Access Methods
 (285) 	-> TPasswordEditZone Base Classes
 (286) 	-> TPasswordEditZone Callbacks
 (287) 	-> TPasswordEditZone
 (288) 	-> TPasswordEditZone Data
 (289) 	-> TPasswordEditZone Derived Classes
 (290) 	-> TPasswordEditZone Description
 (291) 	-> TPasswordEditZone Enumerations
 (292) 	-> TPasswordEditZone Notes
 (293) 	-> TPasswordEditZone Special
 (294) 	-> TPasswordEditZone Static Methods
 (295) 	-> TPushButton Instanciation
 (296) 	-> TPushButton Access Methods
 (297) 	-> TPushButton Base Classes
 (298) 	-> TPushButton
 (299) 	-> TPushButton Data
 (300) 	-> TPushButton Derived Classes
 (301) 	-> TPushButton Description
 (302) 	-> TPushButton Enumerations
 (303) 	-> TPushButton Notes
 (304) 	-> TPushButton Static Methods
 (305) 	-> TRadioButton Instanciation
 (306) 	-> TRadioButton Access Methods
 (307) 	-> TRadioButton Base Classes
 (308) 	-> TRadioButton Callbacks
 (309) 	-> TRadioButton
 (310) 	-> TRadioButton Data
 (311) 	-> TRadioButton Derived Classes
 (312) 	-> TRadioButton Description
 (313) 	-> TRadioButton Enumerations
 (314) 	-> TRadioButton Notes
 (315) 	-> TRadioButton Static Methods
 (316) 	-> TRadioGroup Instanciation
 (317) 	-> TRadioGroup Access Methods
 (318) 	-> TRadioGroup Base Classes
 (319) 	-> TRadioGroup Callbacks
 (320) 	-> TRadioGroup
 (321) 	-> TRadioGroup Data
 (322) 	-> TRadioGroup Derived Classes
 (323) 	-> TRadioGroup Description
 (324) 	-> TRadioGroup Enumerations
 (325) 	-> TRadioGroup Notes
 (326) 	-> TRadioGroup Special
 (327) 	-> TRadioGroup Static Methods
 (328) 	-> TScrollBar Instanciation
 (329) 	-> TScrollBar Base Classes
 (330) 	-> TScrollBar
 (331) 	-> TScrollBar Data
 (332) 	-> TScrollBar Derived Classes
 (333) 	-> TScrollBar Description
 (334) 	-> TScrollBar Enumerations
 (335) 	-> TScrollBar Notes
 (336) 	-> TScrollBar Special
 (337) 	-> TScrollBar Static Methods
 (338) 	-> TSimpleList Instanciation
 (339) 	-> TSimpleList Access Methods
 (340) 	-> TSimpleList Base Classes
 (341) 	-> TSimpleList Callbacks
 (342) 	-> TSimpleList
 (343) 	-> TSimpleList Data
 (344) 	-> TSimpleList Derived Classes
 (345) 	-> TSimpleList Description
 (346) 	-> TSimpleList Enumerations
 (347) 	-> TSimpleList Notes
 (348) 	-> TSimpleList Static Methods
 (349) 	-> TTab Instanciation
 (350) 	-> TTab Access Methods
 (351) 	-> TTab Base Classes
 (352) 	-> TTab
 (353) 	-> TTab Data
 (354) 	-> TTab Derived Classes
 (355) 	-> TTab Description
 (356) 	-> TTab Enumerations
 (357) 	-> TTab Notes
 (358) 	-> TTab Static Methods
 (359) 	-> TTabGroup Instanciation
 (360) 	-> TTabGroup Access Methods
 (361) 	-> TTabGroup Base Classes
 (362) 	-> TTabGroup Callbacks
 (363) 	-> TTabGroup
 (364) 	-> TTabGroup Data
 (365) 	-> TTabGroup Derived Classes
 (366) 	-> TTabGroup Description
 (367) 	-> TTabGroup Enumerations
 (368) 	-> TTabGroup Notes
 (369) 	-> TTabGroup Static Methods
 (370) 	-> TTextZone Instanciation
 (371) 	-> TTextZone Base Classes
 (372) 	-> TTextZone
 (373) 	-> TTextZone Data
 (374) 	-> TTextZone Derived Classes
 (375) 	-> TTextZone Description
 (376) 	-> TTextZone Enumerations
 (377) 	-> TTextZone Notes
 (378) 	-> TTextZone Static Methods
 (379) 	-> TWindow Instanciation
 (380) 	-> TWindow Base Classes
 (381) 	-> TWindow
 (382) 	-> TWindow Data
 (383) 	-> TWindow Derived Classes
 (384) 	-> TWindow Description
 (385) 	-> TWindow Enumerations
 (386) 	-> TWindow Notes
 (387) 	-> TWindow Static Methods
 (388) 	-> Video beam Functions
 (389) 	-> What's new in JPTUI

