Package weka.gui

Class AbstractPerspective

All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, Perspective
Direct Known Subclasses:
AssociationsPanel, AttributeSelectionPanel, AttributeSummaryPerspective, ClassifierPanel, ClustererPanel, Experimenter, MainKFPerspective, PreprocessPanel, ScatterPlotMatrixPerspective, SQLViewerPerspective, VisualizePanel

public abstract class AbstractPerspective extends JPanel implements Perspective
Base classes for GUI perspectives to extend. Clients that extend this class and make use of the @PerspectiveInfo annotation will only need to override/implement a few methods.
Version:
$Revision: $
Author:
Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  • Constructor Details

    • AbstractPerspective

      public AbstractPerspective()
      Constructor
    • AbstractPerspective

      public AbstractPerspective(String ID, String title)
      Constructor
      Parameters:
      ID - the ID of the perspective
      title - the title of the the perspective
  • Method Details

    • terminate

      public void terminate()
      Subclasses should override this to free any additional resources (e.g., JFrames and threads) when the perspective is no longer needed. This default method removes all menus that a perspective might have because references to various components may be included in the event handlers of these menus.
    • instantiationComplete

      public void instantiationComplete()
      No-opp implementation. Subclasses should override if they can only complete initialization by accessing the main application and/or the PerspectiveManager. References to these two things are guaranteed to be available when this method is called during the startup process
      Specified by:
      instantiationComplete in interface Perspective
    • okToBeActive

      public boolean okToBeActive()
      Returns true if the perspective is usable at this time. This is a no-opp implementation that always returns true. Subclasses should override if there are specific conditions that need to be met (e.g. can't operate if there are no instances set).
      Specified by:
      okToBeActive in interface Perspective
      Returns:
      true if this perspective is usable at this time
    • setActive

      public void setActive(boolean active)
      Set active status of this perspective. True indicates that this perspective is the visible active perspective in the application
      Specified by:
      setActive in interface Perspective
      Parameters:
      active - true if this perspective is the active one
    • setLoaded

      public void setLoaded(boolean loaded)
      Set whether this perspective is "loaded" - i.e. whether or not the user has opted to have it available in the perspective toolbar. The perspective can make the decision as to allocating or freeing resources on the basis of this. Note that the main application and perspective manager instances are not available to the perspective until the instantiationComplete() method has been called.
      Specified by:
      setLoaded in interface Perspective
      Parameters:
      loaded - true if the perspective is available in the perspective toolbar of the KnowledgeFlow
    • setMainApplication

      public void setMainApplication(GUIApplication main)
      Set the main application. Gives other perspectives access to information provided by the main application
      Specified by:
      setMainApplication in interface Perspective
      Parameters:
      main - the main application
    • getMainApplication

      public GUIApplication getMainApplication()
      Get the main application that this perspective belongs to
      Specified by:
      getMainApplication in interface Perspective
      Returns:
      the main application that this perspective belongs to
    • getPerspectiveID

      public String getPerspectiveID()
      Get the ID of this perspective
      Specified by:
      getPerspectiveID in interface Perspective
      Returns:
      the ID of this perspective
    • getPerspectiveTitle

      public String getPerspectiveTitle()
      Get the title of this perspective
      Specified by:
      getPerspectiveTitle in interface Perspective
      Returns:
      the title of this perspective
    • getPerspectiveTipText

      public String getPerspectiveTipText()
      Get the tool tip text for this perspective
      Specified by:
      getPerspectiveTipText in interface Perspective
      Returns:
      the tool tip text for this perspective
    • getPerspectiveIcon

      public Icon getPerspectiveIcon()
      Get the icon for this perspective
      Specified by:
      getPerspectiveIcon in interface Perspective
      Returns:
      the icon for this perspective
    • getMenus

      public List<JMenu> getMenus()
      Get an ordered list of menus to appear in the main menu bar. Return null for no menus
      Specified by:
      getMenus in interface Perspective
      Returns:
      a list of menus to appear in the main menu bar or null for no menus
    • setInstances

      public void setInstances(Instances instances)
      Set instances (if this perspective can use them)
      Specified by:
      setInstances in interface Perspective
      Parameters:
      instances - the instances
    • acceptsInstances

      public boolean acceptsInstances()
      Returns true if this perspective can do something meaningful with a set of instances
      Specified by:
      acceptsInstances in interface Perspective
      Returns:
      true if this perspective accepts instances
    • requiresLog

      public boolean requiresLog()
      Whether this perspective requires a graphical log to write to
      Specified by:
      requiresLog in interface Perspective
      Returns:
      true if a log is needed by this perspective
    • getDefaultSettings

      public Defaults getDefaultSettings()
      Get the default settings for this perspective (or null if there are none)
      Specified by:
      getDefaultSettings in interface Perspective
      Returns:
      the default settings for this perspective, or null if the perspective does not have any settings
    • settingsChanged

      public void settingsChanged()
      Called when the user alters settings. The settings altered by the user are not necessarily ones related to this perspective
      Specified by:
      settingsChanged in interface Perspective
    • setLog

      public void setLog(Logger log)
      Set a log to use (if required by the perspective)
      Specified by:
      setLog in interface Perspective
      Parameters:
      log - the graphical log to use
    • toString

      public String toString()
      Returns the perspective's title
      Overrides:
      toString in class Component
      Returns:
      the title of the perspective