org.pushingpixels.flamingo.api.bcb
Class JBreadcrumbBar<T>

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.pushingpixels.flamingo.api.bcb.JBreadcrumbBar<T>
Type Parameters:
T - Type of data associated with each breadcrumb bar item.
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable
Direct Known Subclasses:
BreadcrumbFileSelector, BreadcrumbMultiSvnSelector, BreadcrumbSvnSelector, BreadcrumbTreeAdapterSelector

public class JBreadcrumbBar<T>
extends JComponent

Breadcrumb bar. It is basically a way of lazily navigating around a tree, but just by manipulating the sections of a path.

See Also:
Serialized Form

Nested Class Summary
static interface JBreadcrumbBar.BreadcrumbBarElement
          Base interface for elements in breadcrumb bar.
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  BreadcrumbBarCallBack<T> callback
          Application callback.
protected  List<BreadcrumbBarExceptionHandler> exceptionHandlers
          List of registered exception handlers.
protected  BreadcrumbBarModel<T> model
          The breadcrumb bar model.
static String uiClassID
          The UI class ID string.
 
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
JBreadcrumbBar(BreadcrumbBarCallBack<T> callback)
          Creates a new breadcrumb bar.
 
Method Summary
 void addExceptionHandler(BreadcrumbBarExceptionHandler handler)
          Registers the specified exception handler.
 BreadcrumbBarCallBack<T> getCallback()
          Returns the application callback.
 List<BreadcrumbBarExceptionHandler> getExceptionHandlers()
          Returns the list of currently registered exception handlers.
 BreadcrumbBarModel<T> getModel()
          Returns the model of this breadcrumb bar.
 BreadcrumbBarUI getUI()
          Returns the UI object which implements the L&F for this component.
 String getUIClassID()
          Returns the name of the UI class that implements the L&F for this component.
 void removeExceptionHandler(BreadcrumbBarExceptionHandler handler)
          Unregisters the specified exception handler.
 void setPath(List<BreadcrumbItem<T>> newPath)
          Sets new path as the current path in this breadcrumb bar.
 void setThrowsExceptions(boolean throwsExceptions)
          Sets the indication whether the operations of this breadcrumb bar will throw BreadcrumbBarException.
 void setUI(BreadcrumbBarUI ui)
          Sets the new UI delegate.
 void updateUI()
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, paramString, 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, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

model

protected BreadcrumbBarModel<T> model
The breadcrumb bar model.


callback

protected BreadcrumbBarCallBack<T> callback
Application callback. Used to retrieve choices for the activated selector.


exceptionHandlers

protected List<BreadcrumbBarExceptionHandler> exceptionHandlers
List of registered exception handlers.


uiClassID

public static final String uiClassID
The UI class ID string.

See Also:
Constant Field Values
Constructor Detail

JBreadcrumbBar

public JBreadcrumbBar(BreadcrumbBarCallBack<T> callback)
Creates a new breadcrumb bar.

Parameters:
callback - The application callback.
Method Detail

setPath

public void setPath(List<BreadcrumbItem<T>> newPath)
Sets new path as the current path in this breadcrumb bar.

Parameters:
newPath - New path for this breadcrumb bar.

getCallback

public BreadcrumbBarCallBack<T> getCallback()
Returns the application callback.

Returns:
The application callback.

setUI

public void setUI(BreadcrumbBarUI ui)
Sets the new UI delegate.

Parameters:
ui - New UI delegate.

updateUI

public void updateUI()
Overrides:
updateUI in class JComponent

getUI

public BreadcrumbBarUI getUI()
Returns the UI object which implements the L&F for this component.

Returns:
a BreadcrumbBarUI object
See Also:
setUI(org.pushingpixels.flamingo.internal.ui.bcb.BreadcrumbBarUI)

getUIClassID

public String getUIClassID()
Returns the name of the UI class that implements the L&F for this component.

Overrides:
getUIClassID in class JComponent
Returns:
the string "BreadcrumbBarUI"
See Also:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

addExceptionHandler

public void addExceptionHandler(BreadcrumbBarExceptionHandler handler)
Registers the specified exception handler.

Parameters:
handler - Exception handler.

removeExceptionHandler

public void removeExceptionHandler(BreadcrumbBarExceptionHandler handler)
Unregisters the specified exception handler.

Parameters:
handler - Exception handler.

getExceptionHandlers

public List<BreadcrumbBarExceptionHandler> getExceptionHandlers()
Returns the list of currently registered exception handlers.

Returns:
List of currently registered exception handlers.

setThrowsExceptions

public void setThrowsExceptions(boolean throwsExceptions)
Sets the indication whether the operations of this breadcrumb bar will throw BreadcrumbBarException.

Parameters:
throwsExceptions - If true, the operations of this breadcrumb bar will throw BreadcrumbBarException.

getModel

public BreadcrumbBarModel<T> getModel()
Returns the model of this breadcrumb bar.

Returns:
The model of this breadcrumb bar.