ucot.ui.gui
Class GraphicalUI

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 ucot.ui.gui.GraphicalUI
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.Observer, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ModulePropertyInterface, UIInterface

public class GraphicalUI
extends javax.swing.JFrame
implements UIInterface, java.util.Observer, ModulePropertyInterface

Simple graphical user interface for UCOT program which uses dot (in DotPanel) to draw graphics. This class is inherited from JFrame and implements the UIInterface defined in ucot.ui package.

Author:
ilanliuk, tujupien, pajumasu
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 static java.lang.String ABOUT_MENU_ACTION
           
protected static java.lang.String ABOUT_MENU_CAPTION
           
private  AnalyzeModelTree analyzeModelTree
           
protected static java.lang.String CHANGE_DOT_LAYOUTING_ACTION
           
private  javax.swing.JLabel changesIndicator
           
private  boolean changesMade
           
protected static java.lang.String CLEAR_MODEL_MENU_ACTION
           
protected static java.lang.String CLEAR_MODEL_MENU_CAPTION
           
protected static java.lang.String CLEAR_MODEL_QUESTION
           
protected static java.lang.String CLEAR_MODEL_QUESTION_TITLE
           
private  ControlInterface core
           
private  java.net.URL currentFile
           
protected static java.lang.String DEFAULT_ERROR_TITLE
           
protected static java.lang.String DEFAULT_QUESTION_TITLE
           
protected static java.lang.String DEFAULT_WARNING_TITLE
           
protected static java.lang.String DOT_USE_HORIZONGAL_LAYOUTING_CAPTION
           
private  DotPanel dotPanel
           
private  javax.swing.JScrollPane dotScrollPane
           
private  javax.swing.JLabel dotTimer
           
private  EntityPropertiesDialog entityPropertiesDialog
           
 java.util.Set<java.lang.String> entityTypes
           
static java.lang.String EXPORT_ALL_DATA_FILENAME
           
static java.lang.String EXPORT_ALL_DOT_FILENAME
           
static java.lang.String EXPORT_ALL_GRAPH_FILENAME
           
static java.lang.String EXPORT_ALL_LOG_FILENAME
           
protected static java.lang.String EXPORT_ALL_MENU_ACTION
           
protected static java.lang.String EXPORT_ALL_MENU_CAPTION
           
static java.lang.String EXPORT_ALL_SERIALIZATION_FILENAME
           
protected static java.lang.String EXPORT_AS_IMAGE_MENU_ACTION
           
protected static java.lang.String EXPORT_AS_IMAGE_MENU_CAPTION
           
protected static java.lang.String EXPORT_MENU_ACTION
           
protected static java.lang.String EXPORT_MENU_CAPTION
           
protected static java.lang.String FILE_MENU_CAPTION
           
protected static java.lang.String HELP_MENU_CAPTION
           
protected static java.lang.String LOAD_FILE_MENU_ACTION
           
protected static java.lang.String LOAD_MENU_CAPTION
           
protected static java.lang.String LOG_ANALYZE_MODEL_LOADED
           
protected static java.lang.String LOG_CLEAR_MODEL
           
protected static java.lang.String LOG_EXPORT_AS_IMAGE_TRIGGERED
           
protected static java.lang.String LOG_EXPORT_DONE_MESSAGE
           
protected static java.lang.String LOG_FILE_LOAD_TRIGGERED
           
protected static java.lang.String LOG_QUIT_PROGRAM
           
protected static java.lang.String LOG_QUIT_PROGRAM_TRIGGERED
           
protected static java.lang.String LOG_SETTINGS_TRIGGERED
           
protected static java.lang.String LOG_USE_CASE_LOADING_EXCEPTION
           
protected static java.lang.String LOG_USE_CASES_ADDED
           
protected static java.lang.String LOG_USE_CASES_LOADED
           
private  java.util.logging.Logger logger
           
private  javax.swing.JMenuBar menu
           
private  java.awt.event.ActionListener menuListener
           
private  javax.swing.JScrollPane modelTreeScrollPane
           
protected static java.lang.String MODIFICATION_LOG_MENU_ACTION
           
protected static java.lang.String MODIFICATION_LOG_MENU_CAPTION
           
protected static java.lang.String MODIFIED_STRING
           
protected static java.lang.String NEW_FILE_MENU_ACTION
           
protected static java.lang.String NEW_MENU_CAPTION
           
protected static java.lang.String NEW_MODEL_QUESTION
           
protected static java.lang.String NEW_MODEL_QUESTION_TITLE
           
protected static java.lang.String OPEN_FILE_MENU_ACTION
           
protected static java.lang.String OPEN_MENU_CAPTION
           
protected static java.lang.String PROGRAM_MENU_CAPTION
           
protected static java.lang.String PROGRAM_TITLE
           
protected static java.lang.String PROGRESS_BAR_DIALOG_TITLE
           
private  ProgressBarDialog progressBarDialog
           
protected  java.util.Properties properties
           
protected  java.net.URL propertiesURL
           
static java.lang.String PROPERTY_DOT_COLOR
           
static java.lang.String PROPERTY_DOT_HIGHLIGHT_COLOR
           
static java.lang.String PROPERTY_DOT_PATH
           
static java.lang.String PROPERTY_ENTITY_TYPES
           
static java.lang.String PROPERTY_EPS_TO_PDF_PATH
           
static java.lang.String PROPERTY_GRAPH_FONT_SIZE
           
static java.lang.String PROPERTY_TEMP_EPS_FILE
           
static java.lang.String PROPERTY_TEMP_INPUT_FILE
           
static java.lang.String PROPERTY_TEMP_OUTPUT_FILE
           
protected static java.lang.String QUIT_MENU_ACTION
           
protected static java.lang.String QUIT_MENU_CAPTION
           
protected static java.lang.String QUIT_QUESTION
           
protected static java.lang.String QUIT_QUESTION_TITLE
           
protected static java.lang.String SAVE_AS_FILE_MENU_ACTION
           
protected static java.lang.String SAVE_AS_MENU_CAPTION
           
protected static java.lang.String SAVE_BEFORE_QUIT_QUESTION
           
protected static java.lang.String SAVE_BEFORE_QUIT_QUESTION_TITLE
           
protected static java.lang.String SAVE_FILE_MENU_ACTION
           
protected static java.lang.String SAVE_MENU_CAPTION
           
protected static java.lang.String SERIALIZATION_DESCRIPTION
           
protected static java.lang.String[] SERIALIZATION_EXTENSIONS
           
private static long serialVersionUID
           
protected static java.lang.String SETTINGS_MENU_ACTION
           
protected static java.lang.String SETTINGS_MENU_CAPTION
           
private  Statusbar statusbar
           
protected static java.lang.String UNMODIFIED_STRING
           
private  UseCasePanelInterface useCasePanel
           
private  javax.swing.JScrollPane useCasePanelScrollPane
           
private  UseCaseTree useCaseTree
           
private  javax.swing.JScrollPane useCaseTreeScrollPane
           
private  java.awt.event.WindowListener windowListener
           
 
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
GraphicalUI(ControlInterface controlInterface)
          Constuctor for Graphical UI.
 
Method Summary
 void analyzeModelLoaded()
          Method for signaling the user interface that the analyze model has been (successfully) loaded.
 void applyProperties()
          Applies current properties for the module.
private  void changeDotLayouting()
          Action performed: User changes the status of the horizontal layouting checkbox.
private  javax.swing.JMenuBar createMenu()
          Method for creating a menu bar to the GUI.
private  void createMenuListener()
          This method creates and initializes the menu listener for the program menu bar.
private  void createWindowListener()
          This method creates and initializes all required window listeners for this graphical user interface.
 void exportDone()
          Method for signaling the user interface that the analyze model has been (successfully) exported.
 DotColorTheme getColorTheme()
          Returns dot panel's color theme.
 ControlInterface getControlInterface()
          Returns the ControlInterface this UI uses to control the program.
 ProgressBarInterface getProgressBar()
          Method for getting a new progressbar for showing the current progress status to the user and halting all other usage of the model editor.
 java.util.Properties getProperties()
          Returns module's properties.
