weka.gui

## Interface GUIApplication

- All Known Implementing Classes:
    AbstractGUIApplication, KnowledgeFlowApp, WorkbenchApp

      public interface GUIApplication

  Interface to a GUIApplication that can have multiple "perspectives" and provide application-level and perspective-level settings. Implementations would typically extend `AbstractGUIApplication`.
  Version:
    $Revision: $
  Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Defaults` | `getApplicationDefaults()` Get the default values of settings for this application
    `java.lang.String` | `getApplicationID()` Get the ID of this application - any string unique to this application can be used
    `java.lang.String` | `getApplicationName()` Get the name of this application
    `Settings` | `getApplicationSettings()` Get the current settings for this application
    `Perspective` | `getMainPerspective()` Get the main `Perspective` of this application - i.e.
    `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(java.lang.Exception cause)` Popup a dialog displaying the supplied Exception
    `void` | `showInfoDialog(java.lang.Object information, java.lang.String title, boolean isWarning)` Popup an information dialog
    `void` | `showMenuBar(javax.swing.JFrame topLevelAncestor)` Show the menu bar for the application
    `void` | `showPerspectivesToolBar()` Show the perspectives toolbar

- - ### Method Detail

    - #### getApplicationName

          java.lang.String getApplicationName()

      Get the name of this application
      Returns:
        the name of this application

    - #### getApplicationID

          java.lang.String getApplicationID()

      Get the ID of this application - any string unique to this application can be used
      Returns:
        the ID of this application

    - #### getPerspectiveManager

          PerspectiveManager getPerspectiveManager()

      Get the `PerspectiveManager` in use by this application
      Returns:
        the `Perspective Manager`

    - #### getMainPerspective

          Perspective getMainPerspective()

      Get the main `Perspective` of this application - i.e. this is the panel, tab, screen etc. that is visible first at start-up.
      Returns:
        the main perspective

    - #### isPerspectivesToolBarVisible

          boolean isPerspectivesToolBarVisible()

      Returns true if the perspectives toolbar is visible at the current time
      Returns:
        true if the perspectives toolbar is visible

    - #### hidePerspectivesToolBar

          void hidePerspectivesToolBar()

      Hide the perspectives toolbar

    - #### showPerspectivesToolBar

          void showPerspectivesToolBar()

      Show the perspectives toolbar

    - #### showErrorDialog

          void showErrorDialog(java.lang.Exception cause)

      Popup a dialog displaying the supplied Exception
      Parameters:
        `cause` - the exception to show

    - #### showInfoDialog

          void showInfoDialog(java.lang.Object information,
                              java.lang.String title,
                              boolean isWarning)

      Popup an information dialog
      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

    - #### getApplicationDefaults

          Defaults getApplicationDefaults()

      Get the default values of settings for this application
      Returns:
        the default values of the settings for this applications

    - #### getApplicationSettings

          Settings getApplicationSettings()

      Get the current settings for this application
      Returns:
        the current settings for this application

    - #### settingsChanged

          void settingsChanged()

      Called when settings are changed by the user

    - #### revalidate

          void revalidate()

      Force a re-validation and repaint() of the application

    - #### showMenuBar

          void showMenuBar(javax.swing.JFrame topLevelAncestor)

      Show the menu bar for the application
      Parameters:
        `topLevelAncestor` - the JFrame that contains the application