|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
ucot.ui.gui.dot.DotPanel
public class DotPanel
A dot panel class inherited from JPanel class which is used for drawing dot graphs from the given analyze model. This class implements the observer interface which allows objects to keep track on the current status of this panel. This panel also observes the given analyze model and updates the graph when the model changes. There is also a method which allows highlighting any submodels from the given analyze model.
Nested Class Summary | |
---|---|
private class |
DotPanel.DotJob
This class is a container for a dot job which includes all required information for rendering both highlighted and regular dot graphs. |
static class |
DotPanel.ExportImageType
|
Nested classes/interfaces inherited from class javax.swing.JPanel |
---|
javax.swing.JPanel.AccessibleJPanel |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
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 | |
---|---|
private AnalyzeModel |
analyzeModel
|
private static DotColorTheme |
colorTheme
|
private static java.util.Stack<DotPanel.DotJob> |
dotJobStack
|
private static java.lang.Thread |
executing
|
private boolean |
horizontalLayout
|
private boolean |
isUpdating
|
private java.awt.image.BufferedImage |
modelImage
|
protected GraphicalUI |
owner
|
static int |
SCROLL_SPEED
|
static long |
serialVersionUID
|
private static boolean |
threadRunning
|
protected long |
timeElapsed
|
protected javax.swing.JLabel |
timerComponent
|
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
DotPanel(GraphicalUI owner,
AnalyzeModel analyzeModel)
Constructor for DotPanel. |
Method Summary | |
---|---|
void |
applyProperties()
|
private java.io.File |
createDotFile(DotPanel.DotJob job)
Writes the analyze model to an external file in dot syntax. |
private boolean |
epsToPdf(java.io.File epsFile,
java.io.File pdfFile)
Converts eps file to pdf |
private void |
executeDot()
This method should be executed in its own thread. |
private boolean |
exportEps(java.io.File target)
Exports model to eps file |
void |
exportImage(java.io.File target)
Saves current image to given file in format that is tried to guess from filename. |
void |
exportImage(java.io.File target,
DotPanel.ExportImageType imageFormat)
Saves current image to given file in given format. |
protected void |
finalize()
This finalize method makes sure the thread running for panel update shuts down. |
boolean |
getHorizontalLayout()
Returns the current value of horizontal layouting. |
void |
highlight(AnalyzeModel highlight)
Method for highlighting submodels from the analyze model. |
void |
highlight(AnalyzeModel highlight,
boolean drawNewElements)
Method for highlighting submodels from the analyze model. |
private java.lang.String |
imageTypeToString(DotPanel.ExportImageType imageFormat)
Converts given imageformat to string |
private void |
mapCurrentModel(DotPanel.DotJob job)
Method for mapping the current analyze model. |
private void |
mapHighlightRequest(DotPanel.DotJob job,
boolean drawNewElements)
Method for mapping the submodel for highlight request. |
void |
paintComponent(java.awt.Graphics g)
This method draws the graph generated by dot to the panel's canvas. |
private java.io.File |
runDot(java.io.File dotInputFile)
This method runs the dot executable with the given dot input file and returns the location of the image file. |
void |
setHorizontalLayout(boolean horizontalLayout)
Sets wether or not the dot should use the horizontal layout for the entities and their relationships. |
void |
setTimerComponent(javax.swing.JLabel timerComponent)
|
void |
update(java.util.Observable observableObject,
java.lang.Object updationArg)
|
void |
updateModel(AnalyzeModel analyzeModel)
Method for updating the analyze model. |
private void |
updateModel(DotPanel.DotJob job)
Method for updating the model. |
private void |
writeEntities(DotPanel.DotJob job,
java.io.BufferedWriter writer)
Method for writing all entities to the dot file with all their attribute, method and parent relationships. |
private void |
writeEntityAttributes(DotPanel.DotJob job,
java.io.BufferedWriter writer,
java.lang.String entity)
Method for writing the attributes of one entity to the dot file. |
private void |
writeEntityMethods(DotPanel.DotJob job,
java.io.BufferedWriter writer,
java.lang.String entity)
Method for writing the methods of one entity to the dot file. |
private void |
writeEntityParents(DotPanel.DotJob job,
java.io.BufferedWriter writer,
java.lang.String entity)
Method for writing the parents of one entity to the dot file. |
Methods inherited from class javax.swing.JPanel |
---|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI |
Methods inherited from class javax.swing.JComponent |
---|
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getWidth, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
Methods inherited from class java.awt.Container |
---|
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final long serialVersionUID
private static java.util.Stack<DotPanel.DotJob> dotJobStack
private static boolean threadRunning
private static java.lang.Thread executing
protected long timeElapsed
protected javax.swing.JLabel timerComponent
private AnalyzeModel analyzeModel
private static DotColorTheme colorTheme
public static final int SCROLL_SPEED
private java.awt.image.BufferedImage modelImage
protected GraphicalUI owner
private boolean horizontalLayout
private boolean isUpdating
Constructor Detail |
---|
public DotPanel(GraphicalUI owner, AnalyzeModel analyzeModel)
analyzeModel
- analyzeModel to use with this DotPanel.Method Detail |
---|
public void setHorizontalLayout(boolean horizontalLayout)
horizontalLayout
- New value for horizontal layout,
true means yay for horizontal layouting.public boolean getHorizontalLayout()
public void update(java.util.Observable observableObject, java.lang.Object updationArg)
update
in interface java.util.Observer
public void exportImage(java.io.File target, DotPanel.ExportImageType imageFormat)
target
- Target file.imageFormat
- Image format to use.public void exportImage(java.io.File target)
target
- File pointing the saving destination.private java.lang.String imageTypeToString(DotPanel.ExportImageType imageFormat)
imageFormat
- imageformat to convert
private boolean exportEps(java.io.File target)
target
- file to save to
private boolean epsToPdf(java.io.File epsFile, java.io.File pdfFile)
epsFile
- eps file to readpdfFile
- pdf to save
private java.io.File runDot(java.io.File dotInputFile)
dotInputFile
- Input file for dot executable.
private void writeEntityMethods(DotPanel.DotJob job, java.io.BufferedWriter writer, java.lang.String entity) throws java.io.IOException
job
- Defines the entities to be written.writer
- BufferedWriter to use for writing.entity
- Name of the entity whose methods are being written.
java.io.IOException
- If something goes wrong an exception is thrown.private void writeEntityAttributes(DotPanel.DotJob job, java.io.BufferedWriter writer, java.lang.String entity) throws java.io.IOException
job
- Defines the entities to be written.writer
- BufferedWriter to use for writing.entity
- Name of the entity whose attributes are being written.
java.io.IOException
- If something goes wrong an exception is thrown.private void writeEntityParents(DotPanel.DotJob job, java.io.BufferedWriter writer, java.lang.String entity) throws java.io.IOException
job
- Defines the entities to be written.writer
- BufferedWriter to use for writing.entity
- Name of the entity whose parents are being written.
java.io.IOException
- If something goes wrong an exception is thrown.private void writeEntities(DotPanel.DotJob job, java.io.BufferedWriter writer) throws java.io.IOException
job
- Defines the entities to be written.writer
- BufferedWriter to use for writing.
java.io.IOException
- An exception is thrown if something goes wrong.private java.io.File createDotFile(DotPanel.DotJob job)
job
- Dot job which defines the model to be drawn.
private void mapCurrentModel(DotPanel.DotJob job)
job
- Dot job where mapping will be done.private void mapHighlightRequest(DotPanel.DotJob job, boolean drawNewElements)
job
- Dot job to be handled.drawNewElements
- Indicates wether or not the new elements are
supposed to be drawn in the highlighted model. New elements are
those that exist in the highlight request but do not exist in the
current analyze model.public void highlight(AnalyzeModel highlight, boolean drawNewElements)
highlight
- The submodel to be highlighted. If this argument is
null, then all applied highlights are removed.drawNewElements
- Indicates wether or not those elements
which do not exist in the current analyze model should be
also drawn and highlighted.public void highlight(AnalyzeModel highlight)
highlight
- Submodel to be highlighted.private void updateModel(DotPanel.DotJob job)
job
- Dot job to be run next.public void updateModel(AnalyzeModel analyzeModel)
analyzeModel
- New analyze model.protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
public void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
private void executeDot()
public void setTimerComponent(javax.swing.JLabel timerComponent)
public void applyProperties()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |