apollo.gui.drawable
Interface Drawable

All Superinterfaces:
SelectableI
All Known Subinterfaces:
DrawableSetI
All Known Implementing Classes:
DoubleHeadedArrow, DrawableEnsemblFeatureSet, DrawableFeatureSet, DrawableGeneFeatureSet, DrawableGeneSeqFeature, DrawableHalfArrow, DrawablePhaseHighlightGeneFeatureSet, DrawablePhaseHighlightGeneSeqFeature, DrawablePhaseHighlightNoHatGeneFeatureSet, DrawablePrimerSet, DrawableResultFeatureSet, DrawableResultSeqFeature, DrawableSeqFeature, PromoterGlyph, SiteCodon, ThinRectangle, Triangle, Zigzag

public interface Drawable
extends SelectableI

An interface defining methods necessary for a drawable object


Method Summary
 void deleteDrawable(Drawable child)
          If drawable contains child, deletes it
 boolean draw(java.awt.Graphics g, Transformer transformer, TierManagerI manager)
           
 boolean draw(java.awt.Graphics g, Transformer transformer, TierManagerI manager, PixelMaskI mask)
          Draws the Drawable onto the Graphics
 Drawable findDrawable(SeqFeatureI sf)
           
 java.awt.Rectangle getBoxBounds()
           
 java.lang.String getDisplayLabel()
           
 int getDrawLevel()
          returns the number of levels in the hierarchy that this will draw
 int getEnd()
           
 SeqFeatureI getFeature()
          each drawable contains the actual datamodel for that feature and must support both setting and getting the actual datamodel
 FeatureProperty getFeatureProperty()
          sets the FeatureProperty for the drawable, if it is is to be shown
 int getHigh()
           
 int getLeft(Transformer transformer)
           
 int getLow()
           
 java.lang.String getName()
           
 Drawable getRefDrawable()
           
 int getRight(Transformer transformer)
           
 int getSize(Transformer transformer, TierManagerI manager)
           
 int getStart()
          these are for ease of use and pass through to the actual datamodel for the feature
 int getStrand()
           
 int getTierIndex(TierManagerI manager)
          Get the tier on which this Drawable resides
 java.lang.String getType()
           
 boolean intersects(java.awt.Rectangle pixrect, Transformer transformer, TierManagerI manager)
           
 boolean isDecorated()
           
 boolean isDrawn()
          returns true if FeatureSetI is really just a holder.
 boolean isVisible()
          Determine if this Drawable is to be drawn.
 void setBoxBounds(java.awt.Rectangle r)
           
 void setDrawLevel(int level)
           
 void setDrawn(boolean drawn)
           
 void setEdgeHighlights(int[] edges, boolean state, Transformer transformer)
           
 void setFeature(SeqFeatureI sf)
           
 void setHighlighted(boolean state)
           
 void setRefDrawable(Drawable dfs)
           
 void setTierIndex(int index)
          Set the tier on which this Drawable resides
 void setVisible(boolean visible)
          Set whether this Drawable is to be drawn or not.
 void synchFeatureProperty()
          For efficiency of drawing, feat prop is cached.
 
Methods inherited from interface apollo.gui.SelectableI
isSelected, setSelected
 

Method Detail

getDrawLevel

int getDrawLevel()
returns the number of levels in the hierarchy that this will draw


setDrawLevel

void setDrawLevel(int level)

draw

boolean draw(java.awt.Graphics g,
             Transformer transformer,
             TierManagerI manager,
             PixelMaskI mask)
Draws the Drawable onto the Graphics


draw

boolean draw(java.awt.Graphics g,
             Transformer transformer,
             TierManagerI manager)

getLeft

int getLeft(Transformer transformer)

getRight

int getRight(Transformer transformer)

getDisplayLabel

java.lang.String getDisplayLabel()

setVisible

void setVisible(boolean visible)
Set whether this Drawable is to be drawn or not.


isVisible

boolean isVisible()
Determine if this Drawable is to be drawn.


setTierIndex

void setTierIndex(int index)
Set the tier on which this Drawable resides


getTierIndex

int getTierIndex(TierManagerI manager)
Get the tier on which this Drawable resides


getFeature

SeqFeatureI getFeature()
each drawable contains the actual datamodel for that feature and must support both setting and getting the actual datamodel


setFeature

void setFeature(SeqFeatureI sf)

findDrawable

Drawable findDrawable(SeqFeatureI sf)

isDrawn

boolean isDrawn()
returns true if FeatureSetI is really just a holder. Its not a "real feature". It cant be drawn. e.g. Gene is not a holder, the FeatureSet that holds all of the Genes is a holder, its sole purpose is to hold all the genes.


setDrawn

void setDrawn(boolean drawn)

getFeatureProperty

FeatureProperty getFeatureProperty()
sets the FeatureProperty for the drawable, if it is is to be shown


isDecorated

boolean isDecorated()

setHighlighted

void setHighlighted(boolean state)

setEdgeHighlights

void setEdgeHighlights(int[] edges,
                       boolean state,
                       Transformer transformer)

getBoxBounds

java.awt.Rectangle getBoxBounds()

setBoxBounds

void setBoxBounds(java.awt.Rectangle r)

getSize

int getSize(Transformer transformer,
            TierManagerI manager)

intersects

boolean intersects(java.awt.Rectangle pixrect,
                   Transformer transformer,
                   TierManagerI manager)

getStart

int getStart()
these are for ease of use and pass through to the actual datamodel for the feature


getEnd

int getEnd()

getLow

int getLow()

getHigh

int getHigh()

getStrand

int getStrand()

getType

java.lang.String getType()

getName

java.lang.String getName()

setRefDrawable

void setRefDrawable(Drawable dfs)

getRefDrawable

Drawable getRefDrawable()

deleteDrawable

void deleteDrawable(Drawable child)
If drawable contains child, deletes it


synchFeatureProperty

void synchFeatureProperty()
For efficiency of drawing, feat prop is cached. This method explicitly resynchs drawable with its features feature property