This is Info file jptui.info, produced by Makeinfo version 1.68 from the
input file jptui.txi.

INFO-DIR-SECTION Libraries
START-INFO-DIR-ENTRY
* JPTUI: (jptui).
        Jean-Pierre Delprat's Textmode User Interface library.
END-INFO-DIR-ENTRY


File: jptui.info,  Node: TEditZone Callbacks,  Next: TEditZone Special,  Prev: TEditZone Access Methods,  Up: TEditZone

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


File: jptui.info,  Node: TEditZone Special,  Next: TEditZone Notes,  Prev: TEditZone Callbacks,  Up: TEditZone

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


File: jptui.info,  Node: TEditZone Notes,  Next: TFileListBox Description,  Prev: TEditZone Special,  Up: TEditZone

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.


File: jptui.info,  Node: TFileListBox Description,  Next: TFileListBox Base Classes,  Prev: TEditZone Notes,  Up: TFileListBox

TFileListBox Description
========================

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


File: jptui.info,  Node: TFileListBox Base Classes,  Next: TFileListBox Derived Classes,  Prev: TFileListBox Description,  Up: TFileListBox

TFileListBox Base Classes
=========================

* Menu:

* TListBox::


File: jptui.info,  Node: TFileListBox Derived Classes,  Next: TFileListBox Enumerations,  Prev: TFileListBox Base Classes,  Up: TFileListBox

TFileListBox Derived Classes
============================

 None.


File: jptui.info,  Node: TFileListBox Enumerations,  Next: TFileListBox Data,  Prev: TFileListBox Derived Classes,  Up: TFileListBox

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.


File: jptui.info,  Node: TFileListBox Data,  Next: TFileListBox Instanciation,  Prev: TFileListBox Enumerations,  Up: TFileListBox

TFileListBox Data
=================

 None.


File: jptui.info,  Node: TFileListBox Instanciation,  Next: TFileListBox Static Methods,  Prev: TFileListBox Data,  Up: TFileListBox

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.


File: jptui.info,  Node: TFileListBox Static Methods,  Next: TFileListBox Access Methods,  Prev: TFileListBox Instanciation,  Up: TFileListBox

TFileListBox Static Methods
===========================

 None.


File: jptui.info,  Node: TFileListBox Access Methods,  Next: TFileListBox Callbacks,  Prev: TFileListBox Static Methods,  Up: TFileListBox

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.


File: jptui.info,  Node: TFileListBox Callbacks,  Next: TFileListBox Special,  Prev: TFileListBox Access Methods,  Up: TFileListBox

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


File: jptui.info,  Node: TFileListBox Special,  Next: TFileListBox Notes,  Prev: TFileListBox Callbacks,  Up: TFileListBox

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 (*note TFileListBox Enumerations::.)
  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.


File: jptui.info,  Node: TFileListBox Notes,  Next: TFrame Description,  Prev: TFileListBox Special,  Up: TFileListBox

TFileListBox Notes
==================

 None.


File: jptui.info,  Node: TFrame Description,  Next: TFrame Base Classes,  Prev: TFileListBox Notes,  Up: TFrame

TFrame Description
==================

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


File: jptui.info,  Node: TFrame Base Classes,  Next: TFrame Derived Classes,  Prev: TFrame Description,  Up: TFrame

TFrame Base Classes
===================

* Menu:

* TGroup::


File: jptui.info,  Node: TFrame Derived Classes,  Next: TFrame Enumerations,  Prev: TFrame Base Classes,  Up: TFrame

TFrame Derived Classes
======================

 None.


File: jptui.info,  Node: TFrame Enumerations,  Next: TFrame Data,  Prev: TFrame Derived Classes,  Up: TFrame

TFrame Enumerations
===================

 None.


File: jptui.info,  Node: TFrame Data,  Next: TFrame Instanciation,  Prev: TFrame Enumerations,  Up: TFrame