private  java.net.URL getPropertiesURL()
          Method for creating the URL from the properties file, which is the same as the class name with an .XML extension.
 java.util.Properties loadDefaultProperties()
          Method which returns the factory default properties for the module.
 void loadModel()
          Default method for loading an analyze model.
 void loadProperties()
          Loads settings from the current properties XML file.
private  void menuClearModel(boolean clearWithoutPrompting)
          Action performed: Clear model action is chosen from the File menu.
private  void menuExport()
          Action performed: Export is chosen from the File menu.
private  void menuExportAll()
          Action performed: User clicks the export all menu item.
private  void menuExportAsImage()
          Action performed: User wants to save picture of the model.
private  void menuLoadUseCaseFile()
          Action performed: Open file is chosen from the File menu.
private  void menuModificationLog()
          Action performed: Export is chosen from the File menu.
private  void menuNewModel()
          Action performed: User selects the new model option from the menu.
private  void menuQuit(boolean quitWithoutPrompting)
          Action performed: Quit is chosen from the File menu.
private  void menuSettings()
          Action performed: User wants to change program settings.
private  java.util.Set<java.lang.String> parseEntityTypes()
          This function parses the entity types from the property value and splits the separate types into a String vector.
 void printError(java.lang.String errorMessage)
           
 void printError(java.lang.String errorMessage, java.lang.String errorTitle)
          Prints an error message to the screen.
 void printWarning(java.lang.String warningMessage)
           
 void printWarning(java.lang.String warningMessage, java.lang.String warningTitle)
          Prints a warning to the screen.
 void saveModel()
          Default save method.
 boolean saveModel(java.net.URL target)
          This method serializes the current status of the project.
 void saveProperties()
          Saves current properties to the properties XML file.
 void setChanged(boolean changesMade)
          Method for changing the changes made status.
 void setControlInterface(ControlInterface a)
          Set a new control interface for the user interface to use.
 void setDisabled(boolean disabled)
          Sets the GUI's menus and other vital elements disabled.
 void setProperties(java.util.Properties properties)
          Sets options for the adapter.
private  void showAboutDialog()
          Method for spawning the about UCOT dialog.
 void update(java.util.Observable o, java.lang.Object arg)
           
private  void updateProperties()
          Updates the properties base don the internal state of this object.
private  void updateTypes()
           
 void useCaseAdded(int foundEntities, int addedEntities)
          Core signals user interface that usecases have been parsed, ran heuristic on and been added to given analyze model.
 void useCasesLoaded()
          Method for signaling user interface that use cases have been (successfully) loaded from file.
 
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

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

core

private ControlInterface core

menuListener

private java.awt.event.ActionListener menuListener

windowListener

private java.awt.event.WindowListener windowListener

analyzeModelTree

private AnalyzeModelTree analyzeModelTree

modelTreeScrollPane

private javax.swing.JScrollPane modelTreeScrollPane

useCaseTree

private UseCaseTree useCaseTree

useCaseTreeScrollPane

private javax.swing.JScrollPane useCaseTreeScrollPane

menu

private javax.swing.JMenuBar menu

dotPanel

private DotPanel dotPanel

dotScrollPane

private javax.swing.JScrollPane dotScrollPane

dotTimer

private javax.swing.JLabel dotTimer

useCasePanel

private UseCasePanelInterface useCasePanel

useCasePanelScrollPane

private javax.swing.JScrollPane useCasePanelScrollPane

statusbar

private Statusbar statusbar

entityPropertiesDialog

private EntityPropertiesDialog entityPropertiesDialog

progressBarDialog

private ProgressBarDialog progressBarDialog

currentFile

private java.net.URL currentFile

changesMade

private boolean changesMade

changesIndicator

private javax.swing.JLabel changesIndicator

logger

private java.util.logging.Logger logger

propertiesURL

protected java.net.URL propertiesURL

properties

protected java.util.Properties properties

entityTypes

public java.util.Set<java.lang.String> entityTypes

SERIALIZATION_DESCRIPTION

protected static java.lang.String SERIALIZATION_DESCRIPTION

SERIALIZATION_EXTENSIONS

protected static java.lang.String[] SERIALIZATION_EXTENSIONS

PROGRAM_TITLE

