gishur.gui.displayobject
Class DisplayXPolyline

java.lang.Object
  |
  +--gishur.gui.Painter
        |
        +--gishur.gui.DisplayObject
              |
              +--gishur.gui.displayobject.DisplayXPolyline
All Implemented Interfaces:
AffineTransformable, ObjectEditorSupport, Selectable

public class DisplayXPolyline
extends DisplayObject
implements ObjectEditorSupport, Selectable, AffineTransformable

DisplayObject für ein XPolygon-Objekt.


Field Summary
 java.awt.Color backcolor
          Polygon-Füllfarbe.
 java.awt.Color bordercolor
          Randfarbe.
 boolean closed
          Falls true, wird das schließende Segment bzw. die Strahlen bei XUPolygon mitgezeichnet.
 java.awt.Color color
          Punktfarbe.
 boolean filled
          Malt das (unbeschränkte) Polygon geschlossen, wenn true
 java.awt.Color linecolor
          Linienfarbe.
 byte objecteditormode
          Objekteditormodus.
 byte radius
          Radius des Punktes.
static byte ROUND
          Runder Punkt.
 boolean selectable
          Falls true, ist das DisplayObject selektierbar.
 byte shape
          Punktform.
static byte SQUARE
          Quadratischer Punkt.
static byte TRIANGLE
          Dreieckiger Punkt.
 byte width
          Linienstärke.
 
Fields inherited from class gishur.gui.Painter
_layer, _nofixedborder
 
Fields inherited from interface gishur.gui.Selectable
ACTIVATE_OBJECTEDITOR_ON_SELECVT, CREATE_OBJECTEDITOR_ON_SELECT, NO_OBJECTEDITOR
 
Constructor Summary
DisplayXPolyline(java.lang.Object p)
          Öffentlicher Konstruktor.
 
Method Summary
 Shape calculateShape(ScreenTransformation transform)
          Berechnet ein neues Shape-Objekt mit Hilfe der Transformation transform.
 void copyStyle(DisplayXPolyline o)
          Übernimmt den Stil aus dem DisplayXPolyline p.
 InputHandler createObjectEditor()
          Erzeugt einen neuen Objekteditor.
 java.awt.Color[] getAllColors()
          Liefert alle Farben des DisplayObjects (zum Sichern des Status).
 InputHandler getObjectEditor()
          Liefert den Objekteditor für das Objekt.
 byte getObjectEditorMode()
          Liefert den Objekteditormodus.
 java.awt.Rectangle getRealBounds()
          Liefert den Bereich, den alle Objekte belegen.
 java.awt.Rectangle getSelectionBorder()
          Liefert den Selektionsrahmen eines selektierbaren Objektes in aktuellen Bildschirmkoordinaten.
 java.lang.Object getTarget()
          Liefert das Objekt, das durch das DisplayObject dargestellt wird.
 java.lang.Class getTargetClass()
          Liefert ein Klassenobjekt des verknüpften Objektes, auch wenn getTarget()==null liefert.
 boolean isSelectable()
          Falls isSelectable true zurückgibt, kann das Objekt selektiert werden.
 void restoreColors(java.awt.Color[] colors)
          Stellt den in colors gespeicherten Farbzustand wieder her.
 void rotate(java.awt.Point center, double angle)
          Dreht das Objekt um den Punkt center mit dem Winkel angle.
 void rotate(java.awt.Point center, java.awt.Point start, java.awt.Point end)
          Dreht das Objekt um den Punkt center mit dem Winkel start-center-end.
 void scale(java.awt.Point center, double xscale, double yscale)
          Skaliert das Objekt mit xscale und yscale so, daß der Punkt middle davon unberührt bleibt.
 void setBackground(java.awt.Color background)
          Setzt die Hintergrundfarben auf background.
 void setColor(java.awt.Color foreground)
          Setzt die Vordergrundfarben auf foreground.
 void setObjectEditor(InputHandler editor)
          Ordnet dem Objekt einen Objekteditor zu.
 boolean setTarget(java.lang.Object O)
          Setzt das verknüpfte Objekt neu.
 java.lang.String toString()
          Überschreibt Object.toString()
 void transform(double m00, double m01, double m02, double m10, double m11, double m12)
          Transformiert das Objekt mit der übergebenen Transformationsmatrix.
 void translate(int dx, int dy)
          Verschiebt das Objekt um den Vektor (dx,dy).
 void update(java.awt.Graphics g)
          Zeichnet das Objekt auf das Graphics g neu.
 
Methods inherited from class gishur.gui.DisplayObject
calculateBounds, getDOString, getOuterShape, getShape, hit, isContainedIn, setShape
 
Methods inherited from class gishur.gui.Painter
dirty, enlargeRectangleByPainter, equals, getBounds, getLayer, getPainterString, getPosition, getRegister, getTransformation, getVirtualScreen, hide, linkDirty, makeDirty, onHide, onShow, paint, recalcBounds, removeLinkDirty, setLayer, setRegister, show, unRegister, visible
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

objecteditormode

public byte objecteditormode
Objekteditormodus.

radius

public byte radius
Radius des Punktes.

ROUND

public static final byte ROUND
Runder Punkt.

SQUARE

public static final byte SQUARE
Quadratischer Punkt.

TRIANGLE

public static final byte TRIANGLE
Dreieckiger Punkt.

shape

public byte shape
Punktform.

color

public java.awt.Color color
Punktfarbe.

bordercolor

public java.awt.Color bordercolor
Randfarbe.

linecolor

public java.awt.Color linecolor
Linienfarbe.

width

public byte width
Linienstärke.

backcolor

public java.awt.Color backcolor
Polygon-Füllfarbe.

filled

public boolean filled
Malt das (unbeschränkte) Polygon geschlossen, wenn true

closed

public boolean closed
Falls true, wird das schließende Segment bzw. die Strahlen bei XUPolygon mitgezeichnet.

selectable

public boolean selectable
Falls true, ist das DisplayObject selektierbar.
Constructor Detail

DisplayXPolyline

public DisplayXPolyline(java.lang.Object p)
Öffentlicher Konstruktor. Verknüpft das DisplayObjekt mit einer XPolyline.
Method Detail

copyStyle

public void copyStyle(DisplayXPolyline o)
Übernimmt den Stil aus dem DisplayXPolyline p.
Parameters:
p - DisplayXPolyline zum Übernehmen des Stiles

calculateShape

public Shape calculateShape(ScreenTransformation transform)
Berechnet ein neues Shape-Objekt mit Hilfe der Transformation transform. Ein Shape sollte alle zum Zeichnen benötigten Informationen des verknüpften Objektes speichern.
Overrides:
calculateShape in class DisplayObject
Parameters:
transform - Transformation
Returns:
neues Shape-Objekt

update

public void update(java.awt.Graphics g)
Zeichnet das Objekt auf das Graphics g neu. Bei verknüpften Objekten sollten sämtliche zum Zeichnen benötigten Informationen des Verknüpften Objektes im Shape gespeichert sein!
Overrides:
update in class Painter
Parameters:
g - Graphics, auf dem gezeichnet werden soll

getAllColors

public java.awt.Color[] getAllColors()
Liefert alle Farben des DisplayObjects (zum Sichern des Status).
Overrides:
getAllColors in class DisplayObject
Returns:
alle Farben

restoreColors

public void restoreColors(java.awt.Color[] colors)
Stellt den in colors gespeicherten Farbzustand wieder her.
Overrides:
restoreColors in class DisplayObject
Parameters:
colors - Array mit Farben (vorher mit getAllColors() erzeugt)

setColor

public void setColor(java.awt.Color foreground)
Setzt die Vordergrundfarben auf foreground.
Overrides:
setColor in class DisplayObject
Parameters:
foreground - Vordergrundfarbe

setBackground

public void setBackground(java.awt.Color background)
Setzt die Hintergrundfarben auf background.
Overrides:
setBackground in class DisplayObject
Parameters:
background - Hintergrundfarbe

getTarget

public java.lang.Object getTarget()
Liefert das Objekt, das durch das DisplayObject dargestellt wird. Defaultmäßig wird ein Zeiger auf das DisplayObject selbst zurückgegeben.
Overrides:
getTarget in class Painter
Returns:
verknüpftes Objekt