TFrame Data
===========

 None.


File: jptui.info,  Node: TFrame Instanciation,  Next: TFrame Static Methods,  Prev: TFrame Data,  Up: TFrame

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 (*note TObject Instanciation::.).


File: jptui.info,  Node: TFrame Static Methods,  Next: TFrame Access Methods,  Prev: TFrame Instanciation,  Up: TFrame

TFrame Static Methods
=====================

 None.


File: jptui.info,  Node: TFrame Access Methods,  Next: TFrame Callbacks,  Prev: TFrame Static Methods,  Up: TFrame

TFrame Access Methods
=====================

 None.


File: jptui.info,  Node: TFrame Callbacks,  Next: TFrame Special,  Prev: TFrame Access Methods,  Up: TFrame

TFrame Callbacks
================

 None.


File: jptui.info,  Node: TFrame Special,  Next: TFrame Notes,  Prev: TFrame Callbacks,  Up: TFrame

TFrame Special
==============

 None.


File: jptui.info,  Node: TFrame Notes,  Next: TGauge Description,  Prev: TFrame Special,  Up: TFrame

TFrame Notes
============

 None.


File: jptui.info,  Node: TGauge Description,  Next: TGauge Base Classes,  Prev: TFrame Notes,  Up: TGauge

TGauge Description
==================

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


File: jptui.info,  Node: TGauge Base Classes,  Next: TGauge Derived Classes,  Prev: TGauge Description,  Up: TGauge

TGauge Base Classes
===================

* Menu:

* TObject::


File: jptui.info,  Node: TGauge Derived Classes,  Next: TGauge Enumerations,  Prev: TGauge Base Classes,  Up: TGauge

TGauge Derived Classes
======================

 None.


File: jptui.info,  Node: TGauge Enumerations,  Next: TGauge Data,  Prev: TGauge Derived Classes,  Up: TGauge

TGauge Enumerations
===================

 None.


File: jptui.info,  Node: TGauge Data,  Next: TGauge Instanciation,  Prev: TGauge Enumerations,  Up: TGauge

TGauge Data
===========

 None.


File: jptui.info,  Node: TGauge Instanciation,  Next: TGauge Static Methods,  Prev: TGauge Data,  Up: TGauge

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 (*note Gauge Definitions::.), and 'max_value' is the maximum
  value that should be represented on the gauge --- if you aren't using
  a percentage-style gauge, then this should be the total number of
  stages you need to complete (for example, if you are copying files, it
  could be the number of files, or the total number of bytes).


File: jptui.info,  Node: TGauge Static Methods,  Next: TGauge Access Methods,  Prev: TGauge Instanciation,  Up: TGauge

TGauge Static Methods
=====================

 None.


File: jptui.info,  Node: TGauge Access Methods,  Next: TGauge Callbacks,  Prev: TGauge Static Methods,  Up: TGauge

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.


File: jptui.info,  Node: TGauge Callbacks,  Next: TGauge Special,  Prev: TGauge Access Methods,  Up: TGauge

TGauge Callbacks
================

 None.


File: jptui.info,  Node: TGauge Special,  Next: TGauge Notes,  Prev: TGauge Callbacks,  Up: TGauge

TGauge Special
==============

 None.


File: jptui.info,  Node: TGauge Notes,  Next: TGroup Description,  Prev: TGauge Special,  Up: TGauge

TGauge Notes
============

 None.


File: jptui.info,  Node: TGroup Description,  Next: TGroup Base Classes,  Prev: TGauge Notes,  Up: TGroup

TGroup Description
==================

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


File: jptui.info,  Node: TGroup Base Classes,  Next: TGroup Derived Classes,  Prev: TGroup Description,  Up: TGroup

TGroup Base Classes
===================

* Menu:

* TObject::


File: jptui.info,  Node: TGroup Derived Classes,  Next: TGroup Enumerations,  Prev: TGroup Base Classes,  Up: TGroup

