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:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, StepInteractiveViewer
  Direct Known Subclasses:
    AttributeSummarizerInteractiveView, BoundaryPlotterInteractiveView, CostBenefitAnalysisInteractiveView, DataVisualizerInteractiveView, GraphViewerInteractiveView, ImageViewerInteractiveView, ModelPerformanceChartInteractiveView, ScatterPlotMatrixInteractiveView, StripChartInteractiveView, TextViewerInteractiveView

      public abstract class BaseInteractiveViewer
      extends javax.swing.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

      `javax.swing.JComponent.AccessibleJComponent`

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

      `java.awt.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 and Description
    `BaseInteractiveViewer()` Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addButton(javax.swing.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(java.awt.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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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 Detail

    - #### BaseInteractiveViewer

          public BaseInteractiveViewer()

      Constructor

  - ### Method Detail

    - #### 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:
        `theStep` - 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(java.awt.Window parent)

      Set the parent window for this viewer
      Specified by:
        `setParentWindow` in interface `StepInteractiveViewer`
      Parameters:
        `parent` - the parent window

    - #### addButton

          public void addButton(javax.swing.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. 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