com.rolemodelsoft.drawlet.awt
Class ToolPalette

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--com.rolemodelsoft.drawlet.awt.CanvasPalette
                          |
                          +--com.rolemodelsoft.drawlet.awt.ToolPalette

public class ToolPalette
extends CanvasPalette

Although there are multiple ways a DrawingCanvas can get its tool(s), a typical approach is providing a palette from which to choose them. This class provides a very simple version of one. There is obviously room for improvement (e.g. tool tips, etc.). NOTE: Right now, the layout managers are kind of mixed up. They should all be standardized (probably to GridBag) and tested to ensure that icons and labels can be interchanged and still look good.

See Also:
Serialized Form

Field Summary
protected  java.awt.Component lastButton
          The last button invoked on this ToolPalette
protected  java.util.Vector tools
          The list of tools that correspond to the buttons.
 
Fields inherited from class com.rolemodelsoft.drawlet.awt.CanvasPalette
canvas
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Constructor Summary
ToolPalette(DrawingCanvas canvas)
          Creates a new ToolPalette and associates it with the given DrawingCanvas.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
          Called if an action occurs in the palette.
 void addTool(InputEventHandler tool, java.lang.String label)
          Add a tool to the receiver, labeling it appropriately.
 void addTool(InputEventHandler tool, java.lang.String label, java.awt.Image image)
          Add a tool to the receiver, associating it with the given label and Image.
protected  java.awt.Button addToolButton(InputEventHandler tool, java.lang.String label)
          Add a tool to the receiver in Button form, labeling it appropriately.
 
Methods inherited from class com.rolemodelsoft.drawlet.awt.CanvasPalette
addButton, getCanvas, indexOf, setCanvas
 
Methods inherited from class java.awt.Panel
addNotify
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setCursor, setFont, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

tools

protected java.util.Vector tools
The list of tools that correspond to the buttons.

lastButton

protected java.awt.Component lastButton
The last button invoked on this ToolPalette
Constructor Detail

ToolPalette

public ToolPalette(DrawingCanvas canvas)
Creates a new ToolPalette and associates it with the given DrawingCanvas.
Parameters:
canvas - the canvas on which to apply tools.
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
Called if an action occurs in the palette. Set the tool of the canvas as appropriate.
Overrides:
actionPerformed in class CanvasPalette
Parameters:
evt - the event

addTool

public void addTool(InputEventHandler tool,
                    java.lang.String label)
Add a tool to the receiver, labeling it appropriately.
Parameters:
tool - the tool to add
label - the label to associate with the tool

addTool

public void addTool(InputEventHandler tool,
                    java.lang.String label,
                    java.awt.Image image)
Add a tool to the receiver, associating it with the given label and Image.
Parameters:
tool - the EventHandler to add
label - the label to associate with the tool
image - the Image to associate with the tool

addToolButton

protected java.awt.Button addToolButton(InputEventHandler tool,
                                        java.lang.String label)
Add a tool to the receiver in Button form, labeling it appropriately.
Parameters:
tool - the tool to add
label - the label to associate with the tool