edu.colorado.cs.ns2.gui
Class Generator

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 edu.colorado.cs.ns2.gui.Generator
All Implemented Interfaces:
java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class Generator
extends javax.swing.JFrame
implements java.awt.event.WindowListener

This class creates the Basic Frame, the Menus and Icons and Initializes the Listeners.

Author:
Kevin Bauer & Pushkar Sambhoos.
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
static boolean agentStatus
           
private  javax.swing.JMenuBar bar
           
private  java.awt.Container contentPane
           
private  Generator generator
           
private static boolean inAnimationMode
           
private static boolean isNsInstalled
           
static boolean linkStatus
           
private static int MAX_X
           
private static int MAX_Y
           
private  DrawableMover mover
           
private  java.util.Vector<Drawable> myDrawableList
           
static int nextNodeId
           
private static long serialVersionUID
           
(package private)  SimulationData simData
           
private static javax.swing.JLabel statusBar
           
private  float version
           
 
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
Generator()
          Default Constructor.
 
Method Summary
private  void closeFile()
          Close existing Simulation.
 java.lang.String doGenerateScript(boolean generateFile)
          Generates Script using Simulation Data.
 void doNewAgent()
          Creates a New Agent, asks user to Select Node to Attach Agent.
 void doNewLink()
          Creates a Link, asks user to Select First Node.
 void doNewNode()
          Creates a New Node.
static boolean inAnimationMode()
          Set flag when animation starts to lock cgane in topology.
private  void initUI()
          Initialize the user interface.
static boolean isNsInstalled()
          Get flag to check if Ns is installed on the System.
private  void newFile()
          Start a New Simuation.
private  void openFile()
          Open a saved simulation File.
 void paint(java.awt.Graphics g)
           
 void removeAgentConnections()
          Allows removal of a particular Connection from the Simulation Data.
 void removeAgents()
          Used to Remove Agents in the Simulation.
private  void resetNextNodeId(int newId)
          Reset the Node Id after a new Simulation is created or a saved one is loaded.
 void runCommand()
          Runs an Operating System Command.
private  void saveFile()
          Save xurrent Simulation to a File.
 void scheduleEvent()
          Schedules an Event for Simulation.
static void setNsInstalled(boolean isNsInstalled)
          Sets the flag to true if NS is installed on the System.
static void setStatus(java.lang.String message)
          Displays a message in the Status Bar.
private  void setupMenu()
          Creates the Menu Bar and Associates Listners
private  void setupStatusBar()
          Creates the Stauts Bar.
private  void setupToolbar()
          Creates the Toolbar and Associates Icons and Listners.
 void showAgentConnections()
          Shows a List of all Connections in the Simulation.
 void showAgents()
          Shows a list of all Agents in the Simulation.
 void unScheduleEvent()
          Gives a selection of all Simulation Events to allow removal of a Particular One.
 void update(java.awt.Graphics g)
           
 void viewEvent()
          Shows a Message Box with all the Events in the Simulation.
 void windowActivated(java.awt.event.WindowEvent e)
           
 void windowClosed(java.awt.event.WindowEvent e)
           
 void windowClosing(java.awt.event.WindowEvent e)
           
 void windowDeactivated(java.awt.event.WindowEvent e)
           
 void windowDeiconified(java.awt.event.WindowEvent e)
           
 void windowIconified(java.awt.event.WindowEvent e)
           
 void windowOpened(java.awt.event.WindowEvent e)
           
 
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
 
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, 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

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

myDrawableList

private java.util.Vector<Drawable> myDrawableList

MAX_X

private static final int MAX_X
See Also:
Constant Field Values

MAX_Y

private static final int MAX_Y
See Also:
Constant Field Values

simData

SimulationData simData

nextNodeId

public static int nextNodeId

version

private float version

linkStatus

public static boolean linkStatus

agentStatus

public static boolean agentStatus

statusBar

private static javax.swing.JLabel statusBar

mover

private DrawableMover mover

bar

private javax.swing.JMenuBar bar

