uk.ac.ic.doc.automed.editor.autolayout
Class AutoLayoutSchemaObject

java.lang.Object
  extended by uk.ac.ic.doc.automed.editor.autolayout.AutoLayoutPositionable
      extended by uk.ac.ic.doc.automed.editor.autolayout.AutoLayoutSchemaObject
Direct Known Subclasses:
AutoLayoutERObject, AutoLayoutSpringObject, AutoLayoutTreeObject

public class AutoLayoutSchemaObject
extends AutoLayoutPositionable

Author:
Marcin Olawski

Field Summary
protected  java.awt.Point boundsCorrection
           
protected static ExpandedArrayList myGraph
           
 
Fields inherited from class uk.ac.ic.doc.automed.editor.autolayout.AutoLayoutPositionable
autoLayoutPositionablesTable, currentSchema, myPositionableObj, newObjectsClass, pos
 
Constructor Summary
AutoLayoutSchemaObject(Positionable positionableObject)
          Creates a new instance of AutoLayoutPositionableect
 
Method Summary
 java.awt.Point getAbsolutePosition()
           
protected  AutoLayoutSchemaObject[] getAllObjInSchema()
           
protected  int getConstructClass()
          Returns the class of the construct.
protected  AutoLayoutSchemaObject[] getDependentAutoLayoutPositionables()
          Return all AutoLayoutSchemaObject which have a reference to this AutoLayout* in their scheme.
protected  AutoLayoutSchemaObject[] getDependentAutoLayoutPositionables(int constructClass)
          Return AutoLayoutSchemaObject of a particular Construct which have a reference to this AutoLayout* object in their scheme.
 java.awt.Rectangle getFutureBounds()
           
protected  java.awt.Rectangle getFutureSchemaBounds()
           
 AutoLayoutSchemaObject getObjectBetweenMeAnd(AutoLayoutSchemaObject obj)
          Return object which connect this and obj.
protected  AutoLayoutSchemaObject[] getReferencedAutoLayoutPositionables()
          Returns the array of AutoLayoutSchemaObject that are referenced directly or indirectly by this AutoLayout* .
protected  AutoLayoutSchemaObject[] getSchemaObjectsToLayout()
          Same as calling getSchemaObjectsToLayout(null)
protected  AutoLayoutSchemaObject[] getSchemaObjectsToLayout(AutoLayoutSchemaObject butIgnoreMe)
          Get array of objects to layout connected to this object.
protected  boolean hasChild(AutoLayoutPositionable u)
          Function return true if array returned by getSchemaObjectsToLayout() contain u.
static void initAutoLayoutPositionablesTable(Schema schema)
           
protected  void initializeMyGraph(ExpandedArrayList myGraph)
           
 boolean isDependent()
           
 boolean isOnCurrentSchema()
          Detect whether the SchemaObject object connected to this AutoLayout* is present on the current Schema.
 void setAbsolutePosition(int x, int y)
           
 void setFinalPosition()
          Set position in Automed GUI.
 
Methods inherited from class uk.ac.ic.doc.automed.editor.autolayout.AutoLayoutPositionable
doLayout, findAutoLayoutPositionableFor, getDrawable, getLabel, getPosition, isHide, round, setPosition
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

boundsCorrection

protected java.awt.Point boundsCorrection

myGraph

protected static ExpandedArrayList myGraph
Constructor Detail

AutoLayoutSchemaObject

public AutoLayoutSchemaObject(Positionable positionableObject)
Creates a new instance of AutoLayoutPositionableect

Method Detail

getSchemaObjectsToLayout

protected AutoLayoutSchemaObject[] getSchemaObjectsToLayout()
Same as calling getSchemaObjectsToLayout(null)


getSchemaObjectsToLayout

protected AutoLayoutSchemaObject[] getSchemaObjectsToLayout(AutoLayoutSchemaObject butIgnoreMe)
Get array of objects to layout connected to this object.

Instead of getDependentAutoLayoutPositionables() or getReferencedAutoLayoutPositionables() this function returns only objects to layout (e.g. it won't return object that is in hide state or which has been layouted already).

Parameters:
butIgnoreMe - Ignore this object and don.t put it in returned array. If null function return all objects to layout.
Returns:
Array of objects to layout.

getDependentAutoLayoutPositionables

protected AutoLayoutSchemaObject[] getDependentAutoLayoutPositionables()
Return all AutoLayoutSchemaObject which have a reference to this AutoLayout* in their scheme.


getDependentAutoLayoutPositionables

protected AutoLayoutSchemaObject[] getDependentAutoLayoutPositionables(int constructClass)
Return AutoLayoutSchemaObject of a particular Construct which have a reference to this AutoLayout* object in their scheme.


getReferencedAutoLayoutPositionables

protected AutoLayoutSchemaObject[] getReferencedAutoLayoutPositionables()
Returns the array of AutoLayoutSchemaObject that are referenced directly or indirectly by this AutoLayout* .


getConstructClass

protected int getConstructClass()
Returns the class of the construct.


isOnCurrentSchema

public boolean isOnCurrentSchema()
Detect whether the SchemaObject object connected to this AutoLayout* is present on the current Schema.

See Also:
AutoLayoutPositionable.initAutoLayoutPositionablesTable(Schema)

initAutoLayoutPositionablesTable

public static void initAutoLayoutPositionablesTable(Schema schema)

getObjectBetweenMeAnd

public AutoLayoutSchemaObject getObjectBetweenMeAnd(AutoLayoutSchemaObject obj)
Return object which connect this and obj.


setAbsolutePosition

public void setAbsolutePosition(int x,
                                int y)

getAbsolutePosition

public java.awt.Point getAbsolutePosition()

getAllObjInSchema

protected AutoLayoutSchemaObject[] getAllObjInSchema()

getFutureBounds

public java.awt.Rectangle getFutureBounds()

getFutureSchemaBounds

protected java.awt.Rectangle getFutureSchemaBounds()

hasChild

protected boolean hasChild(AutoLayoutPositionable u)
Function return true if array returned by getSchemaObjectsToLayout() contain u.

See Also:
AutoLayoutPositionable#getSchemaObjectsToLayout

initializeMyGraph

protected void initializeMyGraph(ExpandedArrayList myGraph)

setFinalPosition

public void setFinalPosition()
Set position in Automed GUI.

While doing algorithms iterations (method doLayout) objects position is stored in internal variable and GUI isn't updated. To update Automed GUI use this function.


isDependent

public boolean isDependent()