gishur.gui.inputhandler
Class TranslateHandler

java.lang.Object
  |
  +--gishur.gui.Painter
        |
        +--gishur.gui.InputHandler
              |
              +--gishur.gui.inputhandler.DragHandler
                    |
                    +--gishur.gui.inputhandler.TranslateHandler
All Implemented Interfaces:
java.util.EventListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener

public class TranslateHandler
extends DragHandler

Ein TranslateHandler wird eingesetzt um den dargestellten Breich von bestimmten Layern zu verschieben. Durch draggen wird der Bereich um den entsprechenden Vektor verschoben.


Field Summary
 int dragbutton
          Mousebutton(s), mit dem gedragged werden kann.
 boolean paintonmove
          Falls true, werden alle Layer während des Dragging nachgezeichnet.
 
Fields inherited from class gishur.gui.inputhandler.DragHandler
ALLOW_INACTIVE_DRAG, CONSUME_NEVER, CONSUME_ONLY_IF_ACTIVE, DRAGHANDLER_MODE_MAX_ID
 
Fields inherited from class gishur.gui.Painter
_layer, _nofixedborder
 
Constructor Summary
TranslateHandler(DisplayManager display, int maxlayers)
          Konstruktor.
 
Method Summary
 void add(Layer layer)
          Fügt einen zu Zoomenden Layer hinzu.
 boolean becomeActive(java.awt.event.MouseEvent e)
          Testet, ob der DragHandler aktiv werden soll.
 Layer[] getLayers()
          Liefert die gespeicherte Liste aller verschiebbaren Layer.
 void onActivate(java.awt.event.MouseEvent e)
          Wird beim aktivieren des Handlers aufgerufen.
 void onDeactivate(java.awt.event.MouseEvent e)
          Wird beim deaktivieren des Handlers aufgerufen.
 void onDrag(int dx, int dy, java.awt.event.MouseEvent e)
          Wird während des Draggens aufgerufen.
 void onDrop(int dx, int dy, java.awt.event.MouseEvent e)
          Wird beim Loslassen der Maus nach einem Drag-Vorgang aufgerufen.
 void onPickup(java.awt.event.MouseEvent e)
          Wird aufgerufen, falls ein Drag-Vorgang begonnen wird (also nachdem picking true geliefert hat).
 boolean picking(java.awt.event.MouseEvent e)
          Wird aufgerufen, wenn die Mousetaste gedrückt wurde.
 void remove(Layer layer)
          Entfernt einen Layer aus der Liste der zu zoomenden Layer.
 void setLayers(Layer[] layers)
          Setzt das Feld mit den zu verschiebenden Layer auf layers.
 
Methods inherited from class gishur.gui.inputhandler.DragHandler
clearMode, didRealDrag, getLastMouseX, getLastMouseY, hideCursor, isActive, isDragging, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, setMode, setSpecialCursor, showCursor, testMode
 
Methods inherited from class gishur.gui.InputHandler
allButtons, calculateBounds, disable, dispatchEvent, enable, enabled, getComponent, getCursor, maxBounds, onDisable, oneButton, onEnable, setComponent, setCursor, setStatusTip, setToolTip, system_disable, system_enable, update, visible
 
Methods inherited from class gishur.gui.Painter
dirty, enlargeRectangleByPainter, equals, getBounds, getLayer, getPainterString, getPosition, getRegister, getTarget, getTargetClass, getTransformation, getVirtualScreen, hide, linkDirty, makeDirty, onHide, onShow, paint, recalcBounds, removeLinkDirty, setLayer, setRegister, setTarget, show, toString, unRegister
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

paintonmove

public boolean paintonmove
Falls true, werden alle Layer während des Dragging nachgezeichnet.

dragbutton

public int dragbutton
Mousebutton(s), mit dem gedragged werden kann. Kann auch eine Kombination von Mousebuttonkonstanten aus java.awt.event.InputEvent bestehen.
Constructor Detail

TranslateHandler

public TranslateHandler(DisplayManager display,
                        int maxlayers)
Konstruktor.
Method Detail

add

public void add(Layer layer)
Fügt einen zu Zoomenden Layer hinzu.
Parameters:
layer - neuer Layer

remove

public void remove(Layer layer)
Entfernt einen Layer aus der Liste der zu zoomenden Layer.
Parameters:
layer - zu entfernender Layer

setLayers

public void setLayers(Layer[] layers)
Setzt das Feld mit den zu verschiebenden Layer auf layers.
Parameters:
layers - neues Layer-Array zum verschieben

getLayers

public Layer[] getLayers()
Liefert die gespeicherte Liste aller verschiebbaren Layer.
Returns:
Array mit Layern

onPickup

public void onPickup(java.awt.event.MouseEvent e)
Wird aufgerufen, falls ein Drag-Vorgang begonnen wird (also nachdem picking true geliefert hat).
Overrides:
onPickup in class DragHandler
Following copied from class: gishur.gui.inputhandler.DragHandler
Parameters:
e - Mausevent

onDrag

public void onDrag(int dx,
                   int dy,
                   java.awt.event.MouseEvent e)
Wird während des Draggens aufgerufen. Seit einem letzten Aufruf von onPickup bzw. onDrag wurde die Maus um dx und dy bewegt.
Overrides:
onDrag in class DragHandler
Following copied from class: gishur.gui.inputhandler.DragHandler
Parameters:
dx,dy - Vektor, um den verschoben wurde
e - Mausevent

onDrop

public void onDrop(int dx,
                   int dy,
                   java.awt.event.MouseEvent e)
Wird beim Loslassen der Maus nach einem Drag-Vorgang aufgerufen. Seit einem letzten Aufruf von onPickup bzw. onDrag wurde die Maus um dx und dy bewegt.
Overrides:
onDrop in class DragHandler
Following copied from class: gishur.gui.inputhandler.DragHandler
Parameters:
dx,dy - Vektor, um den verschoben wurde
e - Mausevent

picking

public boolean picking(java.awt.event.MouseEvent e)
Wird aufgerufen, wenn die Mousetaste gedrückt wurde. Liefert picking true zurück, so wird ein Drag-Vorgang begonnen.
Overrides:
picking in class DragHandler
Parameters:
e - Mausevent
Returns:
true, falls Drag-Vorgang eingeleitet werden wird

becomeActive

public boolean becomeActive(java.awt.event.MouseEvent e)
Testet, ob der DragHandler aktiv werden soll. Diese Methode wird sehr häufig aufgerufen (bei jeder Mausbewegung!) und sollte daher schnell bearbeitet werden. Wird true zurückgeliefert, so wird der Handler aktiviert und onActivate aufgerufen, wird false geliefert, so wird onDeactivate aufgerufen und der Handler deaktiviert. Nur ein aktivierter Handler kann Drag & Drop Operationen ausführen.
Overrides:
becomeActive in class DragHandler
Parameters:
e - Mausevent
Returns:
true, Handler aktiv werden soll.

onActivate

public void onActivate(java.awt.event.MouseEvent e)
Wird beim aktivieren des Handlers aufgerufen.
Overrides:
onActivate in class DragHandler
Parameters:
e - Mausevent

onDeactivate

public void onDeactivate(java.awt.event.MouseEvent e)
Wird beim deaktivieren des Handlers aufgerufen.
Overrides:
onDeactivate in class DragHandler
Parameters:
e - Mausevent