

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



Initial authors: 
    Sebastien Jourdain (Artenum), contact: sebastien.Jourdain@artenum.com

1) Introduction / Purpose

    JyConsole is an advanced console for manipulation Python and Java objects.
JyConsole is written in Java and based on Jython library. 
JyConsole is a Java Console for Jython. The console is fully written in Java
and provides several Console requirements, such as history, completion, script
loading and basic GUI preference management.

JyConsole provide command history and an object oriented completion on Java 
and Python objects. JyConsole allows the direct manipulation of all objects 
used in the classpath, independently of their initial language (Java/Python). 

JyConsole can be extended as any application, but its first goal is to provide
a simple and powerful java/python console written fully in java and providing
rich features like the completion facility. Thus, it should be directly used 
as a graphical component.

JyConsole should be used as a Graphical component itself. You just need 
to add it to your system and configure it.
 
         http://www.artenum.com/jyconsole 
     or 
         contact@artenum.com

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. 

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 

When the initial window is too big, a grey block appears at the bottom of the console.

7) Change log 

JyConsole 1.0
 - 100% Java application
 - Includes the Jython.jar
 - Generic Java/Python completion.
 
8) Intellectual properties and licensing

    All right reserved Artenum, Paris, France, 2005.


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) {
            e.printStackTrace();
        }
    
        // Build the JyConsole
        JyConsole console = new JyConsole();
        
        // Set default key binding for completion/history...
        DefaultKeyBinding.applyDefaultMapping(console);

        // Set preferences in JyConsole (when you don't use the config file)
        console.setScriptDirectory(new File("."));
        InteractiveInterpreter ii = console.getInterpreter();  // You get the Jython interactive interpreter 
        
        // Build a JFrame to show the console
        JFrame f = new JFrame("JyConsole");
        f.getContentPane().add(console, BorderLayout.CENTER);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(600, 400);
        f.setVisible(true);
    }