com.bbn.openmap.tools.drawing
Class OMDrawingToolLauncher

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bycom.bbn.openmap.gui.OMComponentPanel
                      extended bycom.bbn.openmap.gui.OMToolComponent
                          extended bycom.bbn.openmap.tools.drawing.OMDrawingToolLauncher
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, java.util.EventListener, java.awt.image.ImageObserver, LightMapHandlerChild, java.awt.MenuContainer, java.beans.PropertyChangeListener, PropertyConsumer, java.io.Serializable, Tool

public class OMDrawingToolLauncher
extends OMToolComponent
implements java.awt.event.ActionListener, java.beans.PropertyChangeListener

This tool is a widget that calls the OMDrawingTool to create a specific graphic. The launcher is completely configured by EditToolLaunchers it gets told about from the DrawingTool, and OMGraphicHandlers that it finds in a MapHandler. There are no methods to manually add stuff to this GUI.

There are two properties that can be set for the launcher:

    
     
      
      
       # Number of launcher buttons to place in a row in that part of the
       # GUI. -1 (the default) is to keep them all on one line.
       omdtl.horizNumLoaderButtons=-1
      
       # If set to true, a text popup will be used for the OMGraphic
       # loaders instead of buttons (false is default).
       omdtl.useTextLabels=false
       
      
     
 

See Also:
Serialized Form

Nested Class Summary
static class OMDrawingToolLauncher.LoaderHolder
           
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String CreateCmd
           
protected  java.lang.String currentCreation
           
protected  DrawingToolRequestor currentRequestor
           
protected  GraphicAttributes defaultGraphicAttributes
           
static java.lang.String defaultKey
          Default key for the DrawingToolLauncher Tool.
protected  DrawingTool drawingTool
           
protected  java.util.Vector drawingToolRequestors
           
static java.lang.String HorizontalNumberOfLoaderButtonsProperty
          Property for setting the maximum number of loader buttons to allow in the horizontal direction in the GUI (horizNumLoaderButtons).
protected  I18n i18n
           
protected  java.util.Vector loaders
           
 int maxHorNumLoaderButtons
           
protected  javax.swing.JPanel panel3
           
protected  javax.swing.JComboBox requestors
           
static java.lang.String UseLoaderTextProperty
           
protected  boolean useTextEditToolTitles
           
 
Fields inherited from class com.bbn.openmap.gui.OMToolComponent
c, gridbag, key, useAsTool, UseAsToolProperty
 
Fields inherited from class com.bbn.openmap.gui.OMComponentPanel
beanContextChildSupport, propertyPrefix, windowSupport
 
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 com.bbn.openmap.PropertyConsumer
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
OMDrawingToolLauncher()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent ae)
           
 void addLoader(EditToolLoader etl)
           
 void findAndInit(java.lang.Object someObj)
          This is the method that your object can use to find other objects within the MapHandler (BeanContext).
 void findAndUndo(java.lang.Object someObj)
          BeanContextMembershipListener method.
 java.awt.event.ActionListener getActionListener()
          Get the ActionListener that triggers the LauncherPanel.
 GraphicAttributes getDefaultGraphicAttributes()
          Get the attributes that initalize the graphic.
 DrawingTool getDrawingTool()
           
 java.lang.String getEditableClassName(java.lang.String prettyName)
          Given a pretty name, look through the EditToolLoaders and find out the classname that goes with editing it.
 java.awt.Container getFace()
          Tool interface method.
 java.util.Iterator getLoaders()
          Returns an iterator of LoaderHolders.
 java.util.Properties getProperties(java.util.Properties props)
          PropertyConsumer method, to fill in a Properties object, reflecting the current values of the OMComponent.
 java.util.Properties getPropertyInfo(java.util.Properties props)
          Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer.
protected  javax.swing.JComponent getToolWidgets()
           
