Package weka.gui.knowledgeflow

# Class BaseInteractiveViewer

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.knowledgeflow.BaseInteractiveViewer

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`, `StepInteractiveViewer`

Direct Known Subclasses:
  `AttributeSummarizerInteractiveView`, `BoundaryPlotterInteractiveView`, `CostBenefitAnalysisInteractiveView`, `DataVisualizerInteractiveView`, `GraphViewerInteractiveView`, `ImageViewerInteractiveView`, `ModelPerformanceChartInteractiveView`, `ScatterPlotMatrixInteractiveView`, `StripChartInteractiveView`, `TextViewerInteractiveView`

public abstract class BaseInteractiveViewer extends JPanel implements StepInteractiveViewer
Base class than clients can extend when implementing `StepInteractiveViewer`. Provides a `BorderLayout` with a close button in the south position. Also provides a `addButton()` method that subclasses can call to add additional buttons to the bottom of the window. If the subclass returns a default settings object from the `getDefaultSettings()` method, then a settings button will also appear at the bottom of the window - this will pop up a settings editor. In this case, the subclass should also override the no-op `applySettings()` method in order to apply any settings changes that the user might have made in the settings editor. There is also a `closePressed()` method that is called when the close button is pressed. Subclasses can override this method as necessary.

Version:
  $Revision: $
Author:
  Mark Hall (mhall{[at]}pentaho{[dot]}com)
See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class javax.swing.JComponent

  `JComponent.AccessibleJComponent`

  ## Nested classes/interfaces inherited from class java.awt.Component

  `Component.BaselineResizeBehavior`

- ## Field Summary

  ### Fields inherited from class javax.swing.JComponent

  `TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

  ### Fields inherited from class java.awt.Component

  `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

  ### Fields inherited from interface java.awt.image.ImageObserver

  `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BaseInteractiveViewer()`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addButton(JButton button)`
  Adds a button to the bottom of the window.
  `void`
  `applySettings(Settings settings)`
  No-op implementation.
  `void`
  `closePressed()`
  Called when the close button is pressed.
  `Defaults`
  `getDefaultSettings()`
  Get default settings for the viewer.
  `MainKFPerspective`
  `getMainKFPerspective()`
  Get the main knowledge flow perspective.
  `Settings`
  `getSettings()`
  Get the settings object for the application
  `Step`
  `getStep()`
  Get the step that owns this viewer.
  `void`
  `nowVisible()`
  Called by the KnowledgeFlow application once the enclosing JFrame is visible
  `void`
  `setMainKFPerspective(MainKFPerspective perspective)`
  Set the main knowledge flow perspective.
  `void`
  `setParentWindow(Window parent)`
  Set the parent window for this viewer
  `void`
  `setStep(Step step)`
  Set the step that owns this viewer.

  ### Methods inherited from class javax.swing.JPanel

  `getAccessibleContext, getUI, getUIClassID, setUI, updateUI`

  ### Methods inherited from class javax.swing.JComponent

  `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

  ### Methods inherited from class java.awt.Container

  `add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate`

  ### Methods inherited from class java.awt.Component

  `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface weka.gui.knowledgeflow.StepInteractiveViewer

  `getViewerName, init`

- ## Constructor Details

  - ### BaseInteractiveViewer

    public BaseInteractiveViewer()
    Constructor

- ## Method Details

  - ### getSettings

    public Settings getSettings()
    Get the settings object for the application
    Specified by:
      `getSettings` in interface `StepInteractiveViewer`
    Returns:
      the settings object the settings object

  - ### applySettings

    public void applySettings(Settings settings)
    No-op implementation. Subcasses should override to be notified about, and apply, any changed settings
    Parameters:
      `settings` - the settings object that might (or might not) have been altered by the user

  - ### setMainKFPerspective

    public void setMainKFPerspective(MainKFPerspective perspective)
    Set the main knowledge flow perspective. Implementations can then access application settings if necessary
    Specified by:
      `setMainKFPerspective` in interface `StepInteractiveViewer`
    Parameters:
      `perspective` - the main knowledge flow perspective

  - ### getMainKFPerspective

    public MainKFPerspective getMainKFPerspective()
    Get the main knowledge flow perspective. Implementations can the access application settings if necessary
    Specified by:
      `getMainKFPerspective` in interface `StepInteractiveViewer`
    Returns:

  - ### setStep

    public void setStep(Step step)
    Set the step that owns this viewer. Implementations may want to access data that has been computed by the step in question.
    Specified by:
      `setStep` in interface `StepInteractiveViewer`
    Parameters:
      `step` - the step that owns this viewer

  - ### getStep

    public Step getStep()
    Get the step that owns this viewer.
    Returns:
      the `Step` that owns this viewer

  - ### nowVisible

    public void nowVisible()
    Called by the KnowledgeFlow application once the enclosing JFrame is visible
    Specified by:
      `nowVisible` in interface `StepInteractiveViewer`

  - ### setParentWindow

    public void setParentWindow(Window parent)
    Set the parent window for this viewer
    Specified by:
      `setParentWindow` in interface `StepInteractiveViewer`
    Parameters:
      `parent` - the parent window

  - ### addButton

    public void addButton(JButton button)
    Adds a button to the bottom of the window.
    Parameters:
      `button` - the button to add.

  - ### closePressed

    public void closePressed()
    Called when the close button is pressed. This default implementation sets all references stored in this viewer to null so that garbage collection is facilitated. Subclasses should override if they need to do something before the window is closed.

  - ### getDefaultSettings

    public Defaults getDefaultSettings()
    Get default settings for the viewer. Default implementation returns null, i.e. no default settings. Subclasses can override if they have settings (with default values) that the user can edit.
    Returns:
      the default settings for this viewer, or null if there are no user-editable settings