org.processmining.framework.ui
Class MainUI

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by org.processmining.framework.ui.MainUI
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, Provider

public class MainUI
extends javax.swing.JFrame
implements Provider

Version:
1.1
Author:
Peter van den Brand, Christian W. Guenther (christian@deckfour.org)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  ActionBar actionBar
           
static int RECOM_PORT
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
MainUI()
          construct the MainUI.
 
Method Summary
 void addAction(Plugin plugin, java.lang.String eventType, java.lang.Object[] parameters)
           
 void addAction(java.lang.String actionName, java.lang.String eventType, java.lang.Object[] parameters)
          Adds an action to the history of this execution of the framework
 void addGlobalProvidedObject(ProvidedObject object)
          Adds a provided object to the list of global provided objects .
 boolean connectResultWithLog(LogReaderConnection conn, LogReader newLog, Plugin plugin)
           
 void createAnalysisResultFrame(AnalysisPlugin algorithm, AnalysisInputItem[] input, javax.swing.JComponent result)
          Adds a frame to the desktop.
 void createConversionResultFrame(ConvertingPlugin algorithm, MiningResult result)
          Adds a frame to the desktop.
 void createFrame(java.lang.String title, javax.swing.JComponent comp)
           
 OpenLogSettings createOpenLogFrame(LogFile file)
          Adds a frame to the desktop.
 void createVisualizationFrame(java.lang.String title, MiningResult result, Plugin plugin)
          Adds a frame to the desktop with the given title.
 MDIDesktopPane getDesktop()
          Returns the desktop of this user interface,
 ProvidedObject[] getGlobalProvidedObjects()
          This returns the global providedObjects known to the framework
static MainUI getInstance()
           
 ProvidedObject[] getProvidedObjects()
          This returns the providedObjects known to the framework as well as the provided objects of the selected frame.
 void importFromFile(ImportPlugin algorithm, java.lang.String filename, LogReader log)
          Called to import a given file by a given ImportPlugin.
 void quit()
           
 void setMessagesVisible(boolean visible)
           
 void setParameters(java.lang.String algArgument, java.lang.String logArgument, java.lang.String mineProcess)
          setParameters sets the input parameters used by the main() method of ProM Note that it is assumed that logArgument is not empty;
 void showReference(Plugin plugin)
           
 void toggleMessagesVisible()
           
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

RECOM_PORT

public static final int RECOM_PORT
See Also:
Constant Field Values

actionBar

protected ActionBar actionBar
Constructor Detail

MainUI

public MainUI()
construct the MainUI. This method should only be called once. All further communication with the UI should be done through MainUI.getInstance()

Method Detail

getInstance

public static MainUI getInstance()

showReference

public void showReference(Plugin plugin)

quit

public void quit()

toggleMessagesVisible

public void toggleMessagesVisible()

setMessagesVisible

public void setMessagesVisible(boolean visible)

createAnalysisResultFrame

public void createAnalysisResultFrame(AnalysisPlugin algorithm,
                                      AnalysisInputItem[] input,
                                      javax.swing.JComponent result)
Adds a frame to the desktop. This frame contains the JComponent result that was created by the analysisplugin algorithm on the given input.

Parameters:
algorithm - AnalysisPlugin
input - AnalysisInputItem[]
result - JComponent

getDesktop

public MDIDesktopPane getDesktop()
Returns the desktop of this user interface,

Returns:
JDesktopPane

createConversionResultFrame

public void createConversionResultFrame(ConvertingPlugin algorithm,
                                        MiningResult result)
Adds a frame to the desktop. This frame contains the JComponent result that was created by the conversionPlugin algorithm.

Parameters:
algorithm - ConvertingPlugin
result - MiningResult

createOpenLogFrame

public OpenLogSettings createOpenLogFrame(LogFile file)
Adds a frame to the desktop. This frame is split in two parts. The lefthand side contains the default options for a log file. The righthand side is defined in the getOptionsPanel() method of the NoMiningAction MiningPlugin. Note that in this method the whole log is read once to construct a summary required for the options panel.

Parameters:
file - LogFile
algorithm - MiningPlugin
Returns:
OpenLogSettings A pointer to the frame that was creates (used in setParameters)

importFromFile

public void importFromFile(ImportPlugin algorithm,
                           java.lang.String filename,
                           LogReader log)
Called to import a given file by a given ImportPlugin. This method is called by the import menu.

Parameters:
algorithm - ImportPlugin
filename - String
log - LogReader to connect to (can be null if none selected). If not null, the algorithm should be instance of LogReaderConnectionImportPlugin.

connectResultWithLog

public boolean connectResultWithLog(LogReaderConnection conn,
                                    LogReader newLog,
                                    Plugin plugin)

createVisualizationFrame

public void createVisualizationFrame(java.lang.String title,
                                     MiningResult result,
                                     Plugin plugin)
Adds a frame to the desktop with the given title. The content of the frame is the given MiningResult.

Parameters:
title - String
result - MiningResult
plugin - Plugin representing the plugin that created this frame

createFrame

public void createFrame(java.lang.String title,
                        javax.swing.JComponent comp)

addAction

public void addAction(java.lang.String actionName,
                      java.lang.String eventType,
                      java.lang.Object[] parameters)
Adds an action to the history of this execution of the framework

Parameters:
plugin - The plugin called
eventType - The eventType of the action. Preferably, this String should refer to one of the public constants in org.processmining.framework.log.LogStateMachine

addAction

public void addAction(Plugin plugin,
                      java.lang.String eventType,
                      java.lang.Object[] parameters)

addGlobalProvidedObject

public void addGlobalProvidedObject(ProvidedObject object)
Adds a provided object to the list of global provided objects .

Parameters:
object - The ProvidedObject to add to the global provided objects.

getGlobalProvidedObjects

public ProvidedObject[] getGlobalProvidedObjects()
This returns the global providedObjects known to the framework

Returns:
ProvidedObject[]

getProvidedObjects

public ProvidedObject[] getProvidedObjects()
This returns the providedObjects known to the framework as well as the provided objects of the selected frame.

Specified by:
getProvidedObjects in interface Provider
Returns:
ProvidedObject[]

setParameters

public void setParameters(java.lang.String algArgument,
                          java.lang.String logArgument,
                          java.lang.String mineProcess)
setParameters sets the input parameters used by the main() method of ProM Note that it is assumed that logArgument is not empty;

Parameters:
algArgument - String to specify the algorithm to load. This can be the getName() value, or the classname
logArgument - String to specify the log file to read. Can start with "zip://" etc for loading from zip.
mineProcess - String to specify the process to start mining immediately. Note that if this argument is not empty, the framework will include all events in the given process of the given log.