All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class edu.tucz.via.ListLayout

java.lang.Object
   |
   +----edu.tucz.via.GraphicalObject
           |
           +----edu.tucz.via.CompositeGraphical
                   |
                   +----edu.tucz.via.ListLayout

public class ListLayout
extends CompositeGraphical
Diese Klasse stellt ein Layout für eine einfach verkettete Liste dar. Mit der Erzeugung werden automatisch ein KopfKnoten und ein EndKnoten erzeugt.

Version:
1.0
Author:
Chris Hübsch

Variable Index

 o k0
Der KopfKnoten, der den Beginn der Liste markiert.
 o kn
Der EndKnoten, der das Ende der Liste darstellt.
 o knoten
Ein Vektor, der alle Knoten der Liste enthält.
 o pfeile
Ein Vektor, der alle Pfeile der Liste enthält.

Constructor Index

 o ListLayout(Location)
Erzeugt eine neues ListLayout an der angegebenen Position.

Method Index

 o append(Knoten)
Hängt einen Knoten an die Liste an.
 o draw(Graphics)
Zeichnet alle Elemente des Layouts.
 o exactLayout(Dimension)
Ordnet die Elemente der List neu an.
 o getAllEffected(Knoten)
Ermittelt alle Elemente, die vom angegebenen Knoten abhängig sind.
 o getBoundingRect()
Sollte das Rechteck zurückliefern, daß das gesamte Layout umschließt.
 o getLocation()
Ermittelt die Position der Liste.
 o insertAt(Knoten, int)
Fügt einen Knoten an angegebener Stelle in die Liste ein.
 o layout(Dimension)
Führt für alle Knoten und Pfeile ein layout aus.
 o moveTo(Location)
Bewegt den KopfKnoten der Liste an die angegebene Position.

Variables

 o knoten
  public Vector knoten
Ein Vektor, der alle Knoten der Liste enthält.

 o pfeile
  public Vector pfeile
Ein Vektor, der alle Pfeile der Liste enthält.

 o k0
  public KopfKnoten k0
Der KopfKnoten, der den Beginn der Liste markiert.

 o kn
  public EndKnoten kn
Der EndKnoten, der das Ende der Liste darstellt.

Constructors

 o ListLayout
  public ListLayout(Location at)
Erzeugt eine neues ListLayout an der angegebenen Position. An dieser Position wird ein KopfKnoten erzeugt und 100 logische Einheiten weiter rechts ein EndKnoten. Diese beiden Knoten werden durch einen einfachen Pfeil miteinander verbunden. Beide Knoten werden in den Vector knoten eingefügt. Entsprechend der Pfeil in pfeile.

Parameters:
at - die Position, auf die die Liste beginnen soll

Methods

 o exactLayout
  public void exactLayout(Dimension canvasSize)
Ordnet die Elemente der List neu an. Dabei werden, ausgehend vom StartKnoten, jeweils mit einem Abstand von 50 logischen Einheiten (zwischen den Kanten der Knoten), die Knoten horizontal angeordnet. Danach werden die Pfeile angepaßt.

Parameters:
canvasSize - die Abmessung des Fensters, für das das Layout gemacht wird
Overrides:
exactLayout in class CompositeGraphical
 o layout
  public void layout(Dimension canvasSize)
Führt für alle Knoten und Pfeile ein layout aus. Die Positionen der Knoten werden jedoch nicht verändert. Außerdem werden die Pfeile so angepaßt, daß sie an die "richtigen" Stellen zeigen.

Parameters:
canvasSize - die Abmessung des Fensters, für das das Layout gemacht wird
Overrides:
layout in class GraphicalObject
 o draw
  public void draw(Graphics g)
Zeichnet alle Elemente des Layouts. Nachdem alle Knoten gezeichnet wurden, werden auch die Pfeile gezeichnet.

Parameters:
g - der Kontext, auf den gezeichnet werden soll
Overrides:
draw in class GraphicalObject
 o append
  public void append(Knoten k)
Hängt einen Knoten an die Liste an. Der Knoten wird vor dem EndKnoten eingefügt. Die entsprechenden Pfeile werden erzeugt bzw. "umgebogen".

Parameters:
k - der einzufügende Knoten
 o insertAt
  public void insertAt(Knoten k,
                       int i)
Fügt einen Knoten an angegebener Stelle in die Liste ein. Außerdem werden die Pfeile angepaßt oder neu erzeugt. Die Position 0 ist der erste Knoten nach dem KopfKnoten.

Parameters:
k - der einzufügende Knoten
 o getAllEffected
  public Enumeration getAllEffected(Knoten connectedTo)
Ermittelt alle Elemente, die vom angegebenen Knoten abhängig sind. Abhängige Elemente sind die Pfeile, die mit dem Knoten connectdTo verbunden sind und die benachbarten Knoten.

Parameters:
connectedTo - der Knoten, zu dem die abhängigen Knoten ermittelt werden sollen.
Overrides:
getAllEffected in class CompositeGraphical
 o moveTo
  public void moveTo(Location to)
Bewegt den KopfKnoten der Liste an die angegebene Position. Die restlichen Elemente werden nicht mit bewegt.

Parameters:
to - die neue Position des Kopfes der Liste.
Overrides:
moveTo in class CompositeGraphical
 o getLocation
  public Location getLocation()
Ermittelt die Position der Liste. Die Position der Liste wird durch die Position des KopfKnotens definiert.

Returns:
die Position des Kopfknotens
Overrides:
getLocation in class CompositeGraphical
 o getBoundingRect
  public Rectangle getBoundingRect()
Sollte das Rechteck zurückliefern, daß das gesamte Layout umschließt. Noch nicht implementiert!

Returns:
das Rechteck, das alle Elemente der Liste enthält
Overrides:
getBoundingRect in class GraphicalObject

All Packages  Class Hierarchy  This Package  Previous  Next  Index