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.AccessibleJComponentNested 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_WINDOWFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns 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 perspectivevoidNo-opp implementation.booleanReturns true if the perspective is usable at this time.booleanWhether this perspective requires a graphical log to write tovoidsetActive(boolean active) Set active status of this perspective.voidsetInstances(Instances instances) Set instances (if this perspective can use them)voidsetLoaded(boolean loaded) Set whether this perspective is "loaded" - i.e.voidSet a log to use (if required by the perspective)voidSet the main application.voidCalled when the user alters settings.voidSubclasses 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, updateUIMethods 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, updateMethods 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, validateMethods 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:
instantiationCompletein 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:
okToBeActivein 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:
setActivein 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:
setLoadedin 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:
setMainApplicationin interfacePerspective- Parameters:
main- the main application
-
getMainApplication
Get the main application that this perspective belongs to- Specified by:
getMainApplicationin interfacePerspective- Returns:
- the main application that this perspective belongs to
-
getPerspectiveID
Get the ID of this perspective- Specified by:
getPerspectiveIDin interfacePerspective- Returns:
- the ID of this perspective
-
getPerspectiveTitle
Get the title of this perspective- Specified by:
getPerspectiveTitlein interfacePerspective- Returns:
- the title of this perspective
-
getPerspectiveTipText
Get the tool tip text for this perspective- Specified by:
getPerspectiveTipTextin interfacePerspective- Returns:
- the tool tip text for this perspective
-
getPerspectiveIcon
Get the icon for this perspective- Specified by:
getPerspectiveIconin 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:
getMenusin 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:
setInstancesin 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:
acceptsInstancesin interfacePerspective- Returns:
- true if this perspective accepts instances
-
requiresLog
public boolean requiresLog()Whether this perspective requires a graphical log to write to- Specified by:
requiresLogin 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:
getDefaultSettingsin 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:
settingsChangedin interfacePerspective
-
setLog
Set a log to use (if required by the perspective)- Specified by:
setLogin interfacePerspective- Parameters:
log- the graphical log to use
-
toString
Returns the perspective's title
-