gishur.gui.displayobject
Class DisplayXPoint

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

public class DisplayXPoint
extends DisplayObject
implements ObjectEditorSupport, Selectable, AffineTransformable

DisplayObject für ein XPoint-Objekt.


Field Summary
 java.awt.Color bordercolor
          Randfarbe.
 java.awt.Color color
          Punktfarbe.
 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.
 
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
DisplayXPoint(java.lang.Object p)
          Öffentlicher Konstruktor.
 
Method Summary
 Shape calculateShape(ScreenTransformation transform)
          Berechnet ein neues Shape-Objekt mit Hilfe der Transformation transform.
 void copyStyle(DisplayXPoint p)
          Übernimmt den Stil aus dem DisplayXPoint 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.
static GraphicPrimitive getPointArea(int x, int y, int shape, int radius)
          Gibt das Punkt-Gebiet zurück, das durch einen Punkt an (x,y) mit der Form belegt wird.
static GraphicPrimitive getPointArea(java.awt.Point p, int shape, int radius)
           
 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.
static void paintPoint(java.awt.Graphics g, int x, int y, byte shape, int radius, java.awt.Color color, java.awt.Color bordercolor)
          Malt einen Punkt.
static void paintPoint(java.awt.Graphics g, java.awt.Point p, byte shape, int radius, java.awt.Color color, java.awt.Color bordercolor)
           
 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

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.

selectable

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

DisplayXPoint

public DisplayXPoint(java.lang.Object p)
Öffentlicher Konstruktor. Verknüpft das DisplayObjekt mit einem XPoint.
Method Detail

copyStyle

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

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

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

getPointArea

public static GraphicPrimitive getPointArea(int x,
                                            int y,
                                            int shape,
                                            int radius)
Gibt das Punkt-Gebiet zurück, das durch einen Punkt an (x,y) mit der Form belegt wird.
Parameters:
x,y - Position des Punktes
shape - Form-Konstante
Returns:
GraphicPrimitive mit der entspr. Form

getPointArea

public static GraphicPrimitive getPointArea(java.awt.Point p,
                                            int shape,
                                            int radius)

paintPoint

public static void paintPoint(java.awt.Graphics g,
                              int x,
                              int y,
                              byte shape,
                              int radius,
                              java.awt.Color color,
                              java.awt.Color bordercolor)
Malt einen Punkt.
Parameters:
g - Graphics auf das gemalt werden soll
x - X-Koordinate
y - Y-Koordinate
shape - Punktform
radius - Radius
color - Punktfarbe
bordercolor - Punktrandfarbe

paintPoint

public static void paintPoint(java.awt.Graphics g,
                              java.awt.Point p,
                              byte shape,
                              int radius,
                              java.awt.Color color,
                              java.awt.Color bordercolor)

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