TGroup Derived Classes
======================

* Menu:

* TFrame::
* TTab::
* TTabGroup::
* TWindow::


File: jptui.info,  Node: TGroup Enumerations,  Next: TGroup Data,  Prev: TGroup Derived Classes,  Up: TGroup

TGroup Enumerations
===================

 None.


File: jptui.info,  Node: TGroup Data,  Next: TGroup Instanciation,  Prev: TGroup Enumerations,  Up: TGroup

TGroup Data
===========

 None.


File: jptui.info,  Node: TGroup Instanciation,  Next: TGroup Static Methods,  Prev: TGroup Data,  Up: TGroup

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


File: jptui.info,  Node: TGroup Static Methods,  Next: TGroup Access Methods,  Prev: TGroup Instanciation,  Up: TGroup

TGroup Static Methods
=====================

 None.


File: jptui.info,  Node: TGroup Access Methods,  Next: TGroup Callbacks,  Prev: TGroup Static Methods,  Up: TGroup

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 (*note TGroup Instanciation::.). If you need a pointer to the base
  object (simple or composed object) which currently has the focus, use
  'm_get_focused_object' (*note TGroup Special::.) instead.


File: jptui.info,  Node: TGroup Callbacks,  Next: TGroup Special,  Prev: TGroup Access Methods,  Up: TGroup

TGroup Callbacks
================

 None.


File: jptui.info,  Node: TGroup Special,  Next: TGroup Notes,  Prev: TGroup Callbacks,  Up: TGroup

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' (*note TGroup Access Methods::.), this function only returns
  a pointer to base objects (simple or composed objects), not a pointer
  to a group of objects.


File: jptui.info,  Node: TGroup Notes,  Next: THelpWindow Description,  Prev: TGroup Special,  Up: TGroup

TGroup Notes
============

 None.


File: jptui.info,  Node: THelpWindow Description,  Next: THelpWindow Base Classes,  Prev: TGroup Notes,  Up: THelpWindow

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.


File: jptui.info,  Node: THelpWindow Base Classes,  Next: THelpWindow Derived Classes,  Prev: THelpWindow Description,  Up: THelpWindow

THelpWindow Base Classes
========================

* Menu:

* TWindow::


File: jptui.info,  Node: THelpWindow Derived Classes,  Next: THelpWindow Enumerations,  Prev: THelpWindow Base Classes,  Up: THelpWindow

THelpWindow Derived Classes
===========================

 None.


File: jptui.info,  Node: THelpWindow Enumerations,  Next: THelpWindow Data,  Prev: THelpWindow Derived Classes,  Up: THelpWindow

THelpWindow Enumerations
========================

 None.


File: jptui.info,  Node: THelpWindow Data,  Next: THelpWindow Instanciation,  Prev: THelpWindow Enumerations,  Up: THelpWindow

THelpWindow Data
================

 None.


File: jptui.info,  Node: THelpWindow Instanciation,  Next: THelpWindow Static Methods,  Prev: THelpWindow Data,  Up: THelpWindow

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 (*note TWindow Instanciation::.) for details on them.


File: jptui.info,  Node: THelpWindow Static Methods,  Next: THelpWindow Access Methods,  Prev: THelpWindow Instanciation,  Up: THelpWindow

THelpWindow Static Methods
==========================

 None.


File: jptui.info,  Node: THelpWindow Access Methods,  Next: THelpWindow Callbacks,  Prev: THelpWindow Static Methods,  Up: THelpWindow

THelpWindow Access Methods
==========================

 None.


File: jptui.info,  Node: THelpWindow Callbacks,  Next: THelpWindow Special,  Prev: THelpWindow Access Methods,  Up: THelpWindow

THelpWindow Callbacks
=====================

 None.


File: jptui.info,  Node: THelpWindow Special,  Next: THelpWindow Notes,  Prev: THelpWindow Callbacks,  Up: THelpWindow

