org.argouml.ui
Class StylePanelFig

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.argouml.ui.AbstractArgoJPanel
                      extended byorg.argouml.ui.StylePanel
                          extended byorg.argouml.ui.StylePanelFig
All Implemented Interfaces:
Accessible, ActionListener, Cloneable, DocumentListener, EventListener, FocusListener, ImageObserver, ItemListener, KeyListener, ListSelectionListener, MenuContainer, org.tigris.swidgets.Orientable, Serializable, TabFigTarget, TabTarget, org.argouml.ui.targetmanager.TargetListener
Direct Known Subclasses:
StylePanelFigNodeModelElement, StylePanelFigRRect, StylePanelFigText

public class StylePanelFig
extends StylePanel
implements ItemListener, FocusListener, KeyListener

The basic stylepanel which provides the boundaries box, line and fill color information.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, 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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
StylePanelFig()
          The constructor.
StylePanelFig(String title)
          The constructor of the style panel of a Fig.
 
Method Summary
 void focusGained(FocusEvent e)
           
 void focusLost(FocusEvent e)
          Makes sure that the fig is updated when the bboxField loses focus.
protected  JTextField getBBoxField()
           
protected  JLabel getBBoxLabel()
           
protected  JComboBox getFillField()
           
protected  JLabel getFillLabel()
           
protected  JComboBox getLineField()
           
protected  JLabel getLineLabel()
           
protected  org.argouml.swingext.SpacerPanel getSpacer()
           
protected  org.argouml.swingext.SpacerPanel getSpacer2()
           
protected  org.argouml.swingext.SpacerPanel getSpacer3()
           
protected  void handleCustomColor(JComboBox field, String title, Color targetColor)
          Prompts the user for a new custom color and adds that color to the combo box.
protected  void hasEditableBoundingBox(boolean value)
          set whether this Fig has a editable boundingbox.
protected  void initChoices()
          Fill in the user-choices.
 void itemStateChanged(ItemEvent e)
           
 void keyPressed(KeyEvent e)
           
 void keyReleased(KeyEvent e)
           
 void keyTyped(KeyEvent e)
          Tests if enter is pressed in the _bbodField so we need to set the target bounds.
protected  Rectangle parseBBox()
          Parse the boundary box string and return the rectangle it represents.
 void refresh()
          Handle a refresh of the style panel after the fig has moved.
protected  void setTargetBBox()
          Change the bounds of the target fig.
 void setTargetFill()
          Change the fill.
 void setTargetLine()
          Change the line.
 
Methods inherited from class org.argouml.ui.StylePanel
actionPerformed, addSeperator, changedUpdate, getPanelTarget, getTarget, insertUpdate, refresh, removeUpdate, setTarget, shouldBeEnabled, targetAdded, targetRemoved, targetSet, valueChanged
 
Methods inherited from class org.argouml.ui.AbstractArgoJPanel
clone, getOrientation, getTitle, setOrientation, setTitle, spawn
 
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, fireVetoableChange, 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, 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
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StylePanelFig

public StylePanelFig(String title)
The constructor of the style panel of a Fig. This constructor does not create any contents of the panel.

Parameters:
title - the title string

StylePanelFig

public StylePanelFig()
The constructor.

Method Detail

initChoices

protected void initChoices()
Fill in the user-choices.


hasEditableBoundingBox

protected void hasEditableBoundingBox(boolean value)
set whether this Fig has a editable boundingbox. This is done normally in refresh(), e.g. for FigEdgeModelElements where it does not make sense to edit the bounding box.

Parameters:
value - the boolean value of the bounding box property

refresh

public void refresh()
Handle a refresh of the style panel after the fig has moved.

Warning. There is a circular trap here. Editing the boundary box will also trigger a refresh, and so we reset the boundary box, which causes funny behaviour (the cursor keeps jumping to the end of the text). The solution is to not reset the boundary box field if the boundaries have not changed.

Specified by:
refresh in interface TabTarget
Overrides:
refresh in class StylePanel
See Also:
TabTarget.refresh()

setTargetBBox

protected void setTargetBBox()
Change the bounds of the target fig. Called whenever the bounds box is edited.

Format of the bounds is four integers representing x, y, width and height separated by spaces or commas. An empty field is treated as no change and leading and trailing spaces are ignored.

Note. There is a note in the old code that more work might be needed, because this could change the graph model. I don't see how that could ever be.


parseBBox

protected Rectangle parseBBox()
Parse the boundary box string and return the rectangle it represents.

The syntax are four integers separated by spaces or commas. We ignore leading and trailing blanks.

If we have the empty string we return null.

If we fail to parse, then we return null and print out a rude message.

Returns:
The size of the box, or null if the bounds string is empty or invalid.

handleCustomColor

protected void handleCustomColor(JComboBox field,
                                 String title,
                                 Color targetColor)
Prompts the user for a new custom color and adds that color to the combo box.

Parameters:
field - the combobox to enter a new color for
title - the title for the dialog box
targetColor - the initial Color set when the color-chooser is shown

setTargetFill

public void setTargetFill()
Change the fill.


setTargetLine

public void setTargetLine()
Change the line.


itemStateChanged

public void itemStateChanged(ItemEvent e)
Specified by:
itemStateChanged in interface ItemListener
Overrides:
itemStateChanged in class StylePanel
See Also:
ItemListener.itemStateChanged(java.awt.event.ItemEvent)

focusGained

public void focusGained(FocusEvent e)
Specified by:
focusGained in interface FocusListener
See Also:
FocusListener.focusGained(java.awt.event.FocusEvent)

focusLost

public void focusLost(FocusEvent e)
Makes sure that the fig is updated when the bboxField loses focus.

Specified by:
focusLost in interface FocusListener
See Also:
FocusListener.focusLost(java.awt.event.FocusEvent)

keyPressed

public void keyPressed(KeyEvent e)
Specified by:
keyPressed in interface KeyListener
See Also:
KeyListener.keyPressed(java.awt.event.KeyEvent)

keyReleased

public void keyReleased(KeyEvent e)
Specified by:
keyReleased in interface KeyListener
See Also:
KeyListener.keyReleased(java.awt.event.KeyEvent)

keyTyped

public void keyTyped(KeyEvent e)
Tests if enter is pressed in the _bbodField so we need to set the target bounds.

Specified by:
keyTyped in interface KeyListener
See Also:
KeyListener.keyTyped(java.awt.event.KeyEvent)

getBBoxLabel

protected JLabel getBBoxLabel()
Returns:
Returns the _bboxLabel.

getBBoxField

protected JTextField getBBoxField()
Returns:
Returns the _bboxField.

getFillLabel

protected JLabel getFillLabel()
Returns:
Returns the _fillLabel.

getFillField

protected JComboBox getFillField()
Returns:
Returns the _fillField.

getLineLabel

protected JLabel getLineLabel()
Returns:
Returns the _lineLabel.

getLineField

protected JComboBox getLineField()
Returns:
Returns the _lineField.

getSpacer

protected org.argouml.swingext.SpacerPanel getSpacer()
Returns:
Returns the _spacer.

getSpacer2

protected org.argouml.swingext.SpacerPanel getSpacer2()
Returns:
Returns the _spacer2.

getSpacer3

protected org.argouml.swingext.SpacerPanel getSpacer3()
Returns:
Returns the _spacer3.


ArgoUML © 1996-2006ArgoUML HomepageArgoUML Cookbook