protected static java.lang.String PROGRAM_TITLE

DEFAULT_ERROR_TITLE

protected static final java.lang.String DEFAULT_ERROR_TITLE

DEFAULT_QUESTION_TITLE

protected static final java.lang.String DEFAULT_QUESTION_TITLE

DEFAULT_WARNING_TITLE

protected static final java.lang.String DEFAULT_WARNING_TITLE

EXPORT_ALL_GRAPH_FILENAME

public static final java.lang.String EXPORT_ALL_GRAPH_FILENAME
See Also:
Constant Field Values

EXPORT_ALL_DATA_FILENAME

public static final java.lang.String EXPORT_ALL_DATA_FILENAME
See Also:
Constant Field Values

EXPORT_ALL_SERIALIZATION_FILENAME

public static final java.lang.String EXPORT_ALL_SERIALIZATION_FILENAME
See Also:
Constant Field Values

EXPORT_ALL_LOG_FILENAME

public static final java.lang.String EXPORT_ALL_LOG_FILENAME
See Also:
Constant Field Values

EXPORT_ALL_DOT_FILENAME

public static final java.lang.String EXPORT_ALL_DOT_FILENAME
See Also:
Constant Field Values

PROPERTY_DOT_PATH

public static final java.lang.String PROPERTY_DOT_PATH
See Also:
Constant Field Values

PROPERTY_EPS_TO_PDF_PATH

public static final java.lang.String PROPERTY_EPS_TO_PDF_PATH
See Also:
Constant Field Values

PROPERTY_TEMP_INPUT_FILE

public static final java.lang.String PROPERTY_TEMP_INPUT_FILE
See Also:
Constant Field Values

PROPERTY_TEMP_OUTPUT_FILE

public static final java.lang.String PROPERTY_TEMP_OUTPUT_FILE
See Also:
Constant Field Values

PROPERTY_TEMP_EPS_FILE

public static final java.lang.String PROPERTY_TEMP_EPS_FILE
See Also:
Constant Field Values

PROPERTY_DOT_HIGHLIGHT_COLOR

public static final java.lang.String PROPERTY_DOT_HIGHLIGHT_COLOR
See Also:
Constant Field Values

PROPERTY_DOT_COLOR

public static final java.lang.String PROPERTY_DOT_COLOR
See Also:
Constant Field Values

PROPERTY_ENTITY_TYPES

public static final java.lang.String PROPERTY_ENTITY_TYPES
See Also:
Constant Field Values

PROPERTY_GRAPH_FONT_SIZE

public static final java.lang.String PROPERTY_GRAPH_FONT_SIZE
See Also:
Constant Field Values

CLEAR_MODEL_QUESTION_TITLE

protected static java.lang.String CLEAR_MODEL_QUESTION_TITLE

CLEAR_MODEL_QUESTION

protected static java.lang.String CLEAR_MODEL_QUESTION

NEW_MODEL_QUESTION_TITLE

protected static java.lang.String NEW_MODEL_QUESTION_TITLE

NEW_MODEL_QUESTION

protected static java.lang.String NEW_MODEL_QUESTION

QUIT_QUESTION_TITLE

protected static java.lang.String QUIT_QUESTION_TITLE

QUIT_QUESTION

protected static java.lang.String QUIT_QUESTION

SAVE_BEFORE_QUIT_QUESTION_TITLE

protected static java.lang.String SAVE_BEFORE_QUIT_QUESTION_TITLE

SAVE_BEFORE_QUIT_QUESTION

protected static java.lang.String SAVE_BEFORE_QUIT_QUESTION

LOG_FILE_LOAD_TRIGGERED

protected static java.lang.String LOG_FILE_LOAD_TRIGGERED

LOG_QUIT_PROGRAM_TRIGGERED

protected static java.lang.String LOG_QUIT_PROGRAM_TRIGGERED

LOG_QUIT_PROGRAM

protected static java.lang.String LOG_QUIT_PROGRAM

LOG_CLEAR_MODEL

protected static java.lang.String LOG_CLEAR_MODEL

LOG_SETTINGS_TRIGGERED

protected static java.lang.String LOG_SETTINGS_TRIGGERED

LOG_EXPORT_AS_IMAGE_TRIGGERED

protected static java.lang.String LOG_EXPORT_AS_IMAGE_TRIGGERED

LOG_EXPORT_DONE_MESSAGE

protected static java.lang.String LOG_EXPORT_DONE_MESSAGE

LOG_ANALYZE_MODEL_LOADED

protected static java.lang.String LOG_ANALYZE_MODEL_LOADED

LOG_USE_CASES_LOADED

protected static java.lang.String LOG_USE_CASES_LOADED

LOG_USE_CASE_LOADING_EXCEPTION

protected static java.lang.String LOG_USE_CASE_LOADING_EXCEPTION

LOG_USE_CASES_ADDED

protected static java.lang.String LOG_USE_CASES_ADDED

FILE_MENU_CAPTION

protected static java.lang.String FILE_MENU_CAPTION

NEW_MENU_CAPTION

protected static java.lang.String NEW_MENU_CAPTION

OPEN_MENU_CAPTION

protected static java.lang.String OPEN_MENU_CAPTION

LOAD_MENU_CAPTION

protected static java.lang.String LOAD_MENU_CAPTION

SAVE_MENU_CAPTION

protected static java.lang.String SAVE_MENU_CAPTION

MODIFICATION_LOG_MENU_CAPTION

protected static java.lang.String MODIFICATION_LOG_MENU_CAPTION

SAVE_AS_MENU_CAPTION

protected static java.lang.String SAVE_AS_MENU_CAPTION

EXPORT_MENU_CAPTION

protected static java.lang.String EXPORT_MENU_CAPTION

EXPORT_AS_IMAGE_MENU_CAPTION

protected static java.lang.String EXPORT_AS_IMAGE_MENU_CAPTION

EXPORT_ALL_MENU_CAPTION

protected static java.lang.String EXPORT_ALL_MENU_CAPTION

CLEAR_MODEL_MENU_CAPTION

protected static java.lang.String CLEAR_MODEL_MENU_CAPTION

QUIT_MENU_CAPTION

protected static java.lang.String QUIT_MENU_CAPTION

PROGRAM_MENU_CAPTION

protected static java.lang.String PROGRAM_MENU_CAPTION

SETTINGS_MENU_CAPTION

protected static java.lang.String SETTINGS_MENU_CAPTION

DOT_USE_HORIZONGAL_LAYOUTING_CAPTION

protected static java.lang.String DOT_USE_HORIZONGAL_LAYOUTING_CAPTION

HELP_MENU_CAPTION

protected static java.lang.String HELP_MENU_CAPTION

ABOUT_MENU_CAPTION

protected static java.lang.String ABOUT_MENU_CAPTION

PROGRESS_BAR_DIALOG_TITLE

protected static java.lang.String PROGRESS_BAR_DIALOG_TITLE

MODIFIED_STRING

protected static java.lang.String MODIFIED_STRING

UNMODIFIED_STRING

protected static java.lang.String UNMODIFIED_STRING

NEW_FILE_MENU_ACTION

protected static java.lang.String NEW_FILE_MENU_ACTION

MODIFICATION_LOG_MENU_ACTION

protected static java.lang.String MODIFICATION_LOG_MENU_ACTION

OPEN_FILE_MENU_ACTION

protected static java.lang.String OPEN_FILE_MENU_ACTION

LOAD_FILE_MENU_ACTION

protected static java.lang.String LOAD_FILE_MENU_ACTION

SAVE_FILE_MENU_ACTION

protected static java.lang.String SAVE_FILE_MENU_ACTION

SAVE_AS_FILE_MENU_ACTION

protected static java.lang.String SAVE_AS_FILE_MENU_ACTION

EXPORT_MENU_ACTION

protected static java.lang.String EXPORT_MENU_ACTION

EXPORT_ALL_MENU_ACTION

protected static java.lang.String EXPORT_ALL_MENU_ACTION

QUIT_MENU_ACTION

protected static java.lang.String QUIT_MENU_ACTION

CLEAR_MODEL_MENU_ACTION

protected static java.lang.String CLEAR_MODEL_MENU_ACTION

