What's new in JPTUI
~~~~~~~~~~~~~~~~~~~

ͻ
 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 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_pos_changed_callback
                    cursor_line_changed_callback
      . TObject   : m_opened_callback
                    m_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 you
      close them
    - 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-95) 
ͼ

  First version, not publicly released
