Package weka.gui

# Class AbstractGUIApplication

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

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

Direct Known Subclasses:
  `KnowledgeFlowApp`, `WorkbenchApp`

public abstract class AbstractGUIApplication extends JPanel implements GUIApplication
Base class for GUI applications in Weka

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
  `AbstractGUIApplication()`
  Default constructor
  `AbstractGUIApplication(boolean layoutComponent, String... allowedPerspectiveClassPrefixes)`
  Constructor
  `AbstractGUIApplication(boolean layoutComponent, String[] allowedPerspectiveClassPrefixes, String[] disallowedPerspectiveClassPrefixes)`
  Constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Settings`
  `getApplicationSettings()`
  Get the current settings for this application
  `PerspectiveManager`
  `getPerspectiveManager()`
  Get the `PerspectiveManager` in use by this application
  `void`
  `hidePerspectivesToolBar()`
  Hide the perspectives toolbar
  `boolean`
  `isPerspectivesToolBarVisible()`
  Returns true if the perspectives toolbar is visible at the current time
  `void`
  `revalidate()`
  Force a re-validation and repaint() of the application
  `void`
  `settingsChanged()`
  Called when settings are changed by the user
  `void`
  `showErrorDialog(Exception cause)`
  Popup a dialog displaying the supplied Exception
  `void`
  `showInfoDialog(Object information, String title, boolean isWarning)`
  Popup an information dialog
  `void`
  `showMenuBar(JFrame topLevelAncestor)`
  Show the menu bar for the application
  `void`
  `showPerspectivesToolBar()`
  Show the perspectives toolbar
  `void`
  `terminate()`
  Method to be called when GUI application is no longer needed, to free up resources so that they can be garbage collected.

  ### 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, 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.GUIApplication

  `getApplicationDefaults, getApplicationID, getApplicationName, getMainPerspective`

- ## Constructor Details

  - ### AbstractGUIApplication

    public AbstractGUIApplication()
    Default constructor

  - ### AbstractGUIApplication

    public AbstractGUIApplication(boolean layoutComponent, String[] allowedPerspectiveClassPrefixes, String[] disallowedPerspectiveClassPrefixes)
    Constructor
    Parameters:
      `layoutComponent` - true if the application should layout the component with the "default" layout - i.e. the perspectives toolbar at the north of a `BorderLayout` and the `PerspectiveManager` at the center
      `allowedPerspectiveClassPrefixes` - `Perspective`s (loaded via the PluginManager) whose fully qualified class names start with these prefixes will be displayed in this application
      `disallowedPerspectiveClassPrefixes` - `Perspective`s (loaded via the PluginManager) whose fully qualified class names start with these prefixes will not be displayed in this application. Note that disallowedPerspectiveClassPrefixes override allowedPerspectivePrefixes

  - ### AbstractGUIApplication

    public AbstractGUIApplication(boolean layoutComponent, String... allowedPerspectiveClassPrefixes)
    Constructor
    Parameters:
      `layoutComponent` - true if the application should layout the component with the "default" layout - i.e. the perspectives toolbar at the north of a `BorderLayout` and the `PerspectiveManager` at the center
      `allowedPerspectiveClassPrefixes` - `Perspective`s (loaded via the PluginManager) whose fully qualified class names start with these prefixes will be displayed in this application

- ## Method Details

  - ### terminate

    public void terminate()
    Method to be called when GUI application is no longer needed, to free up resources so that they can be garbage collected. Just calls the corresponding method of the the PerspectiveManager.

  - ### getPerspectiveManager

    public PerspectiveManager getPerspectiveManager()
    Get the `PerspectiveManager` in use by this application
    Specified by:
      `getPerspectiveManager` in interface `GUIApplication`
    Returns:
      the `Perspective Manager`

  - ### getApplicationSettings

    public Settings getApplicationSettings()
    Get the current settings for this application
    Specified by:
      `getApplicationSettings` in interface `GUIApplication`
    Returns:
      the current settings for this application

  - ### isPerspectivesToolBarVisible

    public boolean isPerspectivesToolBarVisible()
    Returns true if the perspectives toolbar is visible at the current time
    Specified by:
      `isPerspectivesToolBarVisible` in interface `GUIApplication`
    Returns:
      true if the perspectives toolbar is visible

  - ### hidePerspectivesToolBar

    public void hidePerspectivesToolBar()
    Hide the perspectives toolbar
    Specified by:
      `hidePerspectivesToolBar` in interface `GUIApplication`

  - ### showPerspectivesToolBar

    public void showPerspectivesToolBar()
    Show the perspectives toolbar
    Specified by:
      `showPerspectivesToolBar` in interface `GUIApplication`

  - ### settingsChanged

    public void settingsChanged()
    Called when settings are changed by the user
    Specified by:
      `settingsChanged` in interface `GUIApplication`

  - ### showMenuBar

    public void showMenuBar(JFrame topLevelAncestor)
    Show the menu bar for the application
    Specified by:
      `showMenuBar` in interface `GUIApplication`
    Parameters:
      `topLevelAncestor` - the JFrame that contains the application

  - ### showErrorDialog

    public void showErrorDialog(Exception cause)
    Popup a dialog displaying the supplied Exception
    Specified by:
      `showErrorDialog` in interface `GUIApplication`
    Parameters:
      `cause` - the exception to show

  - ### showInfoDialog

    public void showInfoDialog(Object information, String title, boolean isWarning)
    Popup an information dialog
    Specified by:
      `showInfoDialog` in interface `GUIApplication`
    Parameters:
      `information` - the "information" (typically some text) to display
      `title` - the title for the dialog
      `isWarning` - true if this is a warning rather than just information

  - ### revalidate

    public void revalidate()
    Force a re-validation and repaint() of the application
    Specified by:
      `revalidate` in interface `GUIApplication`
    Overrides:
      `revalidate` in class `JComponent`