EXPORT_AS_IMAGE_MENU_ACTION

protected static java.lang.String EXPORT_AS_IMAGE_MENU_ACTION

SETTINGS_MENU_ACTION

protected static java.lang.String SETTINGS_MENU_ACTION

CHANGE_DOT_LAYOUTING_ACTION

protected static java.lang.String CHANGE_DOT_LAYOUTING_ACTION

ABOUT_MENU_ACTION

protected static java.lang.String ABOUT_MENU_ACTION
Constructor Detail

GraphicalUI

public GraphicalUI(ControlInterface controlInterface)

Constuctor for Graphical UI. This constructor sets up the whole user interface and spawns it to the screen.

Method Detail

setChanged

public void setChanged(boolean changesMade)

Method for changing the changes made status. Practically anything that modifies the analyze model should call this method with parameter true, and only the save and new operations should call this method with parameter false.

Parameters:
changesMade - New status which indicates whether or not any changes have been made to the current analyze model since last save operation..

menuQuit

private void menuQuit(boolean quitWithoutPrompting)

Action performed: Quit is chosen from the File menu.

Parameters:
quitWithoutPrompting - Indicates wether the user really wants to quit without prompting another question to confirm that.

menuExportAll

private void menuExportAll()

Action performed: User clicks the export all menu item.


menuClearModel

private void menuClearModel(boolean clearWithoutPrompting)

Action performed: Clear model action is chosen from the File menu.

Parameters:
clearWithoutPrompting -

menuNewModel

private void menuNewModel()

Action performed: User selects the new model option from the menu.


menuLoadUseCaseFile

private void menuLoadUseCaseFile()

Action performed: Open file is chosen from the File menu.


menuExport

private void menuExport()

Action performed: Export is chosen from the File menu.


menuModificationLog

private void menuModificationLog()

Action performed: Export is chosen from the File menu.


menuSettings

private void menuSettings()

Action performed: User wants to change program settings.


menuExportAsImage

private void menuExportAsImage()

Action performed: User wants to save picture of the model.


changeDotLayouting

private void changeDotLayouting()

Action performed: User changes the status of the horizontal layouting checkbox.


createWindowListener

private void createWindowListener()

This method creates and initializes all required window listeners for this graphical user interface.


createMenuListener

private void createMenuListener()

This method creates and initializes the menu listener for the program menu bar.


showAboutDialog

private void showAboutDialog()

Method for spawning the about UCOT dialog.


createMenu

private javax.swing.JMenuBar createMenu()

Method for creating a menu bar to the GUI.

Returns:
Program menu bar as a JMenuBar object.

exportDone

public void exportDone()
Description copied from interface: UIInterface

Method for signaling the user interface that the analyze model has been (successfully) exported.

Specified by:
exportDone in interface UIInterface

analyzeModelLoaded

public void analyzeModelLoaded()
Description copied from interface: UIInterface

Method for signaling the user interface that the analyze model has been (successfully) loaded.

Specified by:
analyzeModelLoaded in interface UIInterface

useCasesLoaded

public void useCasesLoaded()
Description copied from interface: UIInterface

Method for signaling user interface that use cases have been (successfully) loaded from file.

Specified by:
useCasesLoaded in interface UIInterface

useCaseAdded

public void useCaseAdded(int foundEntities,
                         int addedEntities)
Description copied from interface: UIInterface

Core signals user interface that usecases have been parsed, ran heuristic on and been added to given analyze model.

Specified by:
useCaseAdded in interface UIInterface
Parameters:
foundEntities - How many entities the parser found.
addedEntities - How many entities were added.

setControlInterface

public void setControlInterface(ControlInterface a)
Description copied from interface: UIInterface

Set a new control interface for the user interface to use.

Specified by:
setControlInterface in interface UIInterface
Parameters:
a - ControlInterface to the UCOT core.

update

public void update(java.util.Observable o,
                   java.lang.Object arg)
Specified by:
update in interface java.util.Observer

saveModel

public boolean saveModel(java.net.URL target)

This method serializes the current status of the project.

Parameters:
target - Path to the file used for saving. If this is null, then a save file dialog will be spawned.
Returns:
true if model was saved, false otherwhise.

parseEntityTypes

private java.util.Set<java.lang.String> parseEntityTypes()

This function parses the entity types from the property value and splits the separate types into a String vector.

Returns:
Vector containing the available entity types.

saveModel

public void saveModel()

Default save method. The previous file will be overwritten.


loadModel

public void loadModel()

Default method for loading an analyze model. The serialization file is defined by the user who gets an file open dialog on his face before loading takes place.


updateTypes

private void updateTypes()

getProgressBar

public ProgressBarInterface getProgressBar()
Description copied from interface: UIInterface

Method for getting a new progressbar for showing the current progress status to the user and halting all other usage of the model editor.

Specified by:
getProgressBar in interface UIInterface
Returns:
ProgressBar interface to the progress bar.

printError

public void printError(java.lang.String errorMessage)
Specified by:
printError in interface UIInterface

printWarning

public void printWarning(java.lang.String warningMessage,
                         java.lang.String warningTitle)
Description copied from interface: UIInterface

Prints a warning to the screen.

Specified by:
printWarning in interface UIInterface
Parameters:
warningMessage - Description of the warning.
warningTitle - Title of the dialog.

printWarning

public void printWarning(java.lang.String warningMessage)
Specified by:
printWarning in interface UIInterface

printError

public void printError(java.lang.String errorMessage,
                       java.lang.String errorTitle)
Description copied from interface: UIInterface

Prints an error message to the screen.

Specified by:
printError in interface UIInterface
Parameters:
errorMessage - Description of the error.
errorTitle - Title of the dialog.

setDisabled

public void setDisabled(boolean disabled)

Sets the GUI's menus and other vital elements disabled. This is currently necessary because otherwice the user could screw up the whole model or the program by performing unexpected actions while analyzing for previous use cases or something similiar.

Parameters:
disabled - True if GUI should be disabled, false if GUI should be enabled.

getPropertiesURL

private java.net.URL getPropertiesURL()

Method for creating the URL from the properties file, which is the same as the class name with an .XML extension.

Returns:
URL to the properties file.

getProperties

public java.util.Properties getProperties()
Description copied from interface: ModulePropertyInterface

Returns module's properties.

Specified by:
getProperties in interface ModulePropertyInterface
Returns:
Module's properties.

setProperties

public void setProperties(java.util.Properties properties)
Description copied from interface: ModulePropertyInterface

Sets options for the adapter.

Notice that this does not need to be an perfect set of properties for this module because these properties should be merged to the current properties. So it is possible to change only one property value by giving a new property object with the new value for the given key.

Specified by:
setProperties in interface ModulePropertyInterface
Parameters:
properties - Properties for the adapter.

applyProperties

public void applyProperties()
                     throws BadPropertyValueException
Description copied from interface: ModulePropertyInterface

Applies current properties for the module.

Specified by:
applyProperties in interface ModulePropertyInterface
Throws:
BadPropertyValueException - In this case exception is thrown only if either the given parser or heuristic does not exist.

updateProperties

private void updateProperties()
Updates the properties base don the internal state of this object.


saveProperties

public void saveProperties()
                    throws java.io.IOException
Description copied from interface: ModulePropertyInterface

Saves current properties to the properties XML file.

Specified by:
saveProperties in interface ModulePropertyInterface
Throws:
java.io.IOException - Exception is thrown if something went wrong.

loadProperties

public void loadProperties()
                    throws java.io.IOException
Description copied from interface: ModulePropertyInterface

Loads settings from the current properties XML file.

Specified by:
loadProperties in interface ModulePropertyInterface
Throws:
java.io.IOException - Exception is thrown if something went wrong.

loadDefaultProperties

public java.util.Properties loadDefaultProperties()
Description copied from interface: ModulePropertyInterface

Method which returns the factory default properties for the module.

Specified by:
loadDefaultProperties in interface ModulePropertyInterface
Returns:
Default properties.

getControlInterface

public ControlInterface getControlInterface()

Returns the ControlInterface this UI uses to control the program.

Returns:
The control interface.

getColorTheme

public DotColorTheme getColorTheme()

Returns dot panel's color theme.

Returns:
Dot panel's color theme