Class GYutsis

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--GYutsis
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, javax.swing.event.ChangeListener, java.awt.event.ComponentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class GYutsis
extends javax.swing.JFrame
implements java.awt.event.ActionListener, javax.swing.event.ChangeListener, java.awt.event.ComponentListener

This class implements a GUI illustrating the algorithm implemented by CycleCostAlgorithm. In advanced mode the algorithm can be followed step by step while keeping track of the changes in the underlying Yutsis Graph and the applied rules.

Author:
Dries.VanDyck@rug.ac.be
See Also:
YutsisGraph, GenRecoupCoeff, StreamPanel, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int CYCLE_COUNT_HEURISTIC
          Use an instance of CycleCountHeuristic.CYCLE_COUNT as heuristic.
static int EDGE_COST_HEURISTIC
          Use an instance of EdgeCostHeuristic as heuristic.
static int GENERIC_OUTPUT
          Generic output.
static int LATEX_OUTPUT
          Generate Maple output.
static int MAPLE_OUTPUT
          Generate LaTeX output.
static int MORE_SMALLER_LESS_BIGGER_HEURISTIC
          Use an instance of CycleCountHeuristic.MORE_SMALLER_LESS_BIGGER as heuristic (default).
static int RACAH_OUTPUT
          Generate RACAH output.
 
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
GYutsis()
          Creates the GYutsis window.
GYutsis(java.io.File f)
          Creates the GYutsis window with title title and reads the graph from the File file.
GYutsis(YutsisGraph y)
          Creates the GYutsis window with the given YutsisGraph.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Implementation of the ActionListener interface.
 void componentHidden(java.awt.event.ComponentEvent e)
          Default implementation of the ComponentListener.
 void componentMoved(java.awt.event.ComponentEvent e)
          Default implementation of the ComponentListener.
 void componentResized(java.awt.event.ComponentEvent e)
          Implementation of the ComponentListener, reuse GRWrappedStringVisitor to wrap the formula.
 void componentShown(java.awt.event.ComponentEvent e)
          Default implementation of the ComponentListener.
static void main(java.lang.String[] args)
          Main method which creates a GYutsis window.
 void setHeuristic(int heuristic)
          Sets the heuristic to be used when no bubbles or triangles are available.
 void setOutputFormat(int outputformat)
          Sets the format of the output in the outputfield.
 void stateChanged(javax.swing.event.ChangeEvent ce)
          Implementation of the ChangeListener interface.
 
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, 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, setIconImage, 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, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, 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, 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, isOpaque, 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, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, 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

GENERIC_OUTPUT

public static final int GENERIC_OUTPUT
Generic output.

See Also:
Constant Field Values

MAPLE_OUTPUT

public static final int MAPLE_OUTPUT
Generate LaTeX output.

See Also:
Constant Field Values

LATEX_OUTPUT

public static final int LATEX_OUTPUT
Generate Maple output.

See Also:
Constant Field Values

RACAH_OUTPUT

public static final int RACAH_OUTPUT
Generate RACAH output.

See Also:
Constant Field Values

EDGE_COST_HEURISTIC

public static final int EDGE_COST_HEURISTIC
Use an instance of EdgeCostHeuristic as heuristic.

See Also:
EdgeCostHeuristic, Constant Field Values

MORE_SMALLER_LESS_BIGGER_HEURISTIC

public static final int MORE_SMALLER_LESS_BIGGER_HEURISTIC
Use an instance of CycleCountHeuristic.MORE_SMALLER_LESS_BIGGER as heuristic (default).

See Also:
CycleCountHeuristic, CycleCountHeuristic#MORE_SMALLER_LESS_BIGGER, Constant Field Values

CYCLE_COUNT_HEURISTIC

public static final int CYCLE_COUNT_HEURISTIC
Use an instance of CycleCountHeuristic.CYCLE_COUNT as heuristic.

See Also:
CycleCountHeuristic, CycleCountHeuristic#CYCLE_COUNT, Constant Field Values
Constructor Detail

GYutsis

public GYutsis()
Creates the GYutsis window.


GYutsis

public GYutsis(YutsisGraph y)
        throws java.io.IOException
Creates the GYutsis window with the given YutsisGraph.

Parameters:
y - the current YutsisGraph defining the problem
See Also:
YutsisGraph

GYutsis

public GYutsis(java.io.File f)
        throws java.io.IOException
Creates the GYutsis window with title title and reads the graph from the File file.

Parameters:
f - the file from which a problem is read
Method Detail

componentHidden

public void componentHidden(java.awt.event.ComponentEvent e)
Default implementation of the ComponentListener.

Specified by:
componentHidden in interface java.awt.event.ComponentListener

componentMoved

public void componentMoved(java.awt.event.ComponentEvent e)
Default implementation of the ComponentListener.

Specified by:
componentMoved in interface java.awt.event.ComponentListener

componentShown

public void componentShown(java.awt.event.ComponentEvent e)
Default implementation of the ComponentListener.

Specified by:
componentShown in interface java.awt.event.ComponentListener

componentResized

public void componentResized(java.awt.event.ComponentEvent e)
Implementation of the ComponentListener, reuse GRWrappedStringVisitor to wrap the formula.

Specified by:
componentResized in interface java.awt.event.ComponentListener
See Also:
GRWrappedStringVisitor

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Implementation of the ActionListener interface.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent ce)
Implementation of the ChangeListener interface.

Specified by:
stateChanged in interface javax.swing.event.ChangeListener

setHeuristic

public void setHeuristic(int heuristic)
Sets the heuristic to be used when no bubbles or triangles are available.

Parameters:
heuristic - the heuristic to be used, possible values are EDGE_COST_HEURISTIC, MORE_SMALLER_LESS_BIGGER_HEURISTIC, CYCLE_COUNT_HEURISTIC.
See Also:
EDGE_COST_HEURISTIC, MORE_SMALLER_LESS_BIGGER_HEURISTIC, CYCLE_COUNT_HEURISTIC

setOutputFormat

public void setOutputFormat(int outputformat)
Sets the format of the output in the outputfield.

Parameters:
outputformat - the format to be used, possible values are: GENERIC_OUTPUT, LATEX_OUTPUT, MAPLE_OUTPUT, RACAH_OUTPUT.
See Also:
GENERIC_OUTPUT, LATEX_OUTPUT, MAPLE_OUTPUT, RACAH_OUTPUT

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Main method which creates a GYutsis window.

java.io.IOException