$Id: History,v 1.125 2010/01/06 14:13:08 lgarnier Exp $
-------------------------------------------------------------------

     =========================================================
     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
     =========================================================

                      Category History file
                      ---------------------
This file should be used by G4 developers and category coordinators
to briefly summarize all major modifications introduced in the code
and keep track of all category-tags.
It DOES NOT substitute the  CVS log-message one should put at every
committal in the CVS repository !

     ----------------------------------------------------------
     * Reverse chronological order (last date on top), please *
     ----------------------------------------------------------

6 January, 2010 L. Garnier
 - G4VBasicShell : improvments for command completion
 - G4Qt : Add a link to G4UIQt
 - G4UIQt : Add tab widgets in order to put Vis in

20 November, 2009 K. Murakami (interfaces-V09-02-07)
 - G4UIExecutive.hh:  no default arguments of the constructor
 - G4UIExecutive.icc: more cleaver way for suppressing compiler warnings

20 November, 2009 J. Allison (interfaces-V09-02-06)
 - G4UIExecutive.icc: Fixed complier warnings for some cases when more
  than one flag is set.

19 November, 2009 J. Allison (interfaces-V09-02-05)
 - Tagged for the release.

18 November, 2009 L. Garnier
 - G4UIQt: Add CTRL+A and CTRL+E to move to begin/end of command line

17 November, 2009 L. Garnier
 - G4VBasicShell: Fix commands strings that match some shorter 
   commands are trimmed and executed as those shorter commands.

5 November, 2009 L. Garnier
 - G4UIQt Fix a problem introduce the 6th October 2009 and cause
   some widget display strange things on qt3

19 October, 2009 L. Garnier
 - basic/GNUMakefile Add optionnal debug flag

6 October, 2009 L. Garnier
 - G4UIQt Fix a problem on macOSX 10.6 with Qt 4.6(preview)
 - Change GEANT4_QT_DEBUG flag for G4DEBUG_INTERFACES_BASIC and 
   G4DEBUG_INTERFACES_COMMON

28 May, 2009 K. Murakami (interfaces-V09-02-03)
 - G4UIExecutive: add  IsGUI() method / add GetSession() method

18 May, 2009 K. Murakami (interfaces-V09-02-02)
 - G4UIExecutive : fixed wrong #ifdef condition
 - include changes by Laurent (7/May)

15 May, 2009 K. Murakami (interfaces-V09-02-01)
 - G4UIExecutive : Remove batch mode handling

13 May, 2009 K. Murakami (interfaces-V09-02-00)
 - G4UIExecutive : Add new class for automatic instantiation of user session
 - G4VUIshell : Add SetLsColor()

7, May, 2009 L. Garnier
 - G4UIQt.cc : Fix Compilation warning 
 - G4VBasicShell.cc : Better command completion in command Line 

31, March, 2009 L.Garnier
 - Fix a compilation warning in G4Qt.cc

16 February 2009, Laurent Garnier
 - G4UIQt : Add an Interactor to be able to add button on file and help menu
 - G4UIQt : Add a public method to get the MainWindow

27, November, 2008 K. Murakami (interfaces-V09-01-04)
 - G4UIQt.cc: warning fix

21, November, 2008 K. Murakami (interfaces-V09-01-03)
 -tagged for release 9.2

14 November, 2008 Laurent Garnier
 - G4UIXm,G4Win32 : Renaming according to Geant4 code policy

6 November, 2008 Laurent Garnier
 - G4Qt : Re-fix problem on some linux with QApplication, should be better
 - G4Qt : Add availabity to launch a G4Qt without a G4UIQt

24 October, 2008 Laurent Garnier
 - Change GEANT4_QT_DEBUG flag by QTDEBUG
 - Suppress unuseful DEBUG messages

15 October, 2008 Laurent Garnier
 - Fix a problem on some linux with QApplication. But this is NOT the good way to do it...
 - Fix a qt3 backward compatibility on G4UIQt.cc

7 October, 2008 Laurent Garnier
 - Fix a G4cout possible problem cause by recursive G4cout call.

2 October, 2008 Laurent Garnier
 - Add availability to have a external Qapp

