Package weka.gui
Class AbstractPerspective
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.AbstractPerspective
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Perspective
- Direct Known Subclasses:
AssociationsPanel
,AttributeSelectionPanel
,AttributeSummaryPerspective
,ClassifierPanel
,ClustererPanel
,Experimenter
,MainKFPerspective
,PreprocessPanel
,ScatterPlotMatrixPerspective
,SQLViewerPerspective
,VisualizePanel
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:
-
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
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns true if this perspective can do something meaningful with a set of instancesGet the default settings for this perspective (or null if there are none)Get the main application that this perspective belongs togetMenus()
Get an ordered list of menus to appear in the main menu bar.Get the icon for this perspectiveGet the ID of this perspectiveGet the tool tip text for this perspectiveGet the title of this perspectivevoid
No-opp implementation.boolean
Returns true if the perspective is usable at this time.boolean
Whether this perspective requires a graphical log to write tovoid
setActive
(boolean active) Set active status of this perspective.void
setInstances
(Instances instances) Set instances (if this perspective can use them)void
setLoaded
(boolean loaded) Set whether this perspective is "loaded" - i.e.void
Set a log to use (if required by the perspective)void
Set the main application.void
Called when the user alters settings.void
Subclasses should override this to free any additional resources (e.g., JFrames and threads) when the perspective is no longer needed.toString()
Returns the perspective's titleMethods 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, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
AbstractPerspective
public AbstractPerspective()Constructor -
AbstractPerspective
Constructor- Parameters:
ID
- the ID of the perspectivetitle
- 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 interfacePerspective
-
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 interfacePerspective
- 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 interfacePerspective
- 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 interfacePerspective
- Parameters:
loaded
- true if the perspective is available in the perspective toolbar of the KnowledgeFlow
-
setMainApplication
Set the main application. Gives other perspectives access to information provided by the main application- Specified by:
setMainApplication
in interfacePerspective
- Parameters:
main
- the main application
-
getMainApplication
Get the main application that this perspective belongs to- Specified by:
getMainApplication
in interfacePerspective
- Returns:
- the main application that this perspective belongs to
-
getPerspectiveID
Get the ID of this perspective- Specified by:
getPerspectiveID
in interfacePerspective
- Returns:
- the ID of this perspective
-
getPerspectiveTitle
Get the title of this perspective- Specified by:
getPerspectiveTitle
in interfacePerspective
- Returns:
- the title of this perspective
-
getPerspectiveTipText
Get the tool tip text for this perspective- Specified by:
getPerspectiveTipText
in interfacePerspective
- Returns:
- the tool tip text for this perspective
-
getPerspectiveIcon
Get the icon for this perspective- Specified by:
getPerspectiveIcon
in interfacePerspective
- Returns:
- the icon for this perspective
-
getMenus
Get an ordered list of menus to appear in the main menu bar. Return null for no menus- Specified by:
getMenus
in interfacePerspective
- Returns:
- a list of menus to appear in the main menu bar or null for no menus
-
setInstances
Set instances (if this perspective can use them)- Specified by:
setInstances
in interfacePerspective
- 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 interfacePerspective
- 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 interfacePerspective
- Returns:
- true if a log is needed by this perspective
-
getDefaultSettings
Get the default settings for this perspective (or null if there are none)- Specified by:
getDefaultSettings
in interfacePerspective
- 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 interfacePerspective
-
setLog
Set a log to use (if required by the perspective)- Specified by:
setLog
in interfacePerspective
- Parameters:
log
- the graphical log to use
-
toString
Returns the perspective's title
-