THelpWindow Special
===================


+ boolean THelpWindow::m_load_help_file (
    char *file_name)

  Loads the help file 'file_name' into memory (cf
   (*note THelpWindow Description::.)), 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 (*note THelpWindow Description::.)),
  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..


File: jptui.info,  Node: THelpWindow Notes,  Next: TIntegerEditZone Description,  Prev: THelpWindow Special,  Up: THelpWindow

THelpWindow Notes
=================

 THelpWindows have the following special keys...


+ ESC

  Will press the help window.


File: jptui.info,  Node: TIntegerEditZone Description,  Next: TIntegerEditZone Base Classes,  Prev: THelpWindow Notes,  Up: TIntegerEditZone

TIntegerEditZone Description
============================

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


File: jptui.info,  Node: TIntegerEditZone Base Classes,  Next: TIntegerEditZone Derived Classes,  Prev: TIntegerEditZone Description,  Up: TIntegerEditZone

TIntegerEditZone Base Classes
=============================

* Menu:

* TEditZone::


File: jptui.info,  Node: TIntegerEditZone Derived Classes,  Next: TIntegerEditZone Enumerations,  Prev: TIntegerEditZone Base Classes,  Up: TIntegerEditZone

TIntegerEditZone Derived Classes
================================

 None.


File: jptui.info,  Node: TIntegerEditZone Enumerations,  Next: TIntegerEditZone Data,  Prev: TIntegerEditZone Derived Classes,  Up: TIntegerEditZone

TIntegerEditZone Enumerations
=============================

 None.


File: jptui.info,  Node: TIntegerEditZone Data,  Next: TIntegerEditZone Instanciation,  Prev: TIntegerEditZone Enumerations,  Up: TIntegerEditZone

TIntegerEditZone Data
=====================

 None.


File: jptui.info,  Node: TIntegerEditZone Instanciation,  Next: TIntegerEditZone Static Methods,  Prev: TIntegerEditZone Data,  Up: TIntegerEditZone

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 (*note TEditZone Instanciation::.)TObject constructor (*note TObject Instanciation::.), 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'.


File: jptui.info,  Node: TIntegerEditZone Static Methods,  Next: TIntegerEditZone Access Methods,  Prev: TIntegerEditZone Instanciation,  Up: TIntegerEditZone

TIntegerEditZone Static Methods
===============================

 None.


File: jptui.info,  Node: TIntegerEditZone Access Methods,  Next: TIntegerEditZone Callbacks,  Prev: TIntegerEditZone Static Methods,  Up: TIntegerEditZone

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
  (*note TIntegerEditZone Instanciation::.).

+ long TIntegerEditZone::m_get_min_value ()

  Returns the minimum value that the user can enter
  (*note TIntegerEditZone Instanciation::.).

+ long TIntegerEditZone::m_get_max_value ()

  Returns the maximum value that the user can enter
  (*note TIntegerEditZone Instanciation::.).


File: jptui.info,  Node: TIntegerEditZone Callbacks,  Next: TIntegerEditZone Special,  Prev: TIntegerEditZone Access Methods,  Up: TIntegerEditZone

TIntegerEditZone Callbacks
==========================

 None.


File: jptui.info,  Node: TIntegerEditZone Special,  Next: TIntegerEditZone Notes,  Prev: TIntegerEditZone Callbacks,  Up: TIntegerEditZone

TIntegerEditZone Special
========================

 None.


File: jptui.info,  Node: TIntegerEditZone Notes,  Next: TLabel Description,  Prev: TIntegerEditZone Special,  Up: TIntegerEditZone

TIntegerEditZone Notes
======================

 None.


File: jptui.info,  Node: TLabel Description,  Next: TLabel Base Classes,  Prev: TIntegerEditZone Notes,  Up: TLabel

TLabel Description
==================

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


