Interface
Class Sema

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended byInterface.Sema
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class Sema
extends javax.swing.JFrame

Class of the main frame of the graphic application.

See Also:
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
 
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
Sema()
          Constructs the application window, with an empty world.
 
Method Summary
 void addEl()
          If in editing mode, asks the user for the string code of a new element and add it to the current world.
 void centerSelectedBox()
          Move the view in order to center the selected Box.
 void centerSelectedElement()
          Move the view in order to center the selected element.
 void edit()
          Asks confirmation and open to edit a simulation.
 float getCenterX()
          Returns the current X-coordinate of the center of the view, in simulated unit.
 float getCenterY()
          Returns the current Y-coordinate of the center of the view, in simulated unit.
 float getdefaultZoom()
          Returns the default zoom.
 boolean getIsEditing()
          Return the current editing state.
 long getRealDisplayDelay()
          Returns the delay of real time between two drawings of the world.
 float getTimeFactor()
          Returns the current time factor.
 double getVirtualDisplayDelay()
          Returns the delay of virtual time between two drawings of the world.
 World getWorld()
          Returns the current world.
 float getZoom()
          Returns the current zoom.
 void goToDate(double t)
          Go to the indicated date without refreshing nor wainting.
 void killSelected()
          Kill the selected element after asking for a confirmation.
static void main(java.lang.String[] args)
          Run SEMA.
 void newSim()
          Creates a new simulation asking for severals parameters.
 void next()
          Go to the next date, executing events registered at this date.
 void open()
          Asks confirmation and open a new simulation.
 void paint(java.awt.Graphics g)
          Paints the component synchronized with the simulation.
 void reset(boolean withBoxfactor)
          Resets the simulation with the current file.
 void run()
          If in editing mode, run the current edited simulation.
 void setCenterPos(float X, float Y)
          Sets the center of the view.
 void setDefaultZoom(float z)
          Sets the default zoom.
 void setEditing(boolean b)
          Sets the editing state.
 void setPause(boolean pause)
          Pause or resume the simulation.
 void setRealDisplayDelay(long t)
          Sets the real display delay.
 void setSelectedBox(Box b)
          Sets the selected box.
 void setSelectedElement(Element e)
          Sets the selected element.
 void setSelection(float x, float y)
          Sets selection at the given point.
 void setTimeFactor(float z)
          Sets the time factor.
 void setVirtualDisplayDelay(double t)
          Sets the virtual display delay.
 void setWorld(World m)
          Sets the world to simulate.
 void setZoom(float z)
          Sets the zoom to z.
 
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, 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
 

Constructor Detail

Sema

public Sema()
Constructs the application window, with an empty world.

Method Detail

getWorld

public World getWorld()
Returns the current world.

Returns:
the current world

setWorld

public void setWorld(World m)
Sets the world to simulate.

Parameters:
m - the new world to use. If null, then doesn't change anything.

getZoom

public float getZoom()
Returns the current zoom.

Returns:
the current zoom.

setZoom

public void setZoom(float z)
Sets the zoom to z.

Parameters:
z - the new zoom value.

getdefaultZoom

public float getdefaultZoom()
Returns the default zoom.

Returns:
the default zoom

setDefaultZoom

public void setDefaultZoom(float z)
Sets the default zoom.

Parameters:
z - the new default zoom.

getCenterX

public float getCenterX()
Returns the current X-coordinate of the center of the view, in simulated unit.

Returns:
the current X-coordinate of the center of the view, in simulated unit.

getCenterY

public float getCenterY()
Returns the current Y-coordinate of the center of the view, in simulated unit.

Returns:
the current Y-coordinate of the center of the view, in simulated unit.

setCenterPos

public void setCenterPos(float X,
                         float Y)
Sets the center of the view.

Parameters:
X - the X-coordinate in simulated unit
Y - the Y-coordinate in simulated unit

centerSelectedElement

public void centerSelectedElement()
Move the view in order to center the selected element.


centerSelectedBox

public void centerSelectedBox()
Move the view in order to center the selected Box.


getTimeFactor

public float getTimeFactor()
Returns the current time factor.

Returns:
the current time factor.

setTimeFactor

public void setTimeFactor(float z)
Sets the time factor.

Parameters:
z - new time factor.

getRealDisplayDelay

public long getRealDisplayDelay()
Returns the delay of real time between two drawings of the world. The effective real delay is less or equal to this one, depending on the virtual display delay.

Returns:
the delay of real time (in millisecondes) between two internal calls to repaint().
See Also:
getVirtualDisplayDelay()

getVirtualDisplayDelay

public double getVirtualDisplayDelay()
Returns the delay of virtual time between two drawings of the world. The effective virtual delay is less or equal to this one depending on the real display delay.

Returns:
the delay of virtual time (in millisecondes) between two internal calls to repaint().
See Also:
getRealDisplayDelay()

setRealDisplayDelay

public void setRealDisplayDelay(long t)
Sets the real display delay.

Parameters:
t - the new real display delay.
See Also:
getRealDisplayDelay()

setVirtualDisplayDelay

public void setVirtualDisplayDelay(double t)
Sets the virtual display delay.

Parameters:
t - the new virtual display delay.
See Also:
getVirtualDisplayDelay()

next

public void next()
Go to the next date, executing events registered at this date. It's synchronized with the display so that the display is coherent and prevents from concurrent access to the world. (coherent because the next method of the engine executes all the events registered at the precise time, and so, there is no refresh in a odd state of the virtual time)

See Also:
Engine.next()

goToDate

public void goToDate(double t)
Go to the indicated date without refreshing nor wainting.

Parameters:
t - the date to go to.
See Also:
Engine.gotoDate(Double)

setPause

public void setPause(boolean pause)
Pause or resume the simulation.

Parameters:
pause - mode.

setSelection

public void setSelection(float x,
                         float y)
Sets selection at the given point. It computes the corresponding box and element, and call setSelectedElement ans setSelectedBox with the right arguments.

Parameters:
x - the X-coordinate (in simulated unit) of the selection point.
y - the Y-coordinate (in simulated unit) of the selection point.
See Also:
setSelectedElement(Element e), setSelectedBox(Box b)

setSelectedBox

public void setSelectedBox(Box b)
Sets the selected box.

Parameters:
b - the box to set selected.

setSelectedElement

public void setSelectedElement(Element e)
Sets the selected element.

Parameters:
e - the element to set selected.

paint

public void paint(java.awt.Graphics g)
Paints the component synchronized with the simulation. painting and next calls to the engine are never simultaneous, so that during the painting process, the state of the world is fixed and not odd.

Parameters:
g - the Graphics context in which to paint
See Also:
next()

getIsEditing

public boolean getIsEditing()
Return the current editing state. (true if editing, false if simulating)

Returns:
the current editing state.

setEditing

public void setEditing(boolean b)
Sets the editing state.

Parameters:
b - the editing state.

addEl

public void addEl()
If in editing mode, asks the user for the string code of a new element and add it to the current world.


killSelected

public void killSelected()
Kill the selected element after asking for a confirmation.


reset

public void reset(boolean withBoxfactor)
Resets the simulation with the current file. Asks for user confirmation.

Parameters:
withBoxfactor - says whether we will ask for a boxfactor or use the sim one.

open

public void open()
Asks confirmation and open a new simulation.


edit

public void edit()
Asks confirmation and open to edit a simulation.


run

public void run()
If in editing mode, run the current edited simulation.


newSim

public void newSim()
Creates a new simulation asking for severals parameters.


main

public static void main(java.lang.String[] args)
Run SEMA.

Parameters:
args - the command line arguments