setTarget

public boolean setTarget(java.lang.Object O)
Setzt das verknüpfte Objekt neu.
Overrides:
setTarget in class Painter
Parameters:
O - neues Objekt
Returns:
true, falls Änderung erfolgreich, ansonsten null

getTargetClass

public java.lang.Class getTargetClass()
Liefert ein Klassenobjekt des verknüpften Objektes, auch wenn getTarget()==null liefert.
Overrides:
getTargetClass in class Painter
Returns:
Class-Objekt des verknüpfbaren Objekttypes.

toString

public java.lang.String toString()
Überschreibt Object.toString()
Overrides:
toString in class DisplayObject

getObjectEditor

public InputHandler getObjectEditor()
Liefert den Objekteditor für das Objekt.
Specified by:
getObjectEditor in interface ObjectEditorSupport
Returns:
InputHandler, der als Objekteditor agiert.

setObjectEditor

public void setObjectEditor(InputHandler editor)
Ordnet dem Objekt einen Objekteditor zu.
Specified by:
setObjectEditor in interface ObjectEditorSupport
Parameters:
editor - der Objekteditor

createObjectEditor

public InputHandler createObjectEditor()
Erzeugt einen neuen Objekteditor.
Specified by:
createObjectEditor in interface ObjectEditorSupport
Returns:
neuer Objekteditor

transform

public void transform(double m00,
                      double m01,
                      double m02,
                      double m10,
                      double m11,
                      double m12)
Transformiert das Objekt mit der übergebenen Transformationsmatrix.
Specified by:
transform in interface AffineTransformable
Parameters:
m00,m01,m02 - erste Zeile der Transformationsmatrix
m10,m11,m12 - zweite Zeile der Transformationsmatrix

scale

public void scale(java.awt.Point center,
                  double xscale,
                  double yscale)
Skaliert das Objekt mit xscale und yscale so, daß der Punkt middle davon unberührt bleibt.
Specified by:
scale in interface AffineTransformable
Parameters:
middle - Mittelpunkt, der nicht verschoben werden soll
xscale - Skalierung der X-Achse
yscale - Skalierung der Y-Achse

rotate

public void rotate(java.awt.Point center,
                   double angle)
Dreht das Objekt um den Punkt center mit dem Winkel angle.
Specified by:
rotate in interface AffineTransformable
Parameters:
center - Drehpunkt
angle - Drehwinkel

rotate

public void rotate(java.awt.Point center,
                   java.awt.Point start,
                   java.awt.Point end)
Dreht das Objekt um den Punkt center mit dem Winkel start-center-end.
Specified by:
rotate in interface AffineTransformable
Parameters:
center - Drehpunkt
start - Startpunkt
end - Endpunkt

translate

public void translate(int dx,
                      int dy)
Verschiebt das Objekt um den Vektor (dx,dy).
Specified by:
translate in interface AffineTransformable
Parameters:
(dx,dy) - Verschiebungsvektor

isSelectable

public boolean isSelectable()
Falls isSelectable true zurückgibt, kann das Objekt selektiert werden.
Specified by:
isSelectable in interface Selectable
Returns:
true, falls Objekt gerade selektierbar ist

getObjectEditorMode

public byte getObjectEditorMode()
Liefert den Objekteditormodus. Der Rückgabewert sollte eine der drei Konstanten aus Selectable sein.
Specified by:
getObjectEditorMode in interface Selectable

getSelectionBorder

public java.awt.Rectangle getSelectionBorder()
Liefert den Selektionsrahmen eines selektierbaren Objektes in aktuellen Bildschirmkoordinaten. Der Selektionsrahmen sollte bei endlichen Objekten dem kleinsten umschließenden Rechteck entsprechen.
Specified by:
getSelectionBorder in interface Selectable
Returns:
Selektionsrahmen

getRealBounds

public java.awt.Rectangle getRealBounds()
Liefert den Bereich, den alle Objekte belegen.
Specified by:
getRealBounds in interface Selectable
Returns:
belegter Bereich