File: jptui.info,  Node: TLabel Base Classes,  Next: TLabel Derived Classes,  Prev: TLabel Description,  Up: TLabel

TLabel Base Classes
===================

* Menu:

* TObject::


File: jptui.info,  Node: TLabel Derived Classes,  Next: TLabel Enumerations,  Prev: TLabel Base Classes,  Up: TLabel

TLabel Derived Classes
======================

 None.


File: jptui.info,  Node: TLabel Enumerations,  Next: TLabel Data,  Prev: TLabel Derived Classes,  Up: TLabel

TLabel Enumerations
===================

 None.


File: jptui.info,  Node: TLabel Data,  Next: TLabel Instanciation,  Prev: TLabel Enumerations,  Up: TLabel

TLabel Data
===========

 None.


File: jptui.info,  Node: TLabel Instanciation,  Next: TLabel Static Methods,  Prev: TLabel Data,  Up: TLabel

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 (*note TObject Instanciation::.)'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 (*note String Datatypes::.).


File: jptui.info,  Node: TLabel Static Methods,  Next: TLabel Access Methods,  Prev: TLabel Instanciation,  Up: TLabel

TLabel Static Methods
=====================

 None.


File: jptui.info,  Node: TLabel Access Methods,  Next: TLabel Callbacks,  Prev: TLabel Static Methods,  Up: TLabel

TLabel Access Methods
=====================


+ void TLabel::m_set_text (
    char* text)

  Changes the label's text to 'text'.

  'text' has a special string format (*note String Datatypes::.).

+ char *TLabel::m_get_text ()

  Returns the label's text.

  'text' has a special string format (*note String Datatypes::.).


File: jptui.info,  Node: TLabel Callbacks,  Next: TLabel Special,  Prev: TLabel Access Methods,  Up: TLabel

TLabel Callbacks
================

 None.


File: jptui.info,  Node: TLabel Special,  Next: TLabel Notes,  Prev: TLabel Callbacks,  Up: TLabel

TLabel Special
==============

 None.


File: jptui.info,  Node: TLabel Notes,  Next: TList Description,  Prev: TLabel Special,  Up: TLabel

TLabel Notes
============

 None.


File: jptui.info,  Node: TList Description,  Next: TList Base Classes,  Prev: TLabel Notes,  Up: TList

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.


File: jptui.info,  Node: TList Base Classes,  Next: TList Derived Classes,  Prev: TList Description,  Up: TList

TList Base Classes
==================

* Menu:

* TObject::


File: jptui.info,  Node: TList Derived Classes,  Next: TList Enumerations,  Prev: TList Base Classes,  Up: TList

TList Derived Classes
=====================

* Menu:

* TMenu::
* TSimpleList::


File: jptui.info,  Node: TList Enumerations,  Next: TList Data,  Prev: TList Derived Classes,  Up: TList

TList Enumerations
==================

 None.


File: jptui.info,  Node: TList Data,  Next: TList Instanciation,  Prev: TList Enumerations,  Up: TList

TList Data
==========

 None.


File: jptui.info,  Node: TList Instanciation,  Next: TList Static Methods,  Prev: TList Data,  Up: TList

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
    (*note Object Type Definitions::.).

  > 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 (*note TWindow::.).

  > caption

    The caption to use (*note TObject Instanciation::.).

  > 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 (*note TObject Instanciation::.).

  > enabled

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


File: jptui.info,  Node: TList Static Methods,  Next: TList Access Methods,  Prev: TList Instanciation,  Up: TList

TList Static Methods
====================

 None.


File: jptui.info,  Node: TList Access Methods,  Next: TList Callbacks,  Prev: TList Static Methods,  Up: TList

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.


File: jptui.info,  Node: TList Callbacks,  Next: TList Special,  Prev: TList Access Methods,  Up: TList

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


File: jptui.info,  Node: TList Special,  Next: TList Notes,  Prev: TList Callbacks,  Up: TList

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 (*note TList Instanciation::.) 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).


