Class AbstractView

All Implemented Interfaces:
Autoscroll, ImageObserver, MenuContainer, Serializable, EventListener, AttributeListener, EdgeListener, GraphListener, NodeListener, TransactionListener, View, Zoomable, ZoomListener
Direct Known Subclasses:
GraffitiView, MatrixView

public abstract class AbstractView
extends JComponent
implements View
enclosing_type
Version:
$Revision: 1.22 $
See Also:
Serialized Form
  • Constructor Details

    • AbstractView

      public AbstractView()
      Constructs a new GraffitiView. The graph is initialized with an instance of the default implementation.
    • AbstractView

      public AbstractView​(Graph currentGraph)
      Constructs a new GraffitiView for the specified Graph.
      Parameters:
      currentGraph - the Graph for which to construct the new GraffitiView.
  • Method Details

    • getGraphElementComponent

      public GraphElementComponent getGraphElementComponent​(GraphElement ge)
    • clearGraphElementComponentMap

      public void clearGraphElementComponentMap()
    • getGraphElementComponentMap

      public Map<GraphElement,​GraphElementComponent> getGraphElementComponentMap()
    • removeGraphElementComponent

      public void removeGraphElementComponent​(GraphElement ge)
    • getAttributeComponentsForElement

      public Set<AttributeComponent> getAttributeComponentsForElement​(GraphElement ge)
      Specified by:
      getAttributeComponentsForElement in interface View
    • setAttributeComponentManager

      public void setAttributeComponentManager​(AttributeComponentManager acm)
      Sets the AttributeComponentManager used by this view.
      Specified by:
      setAttributeComponentManager in interface View
      Parameters:
      acm - DOCUMENT ME!
    • setGraph

      public abstract void setGraph​(Graph g)
      Sets the graph this view displays.
      Specified by:
      setGraph in interface View
      Parameters:
      g - the graph this view should display.
    • getGraph

      public Graph getGraph()
      Specified by:
      getGraph in interface View
    • getAutoscrollInsets

      public Insets getAutoscrollInsets()
      Specified by:
      getAutoscrollInsets in interface Autoscroll
      See Also:
      Autoscroll.getAutoscrollInsets()
    • getComponentElementMap

      public Map<GraphElement,​GraphElementComponent> getComponentElementMap()
      Description copied from interface: View
      Returns the map mapping GraphElements with GraphElementComponents.
      Specified by:
      getComponentElementMap in interface View
      Returns:
      DOCUMENT ME!
      See Also:
      View.getComponentElementMap()
    • getComponentForElement

      public GraphElementComponent getComponentForElement​(GraphElement ge)
      Returns the main GraphElementComponent associated with the given GraphELement.
      Specified by:
      getComponentForElement in interface View
      Parameters:
      ge - GraphElement for which the component is wanted.
      Returns:
      the GraphElementComponent used to display the given GraphElement. null if no component is registered for the element (or it has been mapped to null explicitly).
    • getViewComponent

      public JComponent getViewComponent()
      Description copied from interface: View
      Returns the main component of the view.
      Specified by:
      getViewComponent in interface View
      Returns:
      the main component of the view.
      See Also:
      View.getViewComponent()
    • getViewName

      public String getViewName()
      Returns the viewName.
      Specified by:
      getViewName in interface View
      Returns:
      String
    • getZoom

      public AffineTransform getZoom()
      Description copied from interface: Zoomable
      DOCUMENT ME!
      Specified by:
      getZoom in interface Zoomable
      Returns:
      DOCUMENT ME!
      See Also:
      Zoomable.getZoom()
    • addMessageListener

      public void addMessageListener​(MessageListener ml)
      Adds a message listener to the view.
      Specified by:
      addMessageListener in interface View
      Parameters:
      ml - a message listener
      Throws:
      IllegalArgumentException - DOCUMENT ME!
    • autoresize

      public void autoresize​(Point location)
      Resizes the panel dynamically so that enough drawing space is available.
      Parameters:
      location - the point that should be checked for border conflicts
    • autoscroll

      public void autoscroll​(Point location)
      Specified by:
      autoscroll in interface Autoscroll
      See Also:
      Autoscroll.autoscroll(Point)
    • close

      public void close()
      Closes the current view.
      Specified by:
      close in interface View
    • postAttributeAdded

      public void postAttributeAdded​(AttributeEvent e)
      Called after an attribute has been added.
      Specified by:
      postAttributeAdded in interface AttributeListener
      Parameters:
      e - the AttributeEvent detailing the changes.
    • postAttributeChanged

      public void postAttributeChanged​(AttributeEvent e)
      Called after an attribute has been changed.
      Specified by:
      postAttributeChanged in interface AttributeListener
      Parameters:
      e - the AttributeEvent detailing the changes.
    • postAttributeRemoved

      public void postAttributeRemoved​(AttributeEvent e)
      Called after an attribute has been removed.
      Specified by:
      postAttributeRemoved in interface AttributeListener
      Parameters:
      e - the AttributeEvent detailing the changes.
    • postDirectedChanged

      public void postDirectedChanged​(EdgeEvent e)
      Called after the edge was set directed or undirected.
      Specified by:
      postDirectedChanged in interface EdgeListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • postEdgeAdded

      public void postEdgeAdded​(GraphEvent e)
      Called after an edge has been added to the graph.
      Specified by:
      postEdgeAdded in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • postEdgeRemoved

      public void postEdgeRemoved​(GraphEvent e)
      Called after an edge has been removed from the graph.
      Specified by:
      postEdgeRemoved in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • postEdgeReversed

      public void postEdgeReversed​(EdgeEvent e)
      Called after the edge has been reversed.
      Specified by:
      postEdgeReversed in interface EdgeListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • postGraphCleared

      public void postGraphCleared​(GraphEvent e)
      Called after method clear() has been called on a graph. No other events (like remove events) are generated.
      Specified by:
      postGraphCleared in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • postInEdgeAdded

      public void postInEdgeAdded​(NodeEvent e)
      Called just after an incoming edge has been added to the node. (For undirected edges postUndirectedEdgeAdded is called instead.)
      Parameters:
      e - The NodeEvent detailing the changes.
    • postInEdgeRemoved

      public void postInEdgeRemoved​(NodeEvent e)
      Called after an incoming edge has been removed from the node. (For undirected edges postUndirectedEdgeRemoved is called.)
      Parameters:
      e - The NodeEvent detailing the changes.
    • postNodeAdded

      public void postNodeAdded​(GraphEvent e)
      Called after an edge has been added to the graph.
      Specified by:
      postNodeAdded in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • postNodeRemoved

      public void postNodeRemoved​(GraphEvent e)
      Called after a node has been removed from the graph. All edges incident to this node have already been removed (preEdgeRemoved and postEdgeRemoved have been called).
      Specified by:
      postNodeRemoved in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • postOutEdgeAdded

      public void postOutEdgeAdded​(NodeEvent e)
      Called after an outgoing edge has been added to the node. (For undirected edges postUndirectedEdgeAdded is called instead.)
      Parameters:
      e - The NodeEvent detailing the changes.
    • postOutEdgeRemoved

      public void postOutEdgeRemoved​(NodeEvent e)
      Called after an outgoing edge has been removed from the node. (For undirected edges postUndirectedEdgeRemoved is called.)
      Parameters:
      e - The NodeEvent detailing the changes.
    • postSourceNodeChanged

      public void postSourceNodeChanged​(EdgeEvent e)
      Called after the source node of an edge has changed.
      Specified by:
      postSourceNodeChanged in interface EdgeListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • postTargetNodeChanged

      public void postTargetNodeChanged​(EdgeEvent e)
      Called after the target node of an edge has changed.
      Specified by:
      postTargetNodeChanged in interface EdgeListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • postUndirectedEdgeAdded

      public void postUndirectedEdgeAdded​(NodeEvent e)
      Called after an (undirected) edge has been added to the node. (For directed edges pre- In/Out- EdgeAdded is called.)
      Specified by:
      postUndirectedEdgeAdded in interface NodeListener
      Parameters:
      e - The NodeEvent detailing the changes.
    • postUndirectedEdgeRemoved

      public void postUndirectedEdgeRemoved​(NodeEvent e)
      Called after an (undirected) edge has been removed from the node. (For directed edges pre- In/Out- EdgeRemoved is called.)
      Specified by:
      postUndirectedEdgeRemoved in interface NodeListener
      Parameters:
      e - The NodeEvent detailing the changes.
    • preAttributeAdded

      public void preAttributeAdded​(AttributeEvent e)
      Called just before an attribute is added.
      Specified by:
      preAttributeAdded in interface AttributeListener
      Parameters:
      e - the AttributeEvent detailing the changes.
    • preAttributeChanged

      public void preAttributeChanged​(AttributeEvent e)
      Called before a change of an attribute takes place.
      Specified by:
      preAttributeChanged in interface AttributeListener
      Parameters:
      e - the AttributeEvent detailing the changes.
    • preAttributeRemoved

      public void preAttributeRemoved​(AttributeEvent e)
      Called just before an attribute is removed.
      Specified by:
      preAttributeRemoved in interface AttributeListener
      Parameters:
      e - the AttributeEvent detailing the changes.
    • preDirectedChanged

      public void preDirectedChanged​(EdgeEvent e)
      Called before the edge is set directed or undirected.
      Specified by:
      preDirectedChanged in interface EdgeListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • preEdgeAdded

      public void preEdgeAdded​(GraphEvent e)
      Called just before an edge is added to the graph.
      Specified by:
      preEdgeAdded in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • preEdgeRemoved

      public void preEdgeRemoved​(GraphEvent e)
      Called just before an edge is removed from the graph.
      Specified by:
      preEdgeRemoved in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • preEdgeReversed

      public void preEdgeReversed​(EdgeEvent e)
      Called before the edge is going to be reversed.
      Specified by:
      preEdgeReversed in interface EdgeListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • preGraphCleared

      public void preGraphCleared​(GraphEvent e)
      Called before method clear() is called on a graph. No other events (like remove events) are generated.
      Specified by:
      preGraphCleared in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • preInEdgeAdded

      public void preInEdgeAdded​(NodeEvent e)
      Called just before an incoming edge is added to the node. (For undirected edges preUndirectedEdgeAdded is called instead.)
      Parameters:
      e - The NodeEvent detailing the changes.
    • preInEdgeRemoved

      public void preInEdgeRemoved​(NodeEvent e)
      Called just before an incoming edge is removed from the node. (For undirected edges preUndirectedEdgeRemoved is called.)
      Parameters:
      e - The NodeEvent detailing the changes.
    • preNodeAdded

      public void preNodeAdded​(GraphEvent e)
      Called just before a node is added to the graph.
      Specified by:
      preNodeAdded in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • preNodeRemoved

      public void preNodeRemoved​(GraphEvent e)
      Called just before a node is removed from the graph. This method is called before the incident edges are deleted.
      Specified by:
      preNodeRemoved in interface GraphListener
      Parameters:
      e - the GraphEvent detailing the changes.
    • preOutEdgeAdded

      public void preOutEdgeAdded​(NodeEvent e)
      Called just before an outgoing edge is added to the node. (For undirected edges preUndirectedEdgeAdded is called instead.)
      Parameters:
      e - The NodeEvent detailing the changes.
    • preOutEdgeRemoved

      public void preOutEdgeRemoved​(NodeEvent e)
      Called just before an outgoing edge is removed from the node. (For undirected edges preUndirectedEdgeRemoved is called.)
      Parameters:
      e - The NodeEvent detailing the changes.
    • preSourceNodeChanged

      public void preSourceNodeChanged​(EdgeEvent e)
      Called before a change of the source node of an edge takes place.
      Specified by:
      preSourceNodeChanged in interface EdgeListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • preTargetNodeChanged

      public void preTargetNodeChanged​(EdgeEvent e)
      Called before a change of the target node of an edge takes place.
      Specified by:
      preTargetNodeChanged in interface EdgeListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • preUndirectedEdgeAdded

      public void preUndirectedEdgeAdded​(NodeEvent e)
      Called just before an (undirected) edge is added to the node. (For directed edges pre- In/Out- EdgeAdded is called.)
      Specified by:
      preUndirectedEdgeAdded in interface NodeListener
      Parameters:
      e - The NodeEvent detailing the changes.
    • preUndirectedEdgeRemoved

      public void preUndirectedEdgeRemoved​(NodeEvent e)
      Called just before an (undirected) edge is removed from the node. (For directed edges pre- In/Out- EdgeRemoved is called.)
      Specified by:
      preUndirectedEdgeRemoved in interface NodeListener
      Parameters:
      e - The NodeEvent detailing the changes.
    • removeMessageListener

      public void removeMessageListener​(MessageListener ml)
      Removes a message listener from the view.
      Specified by:
      removeMessageListener in interface View
      Parameters:
      ml - a message listener
      Throws:
      IllegalArgumentException - DOCUMENT ME!
    • transactionFinished

      public void transactionFinished​(TransactionEvent e, BackgroundTaskStatusProviderSupportingExternalCall status)
      Called when a transaction has stopped.
      Specified by:
      transactionFinished in interface TransactionListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • transactionStarted

      public void transactionStarted​(TransactionEvent e)
      Called when a transaction has started.
      Specified by:
      transactionStarted in interface TransactionListener
      Parameters:
      e - the EdgeEvent detailing the changes.
    • zoomChanged

      public void zoomChanged​(AffineTransform newZoom)
      Description copied from interface: ZoomListener
      Indicates that a zoom value has changed.
      Specified by:
      zoomChanged in interface ZoomListener
    • getViewToolbarComponentTop

      public Object getViewToolbarComponentTop()
      Specified by:
      getViewToolbarComponentTop in interface View
      Returns:
      Null, or a Double Object specifying the height (or a TableLayout-constant) of empty space or a JComponent, placed above the graph view and sized according to its preferred height, the full width of the window is used.
    • getViewToolbarComponentBackground

      public JComponent getViewToolbarComponentBackground()
      Specified by:
      getViewToolbarComponentBackground in interface View
      Returns:
      Either null or JComponent, placed behind the graph view. The size corresponds to the window size. Certain components may draw over the graph view, resulting in redraw bugs. But a simple JComponent with hand-made paint-code should work fine.
    • getViewToolbarComponentBottom

      public Object getViewToolbarComponentBottom()
      Specified by:
      getViewToolbarComponentBottom in interface View
      Returns:
      Null, or a Double Object specifying the height (or a TableLayout-constant) of empty space or a JComponent, placed below the graph view and sized according to its preferred height, the full width of the window is used.
    • getViewToolbarComponentLeft

      public Object getViewToolbarComponentLeft()
      Specified by:
      getViewToolbarComponentLeft in interface View
      Returns:
      Null, or a Double Object specifying the width (or a TableLayout-constant) of empty space or a JComponent, placed left of the graph view and sized according to its preferred height, the height of graph view next to the component is used.
    • getViewToolbarComponentRight

      public Object getViewToolbarComponentRight()
      Specified by:
      getViewToolbarComponentRight in interface View
      Returns:
      Null, or a Double Object specifying the width (or a TableLayout-constant) of empty space or a JComponent, placed to the right of the graph view and sized according to its preferred height, the height of graph view next to the component is used.
    • closing

      public void closing​(AWTEvent e)
      Specified by:
      closing in interface View
    • worksWithTab

      public boolean worksWithTab​(InspectorTab tab)
      Specified by:
      worksWithTab in interface View
    • redrawActive

      public boolean redrawActive()
      Specified by:
      redrawActive in interface Zoomable
      Returns: