workspace
Class FactoryCanvas

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 workspace.FactoryCanvas
All Implemented Interfaces:
Canvas, java.awt.event.ComponentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, RBParent, SearchableContainer

 class FactoryCanvas
extends javax.swing.JPanel
implements Canvas, SearchableContainer, RBParent, java.awt.event.ComponentListener

A Canvas that acts as the parent of all blocks. A FactoryCanvas is the actually graphical "drawer". As a canvas is must support all the name/color accessor methods. In addition it also supports various methods for blocks such as searching, highlighting, etc.


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
 
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 codeblockutil.Canvas
LABEL_CHANGE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
FactoryCanvas(java.lang.String name)
           
FactoryCanvas(java.lang.String name, java.awt.Color color)
          Constructs a new FactoryCanvas
 
Method Summary
(package private)  void addBlock(RenderableBlock block)
           
 void addToBlockLayer(java.awt.Component c)
          Add this Component the BlockLayer, which is understood to be above the HighlightLayer, although no guarantee is made about its order relative to any other layers this RBParent may have.
 void addToHighlightLayer(java.awt.Component c)
          Add this Component to the HighlightLayer, which is understood to be directly and completely beneath the BlockLayer, such that all Components on the HighlightLayer are rendered behind ALL Components on the BlockLayer.
 void componentHidden(java.awt.event.ComponentEvent e)
           
 void componentMoved(java.awt.event.ComponentEvent e)
           
 void componentResized(java.awt.event.ComponentEvent e)
           
 void componentShown(java.awt.event.ComponentEvent e)
           
(package private)  java.util.ArrayList<RenderableBlock> getBlocks()
           
 java.awt.Color getColor()
           
 java.awt.Color getHighlight()
          If this canvas is to be highlighted (because it might have focus for example), then getHighlight should return the color of that highlight.
 javax.swing.JComponent getJComponent()
           
 java.lang.Iterable<? extends SearchableElement> getSearchableElements()
          Returns all of the searchable elements within this Searchable.
(package private)  void layoutBlocks()
           
(package private)  void removeBlock(RenderableBlock block)
           
 void setColor(java.awt.Color color)
           
(package private)  void setHighlight(java.awt.Color highlight)
           
 void setName(java.lang.String name)
           
 void updateContainsSearchResults(boolean containsSearchResults)
          Called by the search bar to update the Searchable of whether it currently belongs to the search bar's results.
 
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, 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
 
Methods inherited from interface codeblockutil.Canvas
getName
 

Constructor Detail

FactoryCanvas

FactoryCanvas(java.lang.String name,
              java.awt.Color color)
Constructs a new FactoryCanvas

Parameters:
name -
color -

FactoryCanvas

FactoryCanvas(java.lang.String name)
Method Detail

getSearchableElements

public java.lang.Iterable<? extends SearchableElement> getSearchableElements()
Description copied from interface: SearchableContainer
Returns all of the searchable elements within this Searchable. For example, the MiniMap contains RenderableBlocks, which may be searched.

Specified by:
getSearchableElements in interface SearchableContainer
Returns:
the SearchableElements contained within this SearchableContainer.

getBlocks

java.util.ArrayList<RenderableBlock> getBlocks()

updateContainsSearchResults

public void updateContainsSearchResults(boolean containsSearchResults)
Description copied from interface: SearchableContainer
Called by the search bar to update the Searchable of whether it currently belongs to the search bar's results. Guaranteed to be called on the Swing thread. It is the responsibility of this SearchableContainer to update any necessary state and repaint any necessary components as a result of a call to this method.

Specified by:
updateContainsSearchResults in interface SearchableContainer
Parameters:
containsSearchResults - true when the SearchableContainer is part of the current results.

setHighlight

void setHighlight(java.awt.Color highlight)

getHighlight

public java.awt.Color getHighlight()
Description copied from interface: Canvas
If this canvas is to be highlighted (because it might have focus for example), then getHighlight should return the color of that highlight. Otherwise, it should return null

Specified by:
getHighlight in interface Canvas
Returns:
highlighting color or null by default.

getColor

public java.awt.Color getColor()
Specified by:
getColor in interface Canvas
Returns:
color of Canvas or null by default

setColor

public void setColor(java.awt.Color color)

getJComponent

public javax.swing.JComponent getJComponent()
Specified by:
getJComponent in interface Canvas
Returns:
the JComponent representation of this Canvas. MAY NOT BE NULL.

setName

public void setName(java.lang.String name)
Overrides:
setName in class java.awt.Component

addBlock

void addBlock(RenderableBlock block)

removeBlock

void removeBlock(RenderableBlock block)

layoutBlocks

void layoutBlocks()

addToBlockLayer

public void addToBlockLayer(java.awt.Component c)
Description copied from interface: RBParent
Add this Component the BlockLayer, which is understood to be above the HighlightLayer, although no guarantee is made about its order relative to any other layers this RBParent may have.

Specified by:
addToBlockLayer in interface RBParent
Parameters:
c - the Component to add

addToHighlightLayer

public void addToHighlightLayer(java.awt.Component c)
Description copied from interface: RBParent
Add this Component to the HighlightLayer, which is understood to be directly and completely beneath the BlockLayer, such that all Components on the HighlightLayer are rendered behind ALL Components on the BlockLayer.

Specified by:
addToHighlightLayer in interface RBParent
Parameters:
c - the Component to add

componentResized

public void componentResized(java.awt.event.ComponentEvent e)
Specified by:
componentResized in interface java.awt.event.ComponentListener

componentHidden

public void componentHidden(java.awt.event.ComponentEvent e)
Specified by:
componentHidden in interface java.awt.event.ComponentListener

componentMoved

public void componentMoved(java.awt.event.ComponentEvent e)
Specified by:
componentMoved in interface java.awt.event.ComponentListener

componentShown

public void componentShown(java.awt.event.ComponentEvent e)
Specified by:
componentShown in interface java.awt.event.ComponentListener