


                          JyConsole 1.3
             Advanced Java based Jython graphic console
                 (c) Artenum, Paris, France, 2005
                 http://www.artenum.com/jyconsole



Authors:
   Sebastien Jourdain (Artenum), contact: sebastien.Jourdain@artenum.com
   
Contributors:  
   Colin Crist (colincrist@hermesjms.com) 2006-06-23

1) Introduction / Purpose

   JyConsole is an advanced Java console for Jython, able to manipulate
Python and Java objects.

JyConsole is fully written in Java and based on the Jython library and
modules. It answers to several requirements of modern consoles, such as
command history, completion, easy script loading and basic GUI preference
management.

More especially, JyConsole provides an advanced object oriented completion
on Java and Python objects. JyConsole allows the direct manipulation of any
objects used in the python and class paths, independently of their initial
language (Java/Python).

JyConsole can be extended as any application, but its first goal is to
offer a simple and powerful Java/Python console fully portable. JyConsole
can be directly used as standalone application or as a embedded
graphical component into a Java or Jython application.

For more information:

        http://www.artenum.com/jyconsole
    or
        contact@artenum.com


Please enjoy yourself,

                                 Sebastien Jourdain
                                 Artenum


2) Quick installation and start

Unpack the archive pack, as follow on Unix systems:

      tar xvf JyConsole.tgz
   or
      unzip JyConsole.zip

This must create a JyConsole root directory. Go into the JyConsole root
directory and launch the run.jar file, as follow:

   Under Unix/linx: java -jar run.jar
   Under Mac OS-X and Windows, run.jar is auto-executable.

In case of problem see section 3.


3) Installation

   3.1) Prerequis

   Hardware:
        Nothing special...

   System:
       JyConsole is multi-platform and has been successfully tested on the
   following systems:
       - Windows NT/2000/XP
       - UNIX/Linux
       - Mac OS-X

   Third part and additional components:
   - Jython interpreter:
       The Python/Jython console includes the Jython 2.1 package
       (http://www.jython.org).

   - Java Virtual Machine (JVM):
       JyConsole requires a JVM 1.4.XX and higher.


   A binary packages and needed external libraries are already
   included in the "JyConsole full pack".


   3.2) Installation

      Normally no specific installation is required. You must just unpack
   the archive pack, as follow on Unix systems:

      tar xvf JyConsole.tgz
   or
      unzip JyConsole.zip

   A complete tree will be deployed as follow:

   JyConsole_ROOT               => JyConsole base directory
        + JyConsole.jar           => The JyConsole application
        + config.properties       => Runtime properties for JyConsole
        + ThirdPart               => The third part directory
          + jython-2.1            => The jython library
            + ...
        + run.sh                  => Script to launch JyConsole on Linux
        + run.bat                 => Script to launch JyConsole on Windows


4) Execution

To launch JyConsole, execute the run.jar file, as follow:

       Under Unix/linx: java -jar run.jar
       Under Mac OS-X and Windows, run.jar is auto-executable.

   The run.py script can be launched in the same manner with a jython
interpreter.
        jython run.py

   In case of problem, please edit this script, check all path and if
needed correct them. run.jar is generated from run.py using jythonc, with
the following command:
        jythonc -b run.jar --all run.py


5) Features

Command history (Key: Up and Down)
Style management on text (Popup menu on the console)
Script loader (Popup menu on the console)
Java completion (Key: Ctrl + Space)
Python completion (Key: Ctrl + Space)


6) Trouble shooting

Should be solved: On Linux with a JVM 1.5 the completion window may not show correctly.

7) Change log

JyConsole 1.3
- Improvement made in the management of thread in command execution.
- Add property to specify the behavior related to command execution. (SingleThread/ANewThreadPerCommand)
- Add property to specify if JyConsole should grab the Standard+Error Java output or not.
- Add property to specify a script to load at startup.

JyConsole 1.2
- Fixed completion window flashing under Linux with JVM 1.5

JyConsole 1.1
- Enhance graphical comportement compatiblity.

JyConsole 1.0
- 100% Java application
- Includes the Jython.jar
- Generic Java/Python completion.


8) Intellectual properties and licensing

  (c) Copyrights: All rights reserved Artenum, Paris, France, 2005.

  This version of JyConsole is released under the terms of the Q Public
  License (QPL). Please the License folder for more information.

  Contribution made by :
    - Colin Crist (colincrist@hermesjms.com) 2006-06-23

9) Contact

   E-mail: contact@artenum.com or jyconsole@artenum.com

   Mail: Artenum SARL
         101-103, Bd Mac Donald
         75019 PARIS, FRANCE

   Phone: +33(0)1 44 89 45 15
   Fax:   +33(0)1 44 89 45 17


10) Sample use

This is the main of the JyConsole class, which could be taken as an example
for further use.

   public static void main(String[] args) {
       // Load external properties from a file
        try {
            PropertyLoader.loadProperties("./config.properties");
        } catch (Exception e) {
            System.err.println(e.getMessage());
        }

        JyConsole console = new JyConsole();

        JFrame f = new JFrame("JyConsole by Artenum");
        //f.setIconImage(new ImageIcon(JyConsole.class.getResource("logo.gif")).getImage());
        f.getContentPane().add(console, BorderLayout.CENTER);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(600, 400);
        f.setLocationRelativeTo(null);
        f.setVisible(true);
   }