protected  javax.swing.JComponent getToolWidgets(boolean useText)
           
 void propertyChange(java.beans.PropertyChangeEvent pce)
          PropertyChangeListener method, to listen for the OMDrawingTool's list of loaders that may or may not change.
 void removeLoader(EditToolLoader etl)
           
 void resetGUI()
          Build the stuff that goes in the launcher.
 void setCurrentCreation(java.lang.String name)
          Set the next thing to be created to be whatever the pretty name represents.
 void setCurrentRequestor(java.lang.String name)
          Set the component that will receive the new/edited OMGraphic from the DrawingTool.
 void setDefaultGraphicAttributes(GraphicAttributes ga)
          Set the attributes that initalize the graphic.
 void setDrawingTool(DrawingTool dt)
          Set the DrawingTool for this launcher.
 void setLoaders(java.util.Iterator iterator)
          Set the loaders with an Iterator containing EditToolLoaders.
 void setProperties(java.lang.String prefix, java.util.Properties props)
          Sets the properties for the OMComponent.
 void setRequestor(java.lang.String aName)
          Set the current requestor to receive a requested OMGraphic.
protected  void updateDrawingAttributesGUI()
           
 
Methods inherited from class com.bbn.openmap.gui.OMToolComponent
add, createLayout, getGridBagConstraints, getKey, getUseAsTool, setKey, setUseAsTool
 
Methods inherited from class com.bbn.openmap.gui.OMComponentPanel
addVetoableChangeListener, childrenAdded, childrenRemoved, findAndInit, fireVetoableChange, getBeanContext, getPropertyPrefix, getWindowSupport, removeVetoableChangeListener, setBeanContext, setProperties, setPropertyPrefix, setWindowSupport
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 
Methods inherited from interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

i18n

protected I18n i18n

drawingTool

protected DrawingTool drawingTool

useTextEditToolTitles

protected boolean useTextEditToolTitles

defaultGraphicAttributes

protected GraphicAttributes defaultGraphicAttributes

maxHorNumLoaderButtons

public int maxHorNumLoaderButtons

loaders

protected java.util.Vector loaders

drawingToolRequestors

protected java.util.Vector drawingToolRequestors

currentRequestor

protected DrawingToolRequestor currentRequestor

currentCreation

protected java.lang.String currentCreation

requestors

protected javax.swing.JComboBox requestors

panel3

protected javax.swing.JPanel panel3

HorizontalNumberOfLoaderButtonsProperty

public static final java.lang.String HorizontalNumberOfLoaderButtonsProperty
Property for setting the maximum number of loader buttons to allow in the horizontal direction in the GUI (horizNumLoaderButtons). -1 means to just lay them out in one row.

See Also:
Constant Field Values

UseLoaderTextProperty

public static final java.lang.String UseLoaderTextProperty
See Also:
Constant Field Values

CreateCmd

public static final java.lang.String CreateCmd
See Also:
Constant Field Values

defaultKey

public static final java.lang.String defaultKey
Default key for the DrawingToolLauncher Tool.

See Also:
Constant Field Values
Constructor Detail

OMDrawingToolLauncher

public OMDrawingToolLauncher()
Method Detail

setDrawingTool

public void setDrawingTool(DrawingTool dt)
Set the DrawingTool for this launcher.


getDrawingTool

public DrawingTool getDrawingTool()

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent ae)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

setRequestor

public void setRequestor(java.lang.String aName)
Set the current requestor to receive a requested OMGraphic. Changes are reflected in the GUI, and setCurrentRequestor() will eventually be called.


resetGUI

public void resetGUI()
Build the stuff that goes in the launcher.


updateDrawingAttributesGUI

protected void updateDrawingAttributesGUI()

getToolWidgets

protected javax.swing.JComponent getToolWidgets()

getToolWidgets

protected javax.swing.JComponent getToolWidgets(boolean useText)

setCurrentRequestor

public void setCurrentRequestor(java.lang.String name)
Set the component that will receive the new/edited OMGraphic from the DrawingTool. Does not change the GUI. Called when the combo box changes.