22 July, 2008 K.Murakami (interfaces-V09-01-02)
 - tagged
 - direct exit calls are replaced with G4Exception/another way of exit
   G4UIGainServer.cc, G4UIterminal.cc : call G4Exception
   G4UItcsh.cc : nomal exit instead of direct calling exit()

14 June, 2008 K.Murakami (interfaces-V09-01-01)
 - tagged

30th April, Laurent Garnier
 - Include moc config in GNUmakefile

10th March, Laurent Garnier
 - Improvments for layout in Qt driver for Qt3

30th January 2007, Laurent Garnier
 - Add a search area in the help widget

15th January 2007, Laurent Garnier
 - Fixed some layout problems
 - GNUmakefile : Added a macro for moc file
 - Moc files : Suppression of all theses files. They are now autogenerated 
   thanks to config/common.gmk

15 January 2007, Koichi Murakami (interfaces-V09-01-00)
 - G4UItcsh.cc: fixed the problem with Ctl-D termination for bash users.

30 November 2007, Laurent Garnier
 - G4UIQt : Some improvements for Qt3, corrections of some bugs
 - G4UIQt_moc.cc : Adding other versions for QT_MOC_REVISION 28,58 and
   59, but this is not the right solution..
 - GAG/Makefile : Suppression of linking on a unuseful library

16 November 2007, Koichi Murakami (interfaces-V09-00-03)
 - G4UIGainServer.cc: cleared a compilation warning.
 - tagged for the 9.1 release.

15 Nov 2007, Laurent Garnier
 - G4UIQt,G4Qt : Adding a GEANT4_QT_DEBUG flag to hide all debug messages
 - G4UIQt,G4Qt : Compilation improvements for Qt3
 - G4UIQt,G4Qt : Minors corrections on G4UIQt helpWidget

13 Nov 2007, Laurent Garnier
 - G4UIQt,G4Qt : Moving all moc in one big file interface/G4UIQT_moc.cc,
   including Qt3 and Qt4 moc support

09 Nov 2007, Laurent Garnier
 - G4UIQt,G4Qt : Change all include directive to be compatible with Qt3

27 Sept 2007, Laurent Garnier
 - Adding sur files for G4UIQt driver

06 November Koichi Murakami
- G4UItcsh.cc: store shell history across sessions.

30 October 2007 Koichi Murakami (interfaces-V09-00-02)
- Guy committed the new Qt interface (28/Sep).
- Add "#ifdef G4UI_BUILD_QT_SESSION" protection in src/G4UIQt_moc.cc.
- Remove Qt interface from the current tag.
- G4UIGAG.cc: suppress a compilation warning.

30 October 2007 Koichi Murakami (interfaces-V09-00-01)
- Makoto updated the implementation of the signal handler for Ctrl-C.

28 October 2007, Makoto Asai
- Remove improper dependency from interfaces/basic to run in GNUmakefile

02 August 2007, Koichi Murakami (interfaces-V09-00-00)
- Fix compilation warning on SUN-CC in G4UIterminal.cc

19 June 2007, Gabriele Cosmo (interfaces-V08-03-02)
- Fix compilation error on Windows ('theShell' not declared).

14 June 2007, Koichi Murakami (interfaces-V08-03-01)
- fixed the problem with Ctl-C termination for bash users.
 * G4VUIshell   : add a virtual method ResetTerminal()
 * G4UItcsh     : add a method ResetTerminal()
 * G4UIterminal : add terminal reset when Ctl-C termination

22 May 2007, Koichi Murakami (interface-V08-03-00)
- G4UIterminal.cc: implement signal handler for soft-abort

28 November 2005, Gabriele Cosmo (interface-V07-01-02)
- G4UIXm.cc migrated to sstream

21 November 2005, Hajime Yoshida (interface-V07-01-01)
- G4UIGAG.cc and G4UIGainServer.cc migrated to sstream

26 October 2005, Koichi Murakami (interfaces-V07-01-00)
- G4UItcsh/G4UIterminal/G4VBasicShell: 
  migration from strstream to sstream

22 April 2005, Gabriele Cosmo (interfaces-V07-00-01)
- G4UIGainServer: fixed conditional compilation for MacOS 10.4.

