edu.cs.ai.kreator.ui.gui.components
Class FileTab

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.cs.ai.kreator.ui.gui.components.Tab
                      extended by edu.cs.ai.kreator.ui.gui.components.FileTab
All Implemented Interfaces:
KreatorFileListener, Stainable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class FileTab
extends Tab
implements KreatorFileListener, Stainable

Author:
Sebastian Loh, Matthias Thimm, Niklas Wulf A FileTab is a GUI element to present text files in the mainspace. It contains a text area where the text is presented. Furthermore it implements the stainable interface to detect if the user has modified the text since the last save. The FileTab also updates its content (by implementing the KReatorFileListener), if the model beneath was changed, e.g. if a Report that the FileTab represents was modified by the reportController
See Also:
Serialized Form

Nested Class Summary
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static org.apache.log4j.Logger LOG
           
 
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
 
Method Summary
 boolean abortParser()
           
 void addChangeListener(javax.swing.event.ChangeListener listener)
           
 void addStainedListener(StainedListener listener)
          Adds a StainedListener interested in this Stainable's state.
 void cleanStainedStatus()
          sets the StainedStatus to false (clean)
 DataFile getDataFile()
           
 java.lang.String getEditorContent()
          Returns the content of the textarea, which was maybe modified by the user.
 javax.swing.Icon getIcon()
          This icon will be displayed in the tab title (e.g. a close button).
 javax.swing.JEditorPane getSyntaxPane()
           
 java.lang.String getTitle()
          Getter for the FileTab-title
 void init()
           
 void modelChanged(KreatorFileEvent e)
          The Model has changed and the view needs to be updated KreatorFileEvent carries the KreatorFile as the source which had changed.
 void moveCursorTo(java.lang.String str)
           
 void performTabButtonAction()
          This method will be called when the user clicks on the tab's title-button.
 void setEditable(boolean status)
          Enables or disables the textArea
 void setHover(boolean hover)
          sets if the mouse is hovering over the close button
 
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, getBaseline, getBaselineResizeBehavior, 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, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LOG

public static final org.apache.log4j.Logger LOG
Method Detail

getDataFile

public DataFile getDataFile()

getSyntaxPane

public javax.swing.JEditorPane getSyntaxPane()

init

public void init()

setEditable

public void setEditable(boolean status)
Enables or disables the textArea

Parameters:
status -

getEditorContent

public java.lang.String getEditorContent()
Returns the content of the textarea, which was maybe modified by the user.

Returns:

moveCursorTo

public void moveCursorTo(java.lang.String str)

modelChanged

public void modelChanged(KreatorFileEvent e)
Description copied from interface: KreatorFileListener
The Model has changed and the view needs to be updated KreatorFileEvent carries the KreatorFile as the source which had changed.

Specified by:
modelChanged in interface KreatorFileListener

addStainedListener

public void addStainedListener(StainedListener listener)
Description copied from interface: Stainable
Adds a StainedListener interested in this Stainable's state.

Specified by:
addStainedListener in interface Stainable
Parameters:
listener - a StainedListener interested in this Stainable's state

cleanStainedStatus

public void cleanStainedStatus()
sets the StainedStatus to false (clean)


getTitle

public java.lang.String getTitle()
Getter for the FileTab-title


addChangeListener

public void addChangeListener(javax.swing.event.ChangeListener listener)
Specified by:
addChangeListener in class Tab

getIcon

public javax.swing.Icon getIcon()
Description copied from class: Tab
This icon will be displayed in the tab title (e.g. a close button). It should represent the tabs state (stained/not-stained, running processes, ...)

Specified by:
getIcon in class Tab

setHover

public void setHover(boolean hover)
sets if the mouse is hovering over the close button

Parameters:
hover -

performTabButtonAction

public void performTabButtonAction()
Description copied from class: Tab
This method will be called when the user clicks on the tab's title-button. It can be used to close the tab, or pause the running process, etc.

Specified by:
performTabButtonAction in class Tab

abortParser

public boolean abortParser()