Parameters:
name - GUI pretty name of requestor.

setCurrentCreation

public void setCurrentCreation(java.lang.String name)
Set the next thing to be created to be whatever the pretty name represents. Sets currentCreation.

Parameters:
name - GUI pretty name of thing to be created, from one of the EditToolLoaders.

getEditableClassName

public java.lang.String getEditableClassName(java.lang.String prettyName)
Given a pretty name, look through the EditToolLoaders and find out the classname that goes with editing it.

Parameters:
prettyName - GUI pretty name of tool, or thing to be created, from one of the EditToolLoaders.

findAndInit

public void findAndInit(java.lang.Object someObj)
This is the method that your object can use to find other objects within the MapHandler (BeanContext). This method gets called when the object gets added to the MapHandler, or when another object gets added to the MapHandler after the object is a member.

Specified by:
findAndInit in interface LightMapHandlerChild
Overrides:
findAndInit in class OMComponentPanel
Parameters:
someObj - the object that was added to the BeanContext (MapHandler) that is being searched for. Find the ones you need, and hook yourself up.

findAndUndo

public void findAndUndo(java.lang.Object someObj)
BeanContextMembershipListener method. Called when a new object is removed from the BeanContext of this object. For the Layer, this method doesn't do anything. If your layer does something with the childrenAdded method, or findAndInit, you should take steps in this method to unhook the layer from the object used in those methods.

Specified by:
findAndUndo in interface LightMapHandlerChild
Overrides:
findAndUndo in class OMComponentPanel

getFace

public java.awt.Container getFace()
Tool interface method. The retrieval tool's interface. This method creates a button that will bring up the LauncherPanel.

Specified by:
getFace in interface Tool
Overrides:
getFace in class OMToolComponent
Returns:
String The key for this tool.

getActionListener

public java.awt.event.ActionListener getActionListener()
Get the ActionListener that triggers the LauncherPanel. Useful to have to provide an alternative way to bring up the LauncherPanel.

Returns:
ActionListener

getDefaultGraphicAttributes

public GraphicAttributes getDefaultGraphicAttributes()
Get the attributes that initalize the graphic.


setDefaultGraphicAttributes

public void setDefaultGraphicAttributes(GraphicAttributes ga)
Set the attributes that initalize the graphic.


setLoaders

public void setLoaders(java.util.Iterator iterator)
Set the loaders with an Iterator containing EditToolLoaders.


getLoaders

public java.util.Iterator getLoaders()
Returns an iterator of LoaderHolders.


addLoader

public void addLoader(EditToolLoader etl)

removeLoader

public void removeLoader(EditToolLoader etl)

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent pce)
PropertyChangeListener method, to listen for the OMDrawingTool's list of loaders that may or may not change.

Specified by:
propertyChange in interface java.beans.PropertyChangeListener

setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties props)
Description copied from class: OMComponentPanel
Sets the properties for the OMComponent.

Specified by:
setProperties in interface PropertyConsumer
Overrides:
setProperties in class OMToolComponent

getProperties

public java.util.Properties getProperties(java.util.Properties props)
Description copied from class: OMComponentPanel
PropertyConsumer method, to fill in a Properties object, reflecting the current values of the OMComponent. If the component has a propertyPrefix set, the property keys should have that prefix plus a separating '.' prepended to each propery key it uses for configuration.

Specified by:
getProperties in interface PropertyConsumer
Overrides:
getProperties in class OMToolComponent

getPropertyInfo

public java.util.Properties getPropertyInfo(java.util.Properties props)
Description copied from class: OMComponentPanel
Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer. The key for each property should be the raw property name (without a prefix) with a value that is a String that describes what the property key represents, along with any other information about the property that would be helpful (range, default value, etc.). For Layer, this method should at least return the 'prettyName' property.

Specified by:
getPropertyInfo in interface PropertyConsumer
Overrides:
getPropertyInfo in class OMToolComponent


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details