26 January 2005, Gabriele Cosmo (interfaces-V07-00-00)
- Removed explicit definition of G4TMPDIR in GNUmakefiles
  (not necessary since already defined in common.gmk).

27 November 2004, Hajime Yoshida (interfaces-V06-02-00)
- Tagged.

25 November 2004, Hajime Yoshida (interfaces-V06-01-02)
- Tagged.

21 November 2004, Guy Barrand
- G4UIXm.cc: have some nice default resources in case XENVIRONMENT not set.

07 June 2004, Gabriele Cosmo (interfaces-V06-01-01)
- G4UIWin32.cc: move usage of inline methods to non-inline for DLLs
  support on Windows.
- GNUmakefile: added definition of GLOBLIBS for DLLs support on Windows.

09 April 2004, John Allison (interfaces-V06-01-00 + vis-V06-01-01)
- Tagged G4[UI]Win32[.hh,.cc] as below.  Joint with vis-V06-01-01.

08 April 2004, Guy Barrand
- G4[UI]Win32[.hh,.cc] : modify things in order to be able to use
  a standard C main (and avoid the WinMain).

22 October 2003, Guy Barrand (interfaces-V05-02-00)
- OPACS : archived obsolete OPACS module and cleared build setup.

17 October 2003, Guy Barrand
- G4Xt.cc : removed unused and commented code.

11 June 2003, Gabriele Cosmo (interfaces-V05-01-02)
- G4UIWin32.cc: cleared warning on redefinition of 'pascal' reported on
  WIN32-VC system.

04 June 2003, Gabriele Cosmo (interfaces-V05-01-01)
- Fixes for inclusion of <strstream> in G4UIXm.cc, G4UItcsh.cc and
  G4UIterminal.cc in view of the g4std wrappers migration.

30 May 2003, Gabriele Cosmo (interfaces-V05-01-00)
- Fixed few pedantic warnings...
- G4UIGainServer.cc: fixed compilation problem on Darwin-g++ with gcc-3.X.

04 December 2002, Makoto Asai (interfaces-V04-01-01, interfaces-V04-01-02)
- Migration to new G4ApplicationState.

15 November 2002, Hajime Yoshida (interfaces-V04-01-00)
- basic/src/G4UIArrayStrings.cc is now working for "konsole" type termcap.
	by Koichi Murakami

09 November 2002, Hajime Yoshida (interfaces-V04-00-05)
- G4UIGainServer.cc uses socklen_t as before. It must work for Solaris CC and HP.
- test/G4cout_test01 updated. An example of setCoutDestination(UI) by a user.

06 November 2002, Guy Barrand
- G4Xt.cc, G4UIXm.cc, G4UIXaw.cc : fix some warings.

14 June 2002, Hajime Yoshida (interfaces-V04-00-04)
- G4UIGainServer.cc/hh have a protection: #ifndef WIN32 ~ #endif not to compile
	on WIndows.

14 June 2002, Hajime Yoshida (interfaces-V04-00-04)
- Added protection #ifndef WIN32 to new class G4UIGainServer in definition
  and body, to prevent compilation on Windows platforms.

12 June 2002, Gabriele Cosmo (interfaces-V04-00-03)
- Fixes for porting on platforms other than Linux.
  o socklen_t is Linux specific and not defined elsewhere; changed to int*.
  o Fixed usage g4std/iostream, globals.hh and endl/G4endl.

12 June 2002, Hajime Yoshida (interfaces-V04-00-02)
- Introduced new class G4UIGainServer, socket extension for G4UIGAG.
- added GAG/src/G4UIGainSErver.cc and GAG/include/G4UIGainServer.hh
- G4UIGainServer is the new member of libG4UIGAG.so(a)
	(no modification to GNUmakefiles)

26 April 2002, Makoto Asai (interfaces-V04-00-01)
- Corresponds to interfaces change in intercoms category (intercoms-V04-00-00)
 Affected files :
  basics/src/G4VUIshell.cc
  common/src/G4VBasicShell.cc
  GAG/src/G4UIGAG.cc

25 February 2002, Makoto Asai (interfaces-V04-00-00)
- fix for odd behavior on Windows in G4UIchs.cc

