Package weka.gui

Class 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:
  • Constructor Details

    • SimpleCLIPanel

      public SimpleCLIPanel()
  • Method Details

    • instantiationComplete

      public void instantiationComplete()
      Description copied from interface: Perspective
      Gets 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:
      instantiationComplete in interface Perspective
    • okToBeActive

      public boolean okToBeActive()
      Description copied from interface: Perspective
      Returns 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:
      okToBeActive in interface Perspective
      Returns:
      true if this perspective can be active at the current time
    • setActive

      public void setActive(boolean active)
      Description copied from interface: Perspective
      Set active status of this perspective. True indicates that this perspective is the visible active perspective in the application
      Specified by:
      setActive in interface Perspective
      Parameters:
      active - true if this perspective is the active one
    • setLoaded

      public void setLoaded(boolean loaded)
      Description copied from interface: Perspective
      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 interface Perspective
      Parameters:
      loaded - true if the perspective is available in the perspective toolbar of the KnowledgeFlow
    • setMainApplication

      public void setMainApplication(GUIApplication main)
      Description copied from interface: Perspective
      Set the main application. Gives other perspectives access to information provided by the main application
      Specified by:
      setMainApplication in interface Perspective
      Parameters:
      main - the main application
    • getMainApplication

      public GUIApplication getMainApplication()
      Description copied from interface: Perspective
      Get the main application that this perspective belongs to
      Specified by:
      getMainApplication in interface Perspective
      Returns:
      the main application that this perspective belongs to
    • getPerspectiveID

      public String getPerspectiveID()
      Description copied from interface: Perspective
      Get the ID of this perspective
      Specified by:
      getPerspectiveID in interface Perspective
      Returns:
      the ID of this perspective
    • getPerspectiveTitle

      public String getPerspectiveTitle()
      Description copied from interface: Perspective
      Get the title of this perspective
      Specified by:
      getPerspectiveTitle in interface Perspective
      Returns:
      the title of this perspective
    • getPerspectiveIcon

      public Icon getPerspectiveIcon()
      Description copied from interface: Perspective
      Get the icon for this perspective
      Specified by:
      getPerspectiveIcon in interface Perspective
      Returns:
      the icon for this perspective
    • getPerspectiveTipText

      public String getPerspectiveTipText()
      Description copied from interface: Perspective
      Get the tool tip text for this perspective
      Specified by:
      getPerspectiveTipText in interface Perspective
      Returns:
      the tool tip text for this perspective
    • getMenus

      public List<JMenu> getMenus()
      Description copied from interface: Perspective
      Get an ordered list of menus to appear in the main menu bar. Return null for no menus
      Specified by:
      getMenus in interface Perspective
      Returns:
      a list of menus to appear in the main menu bar or null for no menus
    • getDefaultSettings

      public Defaults getDefaultSettings()
      Description copied from interface: Perspective
      Get the default settings for this perspective (or null if there are none)
      Specified by:
      getDefaultSettings in interface Perspective
      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: Perspective
      Called when the user alters settings. The settings altered by the user are not necessarily ones related to this perspective
      Specified by:
      settingsChanged in interface Perspective
    • acceptsInstances

      public boolean acceptsInstances()
      Description copied from interface: Perspective
      Returns true if this perspective can do something meaningful with a set of instances
      Specified by:
      acceptsInstances in interface Perspective
      Returns:
      true if this perspective accepts instances
    • setInstances

      public void setInstances(Instances instances)
      Description copied from interface: Perspective
      Set instances (if this perspective can use them)
      Specified by:
      setInstances in interface Perspective
      Parameters:
      instances - the instances
    • requiresLog

      public boolean requiresLog()
      Description copied from interface: Perspective
      Whether this perspective requires a graphical log to write to
      Specified by:
      requiresLog in interface Perspective
      Returns:
      true if a log is needed by this perspective
    • setLog

      public void setLog(Logger log)
      Description copied from interface: Perspective
      Set a log to use (if required by the perspective)
      Specified by:
      setLog in interface Perspective
      Parameters:
      log - the graphical log to use
    • getIcon

      public ImageIcon getIcon()
      Returns an icon to be used in a frame.
      Specified by:
      getIcon in class ScriptingPanel
      Returns:
      the icon
    • getTitle

      public String getTitle()
      Returns the current title for the frame/dialog.
      Specified by:
      getTitle in class ScriptingPanel
      Returns:
      the title
    • getOutput

      public JTextPane getOutput()
      Returns the text area that is used for displaying output on stdout and stderr.
      Specified by:
      getOutput in class ScriptingPanel
      Returns:
      the JTextArea
    • getMenuBar

      public JMenuBar getMenuBar()
      Not supported.
      Specified by:
      getMenuBar in class ScriptingPanel
      Returns:
      always null
    • isBusy

      public boolean isBusy()
      Checks whether a thread is currently running.
      Returns:
      true if thread active
    • startThread

      public void startThread(SimpleCLIPanel.ClassRunner runner)
      Starts the thread.
      Parameters:
      runner - the thread to start
    • stopThread

      public void stopThread()
      Stops the currently running thread, if any.
    • getVariables

      public Map<String,Object> getVariables()
      Returns the variables.
      Returns:
      the variables
    • getOutputArea

      public JTextPane getOutputArea()
      The output area.
      Returns:
      the output area
    • getCommandHistory

      public List<String> getCommandHistory()
      Returns the command history.
      Returns:
      the history
    • runCommand

      public void runCommand(String command) throws Exception
      Executes a simple cli command.
      Parameters:
      command - the command string
      Throws:
      Exception - if an error occurs
    • doHistory

      public void doHistory(KeyEvent e)
      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

      public void doCommandlineCompletion(KeyEvent e)
      performs commandline completion on packages and classnames.
      Parameters:
      e - a value of type 'KeyEvent'
    • actionPerformed

      public void actionPerformed(ActionEvent e)
      Only gets called when return is pressed in the input area, which starts the command running.
      Specified by:
      actionPerformed in interface ActionListener
      Parameters:
      e - a value of type 'ActionEvent'
    • main

      public static void main(String[] args)
      Displays the panel in a frame.
      Parameters:
      args - ignored