jfig.gui
Class JEditCompoundDialog

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Dialog
                  extended byjavax.swing.JDialog
                      extended byjfig.gui.JEditBaseobjectDialog
                          extended byjfig.gui.JEditCompoundDialog
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.event.KeyListener, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants, java.awt.event.WindowListener

public class JEditCompoundDialog
extends JEditBaseobjectDialog
implements java.awt.event.ActionListener, java.awt.event.KeyListener

JEditCompoundDialog: dialog window to edit a compound object's attribute layer. This class now also implements a subset of the xfig.3.2.3c behaviour, allowing direct editing of the top-level text objects in the compound via additional JTextFields on the window. Note that we currently limit this function to the first ten text objects per compound, to save screen real estate.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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
(package private)  javax.swing.JPanel _textFieldPanel
           
(package private)  java.util.Vector _textFieldVector
           
(package private)  java.util.Vector _textObjectVector
           
(package private)  FigCompound compound
           
static int MAX_TEXT_FIELDS
           
 
Fields inherited from class jfig.gui.JEditBaseobjectDialog
AC, applyButton, arrowBLabel, arrowFLabel, arrowModeButton, arrowModeLabel, arrowStyleButton, arrowStyleLabel, b_arrowLengthField, b_arrowThicknessField, b_arrowWidthField, backgroundColor, cancelButton, centerFlushLeftChoice, coordsScroller, coordsTextArea, cornerRadiusButton, cornerRadiusLabel, currentAttribs, dashLengthField, debug, defaultFont, depthButton, depthLabel, editor, f_arrowLengthField, f_arrowThicknessField, f_arrowWidthField, fillColorButton, fillColorLabel, fillPatternButton, fontSelectButton, fontSizeButton, fontStyleLabel, landscapeLabel, landscapePortraitChoice, lineColorButton, lineColorLabel, lineStyleButton, lineStyleLabel, lineWidthButton, lineWidthLabel, okButton, rotationAngleButton, rotationAngleLabel, savedAttribs, savedCoords, statusMessage, textAlignButton, textAlignLabel
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JEditCompoundDialog(java.awt.Frame parent, FigBasicEditor editor)
           
 
Method Summary
 javax.swing.JPanel buildAttribsPanel()
          all of the attribute controls, in a nice one-column GridLayout
 javax.swing.JPanel buildCoordsPanel()
          Create the panel to hold the textfields for direct text object access.
 javax.swing.JPanel buildLabelsPanel()
          all of the attribute labels, in a nice one-column GridLayout
 void doApply()
           
 void doCancel()
           
 void doOK()
           
static void main(java.lang.String[] argv)
          main(), for debugging only
 void retrieveAttribs(FigAttribs attr)
          utility method to get the current attribute settings from the individual GUI buttons/choices/textfields
 void setCompoundObject(FigCompound compound)
          set a new compound to edit.
 void showAttribs(FigAttribs attr)
          utility method to show the current attribute settings in the individual GUI buttons/choices/textfields
 void updateTextFieldPanel()
          update the TextFields for direct editing of the top-level text objects.
 void updateTextObjects()
           
 
Methods inherited from class jfig.gui.JEditBaseobjectDialog
actionPerformed, buildArrowModePanel, buildBArrowPanel, buildButtonPanel, buildCornerRadiusPanel, buildDepthPanel, buildFArrowPanel, buildFillStylePanel, buildFontSelectPanel, buildLineColorPanel, buildLineStylePanel, buildOptionsPanel, buildRotationAnglePanel, buildTextAttributesPanel, createControls, dbg, doRedraw, getGUIDefaults, keyPressed, keyReleased, keyTyped, message, setAttributes, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.event.ActionListener
actionPerformed
 
Methods inherited from interface java.awt.event.KeyListener
keyPressed, keyReleased, keyTyped
 

Field Detail

compound

FigCompound compound

MAX_TEXT_FIELDS

public static final int MAX_TEXT_FIELDS
See Also:
Constant Field Values

_textObjectVector

java.util.Vector _textObjectVector

_textFieldVector

java.util.Vector _textFieldVector

_textFieldPanel

javax.swing.JPanel _textFieldPanel
Constructor Detail

JEditCompoundDialog

public JEditCompoundDialog(java.awt.Frame parent,
                           FigBasicEditor editor)
Method Detail

setCompoundObject

public void setCompoundObject(FigCompound compound)
set a new compound to edit.


buildLabelsPanel

public javax.swing.JPanel buildLabelsPanel()
Description copied from class: JEditBaseobjectDialog
all of the attribute labels, in a nice one-column GridLayout

Overrides:
buildLabelsPanel in class JEditBaseobjectDialog

buildAttribsPanel

public javax.swing.JPanel buildAttribsPanel()
Description copied from class: JEditBaseobjectDialog
all of the attribute controls, in a nice one-column GridLayout

Overrides:
buildAttribsPanel in class JEditBaseobjectDialog

buildCoordsPanel

public javax.swing.JPanel buildCoordsPanel()
Create the panel to hold the textfields for direct text object access. Note that we don't need a coordinates panel for a compound object, because it is not possible to edit the compound's size.

Overrides:
buildCoordsPanel in class JEditBaseobjectDialog

updateTextFieldPanel

public void updateTextFieldPanel()
update the TextFields for direct editing of the top-level text objects. First, search and cound the text objects in the compound object. Next, if less then MAX_TEXT_FIELDS texts are found, construct the TextFields, add them to the Panel, and display them. If too many are found, display a warning message instead.


updateTextObjects

public void updateTextObjects()

retrieveAttribs

public void retrieveAttribs(FigAttribs attr)
Description copied from class: JEditBaseobjectDialog
utility method to get the current attribute settings from the individual GUI buttons/choices/textfields

Overrides:
retrieveAttribs in class JEditBaseobjectDialog

showAttribs

public void showAttribs(FigAttribs attr)
Description copied from class: JEditBaseobjectDialog
utility method to show the current attribute settings in the individual GUI buttons/choices/textfields

Overrides:
showAttribs in class JEditBaseobjectDialog

doCancel

public void doCancel()
Overrides:
doCancel in class JEditBaseobjectDialog

doApply

public void doApply()
Overrides:
doApply in class JEditBaseobjectDialog

doOK

public void doOK()
Overrides:
doOK in class JEditBaseobjectDialog

main

public static void main(java.lang.String[] argv)
main(), for debugging only