03 December 2001 Guy Barrand (interfaces-V03-02-04)
- G4VInteractorManager::RemoveDispatcher : change the "std::remove"
  logic in order to fix a disfunctionning with vis/OpenInventor driver.
- G4Xt.cc : remove some g++ compilation warnings about unused 
  iconify functions.

29 November 2001 Hajime Yoshida (interfaces-V03-02-03)
- Fix G4UIGAG.cc for alias command (following G4UIterminal's modif)

26 November 2002 Makoto Asai (interfaces-V03-02-02)
- Fix compilation warnings caused by gcc-2.95.2 for basic sub-directory.

23 November 2001 Makoto Asai (interfaces-V03-02-01)
- Fix G4UIterminal to display a command line AFTER solving aliases
  in case the command caused "command not found".
- Fix G4UItcsh.hh not to have warning message.

22 October 2001 Hajime Yoshida
-G4UIGAG.cc no more compiler warning due to G4String

22 October 2001 Hajime Yoshida
- G4UIGAG ; no compilation warning with g++-2.95

11 August 2001  John Allison (interfaces-V03-02-00)
- Re-engineered G4UI variables.  Coworks with config-V03-02-04.
- Changed GNUmakefile so that GAG, TERMINAL and TCSH built by default.
- Nothing built if G4UI_NONE is set.

29 November 2000 Makoto Asai (interfaces-V02-00-03)
- Tag for Guy's correction.

28 November 2000 Guy Barrand
- G4Xt.cc ; SUN-CC : correct warning : argc hides G4VInteractorManager::argc.

27 November 2000 Makoto Asai (interfaces-V02-00-02)
- G4VUIShell.hh : add virtual keyword to the destructor.

11 August 2000 Guy Barrand
- G4UIWo.cc : add some cast in order to compile with OSF1/cxx strict_ansi mode.

1 August 2000 Gabriele Cosmo (interfaces-V02-00-01)
- Fixed warnings on HP-aCC system in G4UItcsh.cc, due to unproper usage of G4int
  where unsigned (size_t) was requested instead.

31 July 2000 Gonzalo Gracia
- Modifications required to compile on NT
  Operator string::[] requires size_t argument. 
  Cast from integer to size_t in several places in basic/src/G4UIArrayString.cc
  and G4VUIshell.cc

22 July 2000 Makoto Asai (interfaces-V02-00-00)
- Modify G4UIterminal, G4VUIshell, G4UIcsh and G4UItcsh to display the
  break status as a prompt characters.

25 June 2000 John Allison (interfaces-V01-01-06-old-G4UIterminal)
- As interfaces-V01-01-06 but old revisions of G4UIterminal.cc/hh.

23 June 2000 John Allison (interfaces-V01-01-06)
- Protected G4UIterminal, G4Ui[t]csh against access by index to null strings.

21 June 2000 John Allison (interfaces-V01-01-05)
- Added include $(G4INSTALL)/config/G4VIS_BUILD.gmk to common/GNUmakefile.

15 June 2000 John Allison (interfaces-V01-01-04)
- More ISO compliance for G4UIterminal class.

14 June 2000 Makoto Asai (interfaces-V01-01-03)
- ISO compliance for G4UItcsh classes

26 May 2000 Guy Barrand  (interfaces-V01-01-02)
- G4UIXm.hh, G4UIWin32.hh : change comments about /gui for the doc.

23 May 2000 John Allison (interfaces-V01-01-01-without-tcsh)
- Tag without G4UIterminal(G4UItcsh) in case it is not needed in the release.

20 May 2000 Guy Barrand  (interfaces-V01-01-01)
- common/G4InteractorMessenger : change command name "interactor" to "gui".

19 May 2000 John Allison  (interfaces-V01-01-00)
- G4UIterminal displays a candidate list in case a given parameter is
  wrong (Makoto Asai).

26 Mar 2000 Makoto Asai
- Introducing a new G4UIterminal with UNIX-like shell.

10 Nov 1999 Hajime Yoshida  (interfaces-V00-01-03)
- Added less<G4String> argument (Guy).
- G4UIWin32.hh, G4UIXm.hh : usage of G4std::less in G4std::map.
- G4VInteractorManager.cc : G4std::find, G4std::remove.

08 Nov 1999 Hajime Yoshida
- tag interfaces--V00-01-02 for STT

08 Nov 1999 Hajime Yoshida
- GAG/src/G4UIGAG.cc RWT => STL vector
- basic/include/G4UIterminal.hh, GAG/include/G4UIGAG.hh => documentation

02 Nov 1999 Guy Barrand
- doc comments for G4UIWin32.hh, G4UIXm.hh, G4UIXaw.hh, G4Xt.hh, G4Win32.hh, G4VInterativeSession.hh, G4VInteractorManager.hh.

02 Nov 1999 Guy Barrand
- basic/G4UIWin32, G4UIXm : RW -> STL.
- common/G4VBasicShell, G4VInteractiveSession, G4VInteractorManager : RW -> STL.
29 Oct. 1999 Hajime Yoshida
- tag interfaces-V00-01-01

27 Oct. 1999 Guy Barrand
- interfaces/common/src/G4Xt.cc : protect XtAppInit against 
  shell zero widthxheight. Give a default to geometry resource.

21 Oct. 1999 John Allison
- Made XtAppContext appContext static in G4Xt.cc.  Speeds OGLSXm but
  OGLIXm is still slow - why?

12 Oct. 1999 John Allison for Hajime Yoshida (tag interfaces-V00-01-00a)
- Protection for zero length strings for Sun in G4UIterminal and G4UIGAG.

02 Sep. 1999 Hajime Yoshida
  to geant4-00-01-ref-01 (Revision 1.9)
  a new tag is interfaces-01-00-04
  after which a tag interfaces-V00-01-00 was added identical to
    interfaces-01-00-04 except for this History file.

- G4UIterminal.cc and G4UIGAG.cc now shows prompt characters
	to an input of return (or null command line).

head 31 Mai 1999  Guy Barrand
- G4VInteractorManager::SecondaryLoop : add a message to indicate
  that we enter a "viewer" secondary X event loop and that someone
  add to "Escape" it from the viewer to continue.

interfaces-01-00-03  19th April 1999  John Allison
- Protected G4VBasicShell.cc with if( tempPath.length()>0 ).

interfaces-01-00-02  18th April 1999  John Allison
- Tagged.

head 11th Mai 1999  Guy Barrand
1) G4UIXm : Linux, correct geometry management of the menubar.