File: jptui.info,  Node: TList Notes,  Next: TListBox Description,  Prev: TList Special,  Up: TList

TList Notes
===========

 None.


File: jptui.info,  Node: TListBox Description,  Next: TListBox Base Classes,  Prev: TList Notes,  Up: TListBox

TListBox Description
====================

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


File: jptui.info,  Node: TListBox Base Classes,  Next: TListBox Derived Classes,  Prev: TListBox Description,  Up: TListBox

TListBox Base Classes
=====================

* Menu:

* TSimpleList::                                                             .


File: jptui.info,  Node: TListBox Derived Classes,  Next: TListBox Enumerations,  Prev: TListBox Base Classes,  Up: TListBox

TListBox Derived Classes
========================

* Menu:

* TFileListBox::


File: jptui.info,  Node: TListBox Enumerations,  Next: TListBox Data,  Prev: TListBox Derived Classes,  Up: TListBox

TListBox Enumerations
=====================

 None.


File: jptui.info,  Node: TListBox Data,  Next: TListBox Instanciation,  Prev: TListBox Enumerations,  Up: TListBox

TListBox Data
=============

 None.


File: jptui.info,  Node: TListBox Instanciation,  Next: TListBox Static Methods,  Prev: TListBox Data,  Up: TListBox

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 (*note TObject::.).

  > items

    The items to initially add to the list (*note TList Structures::.).

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


File: jptui.info,  Node: TListBox Static Methods,  Next: TListBox Access Methods,  Prev: TListBox Instanciation,  Up: TListBox

TListBox Static Methods
=======================

 None.


File: jptui.info,  Node: TListBox Access Methods,  Next: TListBox Callbacks,  Prev: TListBox Static Methods,  Up: TListBox

TListBox Access Methods
=======================

 None.


File: jptui.info,  Node: TListBox Callbacks,  Next: TListBox Special,  Prev: TListBox Access Methods,  Up: TListBox

TListBox Callbacks
==================

 None.


File: jptui.info,  Node: TListBox Special,  Next: TListBox Notes,  Prev: TListBox Callbacks,  Up: TListBox

TListBox Special
================

 None.


File: jptui.info,  Node: TListBox Notes,  Next: TMenu Description,  Prev: TListBox Special,  Up: TListBox

TListBox Notes
==============

 None.


File: jptui.info,  Node: TMenu Description,  Next: TMenu Base Classes,  Prev: TListBox Notes,  Up: TMenu

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 (*note TMenuBar::.)' class.


File: jptui.info,  Node: TMenu Base Classes,  Next: TMenu Derived Classes,  Prev: TMenu Description,  Up: TMenu

TMenu Base Classes
==================

* Menu:

* TList::


File: jptui.info,  Node: TMenu Derived Classes,  Next: TMenu Enumerations,  Prev: TMenu Base Classes,  Up: TMenu

TMenu Derived Classes
=====================

 None.


File: jptui.info,  Node: TMenu Enumerations,  Next: TMenu Data,  Prev: TMenu Derived Classes,  Up: TMenu

TMenu Enumerations
==================

 None.


File: jptui.info,  Node: TMenu Data,  Next: TMenu Instanciation,  Prev: TMenu Enumerations,  Up: TMenu

TMenu Data
==========

 None.


File: jptui.info,  Node: TMenu Instanciation,  Next: TMenu Static Methods,  Prev: TMenu Data,  Up: TMenu

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 (*note TMenuBar::.) which this menu should be part of.

  > caption

    The menu name (*note TObject Instanciation::.).

  > items

    The list of menuitems (*note TMenu Structures::.).

  > enabled

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


File: jptui.info,  Node: TMenu Static Methods,  Next: TMenu Access Methods,  Prev: TMenu Instanciation,  Up: TMenu

TMenu Static Methods
====================

 None.


