com.explodingpixels.macwidgets
Class SourceListControlBar

java.lang.Object
  extended by com.explodingpixels.macwidgets.SourceListControlBar

public class SourceListControlBar
extends Object

A bar that can contain buttons and pop-down buttons that act on a given SourceList. This control bar is displayed at the base of the SourceList. The control bar also has a draggable widget that can control the divider location of a given JSplitPane.

Heres how to create and install an empty SourceListControlBar:

 SourceList sourceList = DSourceListITunes.createSourceList();
 SourceListControlBar controlBar = new SourceListControlBar();
 sourceList.installSourceListControlBar(controlBar);
 
The above code creates a control bar that looks like this:

The following code adds two push buttons and a drop-down button to the control bar:

 controlBar.createAndAddPopdownButton(MacIcons.GEAR,
         new PopupMenuCustomizer() {
             public void customizePopup(JPopupMenu popup) {
                 popup.removeAll();
                 popup.add(new JMenuItem("Item One"));
                 popup.add(new JMenuItem("Item Two"));
                 popup.add(new JMenuItem("Item Three"));
             }
         });
 
The above code creates a control bar that looks like this:


Constructor Summary
SourceListControlBar()
          Creates a SourceListControlBar.
 
Method Summary
 void createAndAddButton(Icon icon, ActionListener actionListener)
          Adds a new button with the given icon.
 void createAndAddPopdownButton(Icon icon, PopupMenuCustomizer popupMenuCustomizer)
          Add a new pop-down style button.
 JComponent getComponent()
          Gets the user interface component representing this SourceListControlBar.
 void hideResizeHandle()
          Hides the resize handle.
 void installDraggableWidgetOnSplitPane(JSplitPane splitPane)
          Connects the draggable widget in this SourceListControlBar to the divider of the given JSplitPane.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SourceListControlBar

public SourceListControlBar()
Creates a SourceListControlBar.

Method Detail

installDraggableWidgetOnSplitPane

public void installDraggableWidgetOnSplitPane(JSplitPane splitPane)
Connects the draggable widget in this SourceListControlBar to the divider of the given JSplitPane. Thus when the user drags the SourceListControlBar draggable widget, the given JSplitPanes divider location will be adjusted.

Parameters:
splitPane - the JSplitPane to connect the draggable widget to.

getComponent

public JComponent getComponent()
Gets the user interface component representing this SourceListControlBar. The returned JComponent should be added to a container that will be displayed.

Returns:
the user interface component representing this SourceListControlBar.

createAndAddPopdownButton

public void createAndAddPopdownButton(Icon icon,
                                      PopupMenuCustomizer popupMenuCustomizer)
Add a new pop-down style button. The given PopupMenuCustomizer will be called just prior to each showing of the menu.

Parameters:
icon - the icon to use in the pop-down menu.
popupMenuCustomizer - the PopupMenuCustomizer to be called just prior to showing the menu.

createAndAddButton

public void createAndAddButton(Icon icon,
                               ActionListener actionListener)
Adds a new button with the given icon. The given ActionListener will be called when the button is pressed.

Parameters:
icon - the icon to use for the button.
actionListener - the ActionListener to call when the button is pressed.

hideResizeHandle

public void hideResizeHandle()
Hides the resize handle.