dioscuri
Class DioscuriFrame

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 dioscuri.DioscuriFrame
All Implemented Interfaces:
GUI, java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class DioscuriFrame
extends javax.swing.JFrame
implements GUI, java.awt.event.ActionListener, java.awt.event.KeyListener

Graphical User Interface for emulator.

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.BaselineResizeBehavior, 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 dioscuri.GUI
EMU_DEVICES_MOUSE_DISABLED, EMU_DEVICES_MOUSE_ENABLED, EMU_FLOPPYA_EJECT, EMU_FLOPPYA_INSERT, EMU_FLOPPYA_TRANSFER_START, EMU_FLOPPYA_TRANSFER_STOP, EMU_HD1_EJECT, EMU_HD1_INSERT, EMU_HD1_TRANSFER_START, EMU_HD1_TRANSFER_STOP, EMU_HD2_EJECT, EMU_HD2_INSERT, EMU_HD2_TRANSFER_START, EMU_HD2_TRANSFER_STOP, EMU_KEYBOARD_CAPSLOCK_OFF, EMU_KEYBOARD_CAPSLOCK_ON, EMU_KEYBOARD_NUMLOCK_OFF, EMU_KEYBOARD_NUMLOCK_ON, EMU_KEYBOARD_SCROLLLOCK_OFF, EMU_KEYBOARD_SCROLLLOCK_ON, EMU_PROCESS_RESET, EMU_PROCESS_START, EMU_PROCESS_STOP, GUI_RESET, GUI_X_LOCATION, GUI_Y_LOCATION, KEY_PRESSED, KEY_RELEASED, KEY_TYPED
 
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
DioscuriFrame()
          Class constructor
DioscuriFrame(java.lang.String[] arguments)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Implementation of the interface ActionListener.
 javax.swing.JFrame asJFrame()
           
protected  java.lang.String displayInfo(java.awt.event.KeyEvent keyEvent, java.lang.String pressReleaseString)
          Creates a string containing keypress events
 java.lang.String getConfigFilePath()
           
 dioscuri.config.Emulator getEmuConfig()
           
 java.lang.String getEmulatorDate()
          Returns the date stamp of emulator
 java.lang.String getEmulatorName()
          Returns the name of emulator
 java.lang.String getEmulatorVersion()
          Returns the version stamp of emulator
 void keyPressed(java.awt.event.KeyEvent keyEvent)
          Implement the KeyListener method keyPressed Handles key press events
 void keyReleased(java.awt.event.KeyEvent keyEvent)
          Implement the KeyListener method keyReleased Handles key release events
 void keyTyped(java.awt.event.KeyEvent keyEvent)
          Implement the KeyListener method keyTyped Empty method, not used
static void main(java.lang.String[] args)
          Main entry point.
 void notifyGUI(int emulatorStatus)
          Notify GUI about status of emulation process and take appropriate GUI action
 boolean saveXML(dioscuri.config.Emulator emuObject)
           
 void setCpuTypeLabel(java.lang.String cpuType)
          Display the CPU type (16 or 32 bit)
 boolean setMouseDisabled()
          Disable mouse support in GUI
 boolean setMouseEnabled()
          Enable mouse support in GUI
 void setScreen(javax.swing.JPanel screen)
          Set given screen to existing screen of GUI
 java.lang.String toString()
          Versioning information
 void updateGUI(int activity)
          Update the GUI, including menu and statusbar.
protected  void updateScreenPanel()
          Update the screen panel on screen frame.
protected  void updateStatusPanel()
          Updates the status panel on screen frame.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, 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, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

DioscuriFrame

public DioscuriFrame()
Class constructor


DioscuriFrame

public DioscuriFrame(java.lang.String[] arguments)
Parameters:
arguments -
Throws:
java.lang.Exception
Method Detail

getEmulatorName

public java.lang.String getEmulatorName()
Returns the name of emulator

Returns:
String containing name

getEmulatorVersion

public java.lang.String getEmulatorVersion()
Returns the version stamp of emulator

Returns:
String containing version

getEmulatorDate

public java.lang.String getEmulatorDate()
Returns the date stamp of emulator

Returns:
String containing date

setScreen

public void setScreen(javax.swing.JPanel screen)
Set given screen to existing screen of GUI

Specified by:
setScreen in interface GUI
Parameters:
screen - containing a reference to canvas of module screen

setMouseEnabled

public boolean setMouseEnabled()
Enable mouse support in GUI

Specified by:
setMouseEnabled in interface GUI
Returns:
true if mouse enabled, false otherwise

setMouseDisabled

public boolean setMouseDisabled()
Disable mouse support in GUI

Specified by:
setMouseDisabled in interface GUI
Returns:
true if mouse enabled, false otherwise

updateScreenPanel

protected void updateScreenPanel()
Update the screen panel on screen frame.


updateStatusPanel

protected void updateStatusPanel()
Updates the status panel on screen frame.


updateGUI

public void updateGUI(int activity)
Update the GUI, including menu and statusbar.

Specified by:
updateGUI in interface GUI
Parameters:
activity - defining the kind of update is required

actionPerformed

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

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e -

keyTyped

public void keyTyped(java.awt.event.KeyEvent keyEvent)
Implement the KeyListener method keyTyped Empty method, not used

Specified by:
keyTyped in interface java.awt.event.KeyListener
Parameters:
keyEvent -

keyPressed

public void keyPressed(java.awt.event.KeyEvent keyEvent)
Implement the KeyListener method keyPressed Handles key press events

Specified by:
keyPressed in interface java.awt.event.KeyListener
Parameters:
keyEvent -

keyReleased

public void keyReleased(java.awt.event.KeyEvent keyEvent)
Implement the KeyListener method keyReleased Handles key release events

Specified by:
keyReleased in interface java.awt.event.KeyListener
Parameters:
keyEvent -

displayInfo

protected java.lang.String displayInfo(java.awt.event.KeyEvent keyEvent,
                                       java.lang.String pressReleaseString)
Creates a string containing keypress events

Parameters:
keyEvent - KeyEvent handled (either Pressed or Released)
pressReleaseString - String passed from the KeyEvent, indicating a press or release
Returns:
String containing keypress events

getEmuConfig

public dioscuri.config.Emulator getEmuConfig()
Specified by:
getEmuConfig in interface GUI
Returns:
-

getConfigFilePath

public java.lang.String getConfigFilePath()
Specified by:
getConfigFilePath in interface GUI
Returns:
-

saveXML

public boolean saveXML(dioscuri.config.Emulator emuObject)
Parameters:
emuObject -
Returns:
-

notifyGUI

public void notifyGUI(int emulatorStatus)
Notify GUI about status of emulation process and take appropriate GUI action

Specified by:
notifyGUI in interface GUI
Parameters:
emulatorStatus - indicates the state change of the emulator

toString

public java.lang.String toString()
Versioning information

Overrides:
toString in class java.awt.Component

asJFrame

public javax.swing.JFrame asJFrame()
Specified by:
asJFrame in interface GUI
Returns:
-

setCpuTypeLabel

public void setCpuTypeLabel(java.lang.String cpuType)
Description copied from interface: GUI
Display the CPU type (16 or 32 bit)

Specified by:
setCpuTypeLabel in interface GUI
Parameters:
cpuType - the CPU type

main

public static void main(java.lang.String[] args)
Main entry point.

Parameters:
args - containing command line arguments