File: jptui.info,  Node: TMenu Access Methods,  Next: TMenu Callbacks,  Prev: TMenu Static Methods,  Up: TMenu

TMenu Access Methods
====================


+ void TMenu::m_disable ()

  Disables the menu.


File: jptui.info,  Node: TMenu Callbacks,  Next: TMenu Special,  Prev: TMenu Access Methods,  Up: TMenu

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


File: jptui.info,  Node: TMenu Special,  Next: TMenu Notes,  Prev: TMenu Callbacks,  Up: TMenu

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 (*note TMenu Structures::.).

+ 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 (*note TMenu Structures::.).

+ int TMenu::m_add_items (
    TMenuItem items[])

  Adds the new items 'items' to the menu (*note TMenu Structures::.).
  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.


File: jptui.info,  Node: TMenu Notes,  Next: TMenuBar Description,  Prev: TMenu Special,  Up: TMenu

TMenu Notes
===========

 None.


File: jptui.info,  Node: TMenuBar Description,  Next: TMenuBar Base Classes,  Prev: TMenu Notes,  Up: TMenuBar

TMenuBar Description
====================

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


File: jptui.info,  Node: TMenuBar Base Classes,  Next: TMenuBar Derived Classes,  Prev: TMenuBar Description,  Up: TMenuBar

TMenuBar Base Classes
=====================

* Menu:

* TObject::


File: jptui.info,  Node: TMenuBar Derived Classes,  Next: TMenuBar Enumerations,  Prev: TMenuBar Base Classes,  Up: TMenuBar

TMenuBar Derived Classes
========================


File: jptui.info,  Node: TMenuBar Enumerations,  Next: TMenuBar Data,  Prev: TMenuBar Derived Classes,  Up: TMenuBar

TMenuBar Enumerations
=====================

 None.


File: jptui.info,  Node: TMenuBar Data,  Next: TMenuBar Instanciation,  Prev: TMenuBar Enumerations,  Up: TMenuBar

TMenuBar Data
=============

 None.


File: jptui.info,  Node: TMenuBar Instanciation,  Next: TMenuBar Static Methods,  Prev: TMenuBar Data,  Up: TMenuBar

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.


File: jptui.info,  Node: TMenuBar Static Methods,  Next: TMenuBar Access Methods,  Prev: TMenuBar Instanciation,  Up: TMenuBar

TMenuBar Static Methods
=======================

 None.


File: jptui.info,  Node: TMenuBar Access Methods,  Next: TMenuBar Callbacks,  Prev: TMenuBar Static Methods,  Up: TMenuBar

TMenuBar Access Methods
=======================


+ void TMenuBar::m_enable ()

  Enables the menu bar.

+ void TMenuBar::m_disable ()

  Disables the menu bar.


File: jptui.info,  Node: TMenuBar Callbacks,  Next: TMenuBar Special,  Prev: TMenuBar Access Methods,  Up: TMenuBar

TMenuBar Callbacks
==================

 None.


File: jptui.info,  Node: TMenuBar Special,  Next: TMenuBar Notes,  Prev: TMenuBar Callbacks,  Up: TMenuBar

TMenuBar Special
================

 None.


File: jptui.info,  Node: TMenuBar Notes,  Next: TObject Description,  Prev: TMenuBar Special,  Up: TMenuBar

TMenuBar Notes
==============

 None.


File: jptui.info,  Node: TObject Description,  Next: TObject Base Classes,  Prev: TMenuBar Notes,  Up: TObject

TObject Description
===================

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


File: jptui.info,  Node: TObject Base Classes,  Next: TObject Derived Classes,  Prev: TObject Description,  Up: TObject

TObject Base Classes
====================

 None.


File: jptui.info,  Node: TObject Derived Classes,  Next: TObject Enumerations,  Prev: TObject Base Classes,  Up: TObject

TObject Derived Classes
=======================

 All the objects of the interface (*note Classes::.).