contentPane

private final java.awt.Container contentPane

inAnimationMode

private static boolean inAnimationMode

isNsInstalled

private static boolean isNsInstalled

generator

private Generator generator
Constructor Detail

Generator

public Generator()
Default Constructor. Creates Objects and Initilises UI.

Method Detail

initUI

private void initUI()
Initialize the user interface.


setupStatusBar

private void setupStatusBar()
Creates the Stauts Bar.


setupMenu

private void setupMenu()
Creates the Menu Bar and Associates Listners


setupToolbar

private void setupToolbar()
Creates the Toolbar and Associates Icons and Listners.


doNewNode

public void doNewNode()
Creates a New Node. Draws it on the Screen and adds it to the Simulation Data


doNewLink

public void doNewLink()
Creates a Link, asks user to Select First Node.


doNewAgent

public void doNewAgent()
Creates a New Agent, asks user to Select Node to Attach Agent.


scheduleEvent

public void scheduleEvent()
Schedules an Event for Simulation.


unScheduleEvent

public void unScheduleEvent()
Gives a selection of all Simulation Events to allow removal of a Particular One.


viewEvent

public void viewEvent()
Shows a Message Box with all the Events in the Simulation.


doGenerateScript

public java.lang.String doGenerateScript(boolean generateFile)
Generates Script using Simulation Data.

Parameters:
generateFile - Set to true if the output file needs to be generated.
Returns:
The whole script as a String

runCommand

public void runCommand()
Runs an Operating System Command.


setStatus

public static void setStatus(java.lang.String message)
Displays a message in the Status Bar.

Parameters:
message - - String to be Displayed.

update

public void update(java.awt.Graphics g)
Overrides:
update in class javax.swing.JFrame

showAgents

public void showAgents()
Shows a list of all Agents in the Simulation.


removeAgents

public void removeAgents()
Used to Remove Agents in the Simulation.


showAgentConnections

public void showAgentConnections()
Shows a List of all Connections in the Simulation.


removeAgentConnections

public void removeAgentConnections()
Allows removal of a particular Connection from the Simulation Data.


paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class java.awt.Container

newFile

private void newFile()
Start a New Simuation.


closeFile

private void closeFile()
Close existing Simulation.


saveFile

private void saveFile()
Save xurrent Simulation to a File.


openFile

private void openFile()
Open a saved simulation File.


resetNextNodeId

private void resetNextNodeId(int newId)
Reset the Node Id after a new Simulation is created or a saved one is loaded.

Parameters:
next - Node Id

windowOpened

public void windowOpened(java.awt.event.WindowEvent e)
Specified by:
windowOpened in interface java.awt.event.WindowListener

windowClosing

public void windowClosing(java.awt.event.WindowEvent e)
Specified by:
windowClosing in interface java.awt.event.WindowListener

windowClosed

public void windowClosed(java.awt.event.WindowEvent e)
Specified by:
windowClosed in interface java.awt.event.WindowListener

windowIconified

public void windowIconified(java.awt.event.WindowEvent e)
Specified by:
windowIconified in interface java.awt.event.WindowListener

windowDeiconified

public void windowDeiconified(java.awt.event.WindowEvent e)
Specified by:
windowDeiconified in interface java.awt.event.WindowListener

windowActivated

public void windowActivated(java.awt.event.WindowEvent e)
Specified by:
windowActivated in interface java.awt.event.WindowListener

windowDeactivated

public void windowDeactivated(java.awt.event.WindowEvent e)
Specified by:
windowDeactivated in interface java.awt.event.WindowListener

inAnimationMode

public static boolean inAnimationMode()
Set flag when animation starts to lock cgane in topology.

Returns:
True/False

isNsInstalled

public static boolean isNsInstalled()
Get flag to check if Ns is installed on the System.

Returns:
True/False

setNsInstalled

public static void setNsInstalled(boolean isNsInstalled)
Sets the flag to true if NS is installed on the System.

Parameters:
isNsInstalled -