head 06th Mai 1999  Guy Barrand
1) G4Win32, G4UIWin32 : modifications to compile with Visual-6.0.

head 16th April 1999  Guy Barrand
1) G4VBasicShell, G4UIXm, G4UIWin32 : command completion.
2) G4InteractorMessenger, G4VInteractorManager : code polishement.

interfaces-01-00-01  15th April 1999  Hajime Yoshida/Masayasu Nagamatu
1) some code polishment after the messages by CodeWarriers (Guy)
2) Help functions in G4VBasicShell and related rearrangement of
        G4UIterminal etc.. (Guy)
3) removal of ifdef for GNU_GCC in G4UIGAG. (Hajime)

interfaces-00-03-07 9th December 1998 Hajime Yoshida/Masayasu Nagamatu
- minor improvements in Help of G4UIterminal.cc
- G4UIGAG's Help in terminal mode is now equivalent to G4UIterminal.cc

interfaces-00-03-06 27th November 1998 Hajime Yoshida/Masayasu Nagamatu
- added 'if' protection to the destructor of G4UIterminal/G4UIGAG.

interfaces-00-03-05 12th November 1998 Masayasu Nagamatu
-test/G4cout_test01/ added an example for redirectiong stream using G4cout

interfaces-00-03-04  13th October 1998  Masayasu Nagamatu
- G4cout - changes to G4UIterminal.cc, G4UIGAG.hh, G4UIGAG.cc.

07 Ocotober 1998  Guy Barrand:
- G4UIXm.cc, G4UIWin32.cc : cout, cerr control.

interfaces-00-03-03 7th  October Hajime Yoshida
- Bug fix to prevent "help" crashing in some circumstances.

interfaces-00-03-02 14th Sep. Hajime Yoshida
	- fix to G4UIGAG (not bugs but correction of minor 
		ydifferences with G4UIterminal)

