paolomind.multitalk.toolwrapper
Class PythonToolWrapper

java.lang.Object
  extended by paolomind.multitalk.toolwrapper.PythonToolWrapper
All Implemented Interfaces:
java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.util.EventListener, NamedObject, NamedReceiver, Receiver, Sender, ToolInterface

public class PythonToolWrapper
extends java.lang.Object
implements ToolInterface, Sender

Author:
paolo

Constructor Summary
PythonToolWrapper(java.io.InputStream in, org.python.util.PythonInterpreter python)
          costruisce il wrapper leggendo da un inputstream e facendo interpretare lo script da un interprete.
Lo script deve definire una classe Tool basandosi sul seguente template:
 
Method Summary
 java.util.Properties getPropertes()
          Proprietà del tool.
 java.lang.String getSelfId()
          restituisce il proprio id.
 Sender getSender()
          restituisce il sender a cui il tool invia i messaggi.
 void keyPressed(java.awt.event.KeyEvent e)
           
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseDragged(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mouseMoved(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void receive(IMessage m)
          ricezione di un messaggio.
 void select()
          invocato quando il tool viene selezionato.
 void send(IMessage m)
          invio di un messaggio.
 void setSelfId(java.lang.String name)
          setta l'id.
 void setSender(Sender psender)
          setta il sender a cui il tool invia i messaggi.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PythonToolWrapper

public PythonToolWrapper(java.io.InputStream in,
                         org.python.util.PythonInterpreter python)
                  throws java.io.IOException
costruisce il wrapper leggendo da un inputstream e facendo interpretare lo script da un interprete.
Lo script deve definire una classe Tool basandosi sul seguente template:
class Tool:

    name="Pencil"

    def __init__(self):
        pass

    def selected(self):
        pass

    def mouseDown(self,evt):
        self.sel=1
        self.x0 = evt.getX()
        self.y0 = evt.getY()

    def mouseDrag(self,evt):
        pass

    def mouseUp(self,evt):
        pass

    def mouseMove(self,evt):
        pass

    def mouseClick(self,evt):
        pass

    def mouseIn(self,evt):
        pass

    def mouseOut(self,evt):
        pass

    def keyDown(self,evt):
        pass

    def keyUp(self,evt):
        pass

    def keyType(self,evt):
        pass

    def receive(self,m):
        pass
L'attributo name definisce un nome univoco per il tool ed è necessario.
Tutti i metodi sono necessario.

Parameters:
in - lo stream da cui leggere
python - l'interprete python
Throws:
java.io.IOException - rilancia l'eccezione in caso di errori di I/O
Method Detail

getPropertes

public final java.util.Properties getPropertes()
Proprietà del tool.

Specified by:
getPropertes in interface ToolInterface
Returns:
Informazioni sul tool
See Also:
ToolInterface.getPropertes()

select

public final void select()
invocato quando il tool viene selezionato.

Specified by:
select in interface ToolInterface
See Also:
ToolInterface.select()

getSelfId

public final java.lang.String getSelfId()
restituisce il proprio id.

Specified by:
getSelfId in interface NamedObject
Returns:
l'identificativo dell'ogetto
See Also:
NamedObject.getSelfId()

setSelfId

public final void setSelfId(java.lang.String name)
setta l'id.

Specified by:
setSelfId in interface NamedObject
Parameters:
name - l'id con cui sarà identificato l'oggetto
See Also:
NamedObject.setSelfId(java.lang.String)

receive

public final void receive(IMessage m)
                   throws MessageException
ricezione di un messaggio.

Specified by:
receive in interface Receiver
Parameters:
m - il messaggio da ricevere
Throws:
MessageException - rilancia l'accezione in caso di errori nel messaggio
See Also:
Receiver.receive(paolomind.multitalk.netmessage.IMessage)

mouseClicked

public final void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
e - evento del mouse
See Also:
MouseListener.mouseClicked(java.awt.event.MouseEvent)

mouseEntered

public final void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener
Parameters:
e - evento del mouse
See Also:
MouseListener.mouseEntered(java.awt.event.MouseEvent)

mouseExited

public final void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener
Parameters:
e - evento del mouse
See Also:
MouseListener.mouseExited(java.awt.event.MouseEvent)

mousePressed

public final void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
e - evento del mouse
See Also:
MouseListener.mousePressed(java.awt.event.MouseEvent)

mouseReleased

public final void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
e - evento del mouse
See Also:
MouseListener.mouseReleased(java.awt.event.MouseEvent)

mouseDragged

public final void mouseDragged(java.awt.event.MouseEvent e)
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener
Parameters:
e - evento del mouse
See Also:
MouseMotionListener.mouseDragged(java.awt.event.MouseEvent)

mouseMoved

public final void mouseMoved(java.awt.event.MouseEvent e)
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Parameters:
e - evento del mouse
See Also:
MouseMotionListener.mouseMoved(java.awt.event.MouseEvent)

keyPressed

public final void keyPressed(java.awt.event.KeyEvent e)
Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
e - evento della tastiera
See Also:
KeyListener.keyPressed(java.awt.event.KeyEvent)

keyReleased

public final void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
e - evento della tastiera
See Also:
KeyListener.keyReleased(java.awt.event.KeyEvent)

keyTyped

public final void keyTyped(java.awt.event.KeyEvent e)
Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
e - evento della tastiera
See Also:
KeyListener.keyTyped(java.awt.event.KeyEvent)

send

public final void send(IMessage m)
Description copied from interface: Sender
invio di un messaggio.

Specified by:
send in interface Sender
Parameters:
m - messaggio da inviare
See Also:
Sender.send(paolomind.multitalk.netmessage.IMessage)

getSender

public final Sender getSender()
restituisce il sender a cui il tool invia i messaggi.

Returns:
il sender a cui il tool invia i messaggi

setSender

public final void setSender(Sender psender)
setta il sender a cui il tool invia i messaggi.

Parameters:
psender - il sender a cui il tool invia i messaggi


Copyright © 2007. All Rights Reserved.