Package weka.gui
Class SimpleCLIPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.scripting.ScriptingPanel
weka.gui.SimpleCLIPanel
- All Implemented Interfaces:
ActionListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,Perspective,TitleUpdatedListener
@PerspectiveInfo(ID="simplecli",
title="Simple CLI",
toolTipText="Simple CLI for Weka",
iconPath="weka/gui/weka_icon_new_small.png")
public class SimpleCLIPanel
extends ScriptingPanel
implements ActionListener, Perspective
Creates a very simple command line for invoking the main method of classes.
System.out and System.err are redirected to an output area. Features a simple
command history -- use up and down arrows to move through previous commmands.
This gui uses only AWT (i.e. no Swing).
- Author:
- Len Trigg (trigg@cs.waikato.ac.nz), FracPete (fracpete at waikato dot ac dot nz)
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA class that handles running the main method of the class in a separate thread.static classA class for commandline completion of classnames.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_ALIGNMENT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns true if this perspective can do something meaningful with a set of instancesvoidOnly gets called when return is pressed in the input area, which starts the command running.voidperforms commandline completion on packages and classnames.voidChanges the currently displayed command line when certain keys are pressed.Returns the command history.Get the default settings for this perspective (or null if there are none)getIcon()Returns an icon to be used in a frame.Get the main application that this perspective belongs toNot supported.getMenus()Get an ordered list of menus to appear in the main menu bar.Returns the text area that is used for displaying output on stdout and stderr.The output area.Get the icon for this perspectiveGet the ID of this perspectiveGet the tool tip text for this perspectiveGet the title of this perspectivegetTitle()Returns the current title for the frame/dialog.Returns the variables.voidGets called when startup of the application has completed.booleanisBusy()Checks whether a thread is currently running.static voidDisplays the panel in a frame.booleanReturns true if this perspective is OK with being an active perspective - i.e.booleanWhether this perspective requires a graphical log to write tovoidrunCommand(String command) Executes a simple cli command.voidsetActive(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.voidStarts the thread.voidStops the currently running thread, if any.Methods inherited from class weka.gui.scripting.ScriptingPanel
addTitleUpdatedListener, getDebug, removeTitleUpdatedListener, setDebug, showPanel, showPanel, terminate, titleUpdatedMethods 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, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
SimpleCLIPanel
public SimpleCLIPanel()
-
-
Method Details
-
instantiationComplete
public void instantiationComplete()Description copied from interface:PerspectiveGets called when startup of the application has completed. At this point, and only at this point, is it guaranteed that a perspective has access to its hosting application and the PerspectiveManager. Implementations can use this method to complete their initialization in this method if this requires access to information from the main application and/or the PerspectiveManager (i.e. knowledge about what other perspectives are available).- Specified by:
instantiationCompletein interfacePerspective
-
okToBeActive
public boolean okToBeActive()Description copied from interface:PerspectiveReturns true if this perspective is OK with being an active perspective - i.e. the user can click on this perspective at this time in the perspective toolbar. For example, a Perspective might return false from this method if it needs a set of instances to operate but none have been supplied yet.- Specified by:
okToBeActivein interfacePerspective- Returns:
- true if this perspective can be active at the current time
-
setActive
public void setActive(boolean active) Description copied from interface:PerspectiveSet 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) Description copied from interface:PerspectiveSet 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
Description copied from interface:PerspectiveSet the main application. Gives other perspectives access to information provided by the main application- Specified by:
setMainApplicationin interfacePerspective- Parameters:
main- the main application
-
getMainApplication
Description copied from interface:PerspectiveGet the main application that this perspective belongs to- Specified by:
getMainApplicationin interfacePerspective- Returns:
- the main application that this perspective belongs to
-
getPerspectiveID
Description copied from interface:PerspectiveGet the ID of this perspective- Specified by:
getPerspectiveIDin interfacePerspective- Returns:
- the ID of this perspective
-
getPerspectiveTitle
Description copied from interface:PerspectiveGet the title of this perspective- Specified by:
getPerspectiveTitlein interfacePerspective- Returns:
- the title of this perspective
-
getPerspectiveIcon
Description copied from interface:PerspectiveGet the icon for this perspective- Specified by:
getPerspectiveIconin interfacePerspective- Returns:
- the icon for this perspective
-
getPerspectiveTipText
Description copied from interface:PerspectiveGet the tool tip text for this perspective- Specified by:
getPerspectiveTipTextin interfacePerspective- Returns:
- the tool tip text for this perspective
-
getMenus
Description copied from interface:PerspectiveGet 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
-
getDefaultSettings
Description copied from interface:PerspectiveGet 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()Description copied from interface:PerspectiveCalled when the user alters settings. The settings altered by the user are not necessarily ones related to this perspective- Specified by:
settingsChangedin interfacePerspective
-
acceptsInstances
public boolean acceptsInstances()Description copied from interface:PerspectiveReturns true if this perspective can do something meaningful with a set of instances- Specified by:
acceptsInstancesin interfacePerspective- Returns:
- true if this perspective accepts instances
-
setInstances
Description copied from interface:PerspectiveSet instances (if this perspective can use them)- Specified by:
setInstancesin interfacePerspective- Parameters:
instances- the instances
-
requiresLog
public boolean requiresLog()Description copied from interface:PerspectiveWhether this perspective requires a graphical log to write to- Specified by:
requiresLogin interfacePerspective- Returns:
- true if a log is needed by this perspective
-
setLog
Description copied from interface:PerspectiveSet a log to use (if required by the perspective)- Specified by:
setLogin interfacePerspective- Parameters:
log- the graphical log to use
-
getIcon
Returns an icon to be used in a frame.- Specified by:
getIconin classScriptingPanel- Returns:
- the icon
-
getTitle
Returns the current title for the frame/dialog.- Specified by:
getTitlein classScriptingPanel- Returns:
- the title
-
getOutput
Returns the text area that is used for displaying output on stdout and stderr.- Specified by:
getOutputin classScriptingPanel- Returns:
- the JTextArea
-
getMenuBar
Not supported.- Specified by:
getMenuBarin classScriptingPanel- Returns:
- always null
-
isBusy
public boolean isBusy()Checks whether a thread is currently running.- Returns:
- true if thread active
-
startThread
Starts the thread.- Parameters:
runner- the thread to start
-
stopThread
public void stopThread()Stops the currently running thread, if any. -
getVariables
Returns the variables.- Returns:
- the variables
-
getOutputArea
The output area.- Returns:
- the output area
-
getCommandHistory
Returns the command history.- Returns:
- the history
-
runCommand
Executes a simple cli command.- Parameters:
command- the command string- Throws:
Exception- if an error occurs
-
doHistory
Changes the currently displayed command line when certain keys are pressed. The up arrow moves back through history entries and the down arrow moves forward through history entries.- Parameters:
e- a value of type 'KeyEvent'
-
doCommandlineCompletion
performs commandline completion on packages and classnames.- Parameters:
e- a value of type 'KeyEvent'
-
actionPerformed
Only gets called when return is pressed in the input area, which starts the command running.- Specified by:
actionPerformedin interfaceActionListener- Parameters:
e- a value of type 'ActionEvent'
-
main
Displays the panel in a frame.- Parameters:
args- ignored
-