interfaces-00-03-01  12th Sep.  Hajime Yoshida and Masayasu Nagamatu
- CTRL-D doesn't invoke infinite loop.
- CRTL-D now means
	- EOF in the redirected cin
	- End of Session, just as "exit" command of GEANT4
- Affected files are basic/src/G4UIterminal.cc
			GAG/src/G4UIGAG.cc

interfaces-00-02-01  9th August  John Allison
- Tagged Guy's changes.

7th August  Guy Barrand.
- common, OPACS : new interactor parenting logic.

interfaces-00-01-04  8th July 1998  John Allison
- Emptied xvt_standalone_test; files moved to environments/XVT.

interfaces-00-01-03  7th July 1998  John Allison
- Emptied standalone_test; files moved to environments/Momo or no
  longer needed.

7th July 1998  Guy Barrand
- Added include $(G4INSTALL)/config/interactivity.gmk to GNUmakefiles.

interfaces-00-01-02 7th July 1998  John Allison
- Forced revision 2.1 on files in newly committed directories.

interfaces-00-01-01 6th July 1998  John Allison
- Big restructuring.  Moved files from include/ and src/ to:
  common/, basic/, GAG/, OPACS/, XVT/.
  Created G4UI_BUILD.gmk and G4UI_USE.gmk in config/.
  Changed the GNUmakefiles accordingly.

interfaces-00-07-01 2nd July 1998  Gabriele Cosmo
- Updates to G4UIWo and G4VInteractorManager by G.Barrand.

interfaces-00-06-05 26th June 1998  Gabriele Cosmo
- Updated GNUmakefiles to new electromagnetics structure.

interfaces-00-06-04a 22nd June 1998  John Allison
- Removed ./standalone_test/run/example34/GNUmakefile.G4VIS_USE and
  ./standalone_test/run/example35/GNUmakefile.G4VIS_USE

interfaces-00-06-04 22nd June 1998  John Allison
- Added #ifdef GNU_GCC for template instantiation in src/G4UIGAG.cc.
- Changed GNUmakefiles for G4VIS_USE.gmk.

May 6, 98 M.Asai
- Introducing a new abstract base class G4VBasicShell.
- G4UIterminal has been modified according to use G4VBasicShell.

22th April 1998  Hajime Yoshida / Masayasu Nagamatsu (interfaces-00-05-03)
-  the following three directories are tagged.
 interfaces/standalone_test/Momo/java/GGE
 interfaces/standalone_test/Momo/java/RMI
 interfaces/standalone_test/run/example35

20th April 1998  Hajime Yoshida / Masayasu Nagamatsu (interfaces-00-05-02)
- update for Momo and G4UIGAG, including many improvement and bug fixes.
  see the interfaces/standalone_test/README_Momo.html for datails.
- example35 is added; new example program to show the capability of GUI(GAG).

15th April 1998 : Guy Barrand
- From discussion with John and Simone G4VToolkit 
  has been renamed to G4VInteractorManager.

4th April 1998 Nagamatu Masayasu (interfaces-00-05-01)
- correspond to the modification by  G.Barrand
  G4UI_BUILD_xxx_DRIVER -> G4UI_BUILD_xxx_SESSION
  Modifications for Win32/NT.

April 2, 98 G.Barrand
- G4UI_BUILD_xxx_DRIVER -> G4UI_BUILD_xxx_SESSION
- Modifications for Win32/NT.

26th March 1998  John Allison
- Changed G4VisManager to MyVisManager in example34.cc and xvt.benchmark.cc
  for vis-00-05-01 and later.

6th March 1998 Hajime Yoshida / Nagamatu Masayasu (interfaces-00-04-01)
- First tag with modeling under visualization
- small bug fix for Momo

29th January 1998 Masayasu Nagamatu / Hajime Yoshida (interfaces-00-03-01)
- Update of Momo(GAG/GGE), standalone_test/ directory.

27th January 1998  John Allison
- Simplfied use of G4VIS flags in test GNUmakefiles.
- New way of instantiating G4VisManager in test main() programs.

December 19, 97 G. Cosmo - (alpha03)

- Created.

Januray 19 , 98 G. Barrand

- Update G4UIXaw, G4UIXm to take into account
  pauseStartSession method.

