ix.iface.ui
Class JPreferencesDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by ix.iface.ui.JPreferencesDialog
All Implemented Interfaces:
JPropertiesEditor, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Direct Known Subclasses:
IDEPreferencesDialog

public abstract class JPreferencesDialog
extends javax.swing.JDialog
implements java.awt.event.MouseListener, JPropertiesEditor

An abstarct dialog for editing preferences. Provides lots of useful things. Remember to mark properties that cannot be edited in the property manager, otherwise such preperties will be emptied.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 java.util.HashSet booleanKeys
           
 javax.swing.JFrame frame
           
 java.util.HashMap keyComponents
           
protected  JPropertiesManager manager
           
 javax.swing.JPanel prefsPanel
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
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
JPreferencesDialog(javax.swing.JFrame parentFrame, JPropertiesManager propertiesManager)
           
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
           
(package private)  void closePreferences()
           
 void firePropertyChanged(java.lang.String key, java.lang.String oldVal, java.lang.String newVal)
           
 void getPropertiesFromComponents(boolean fire)
          As above, but works on the property manager's properties.
 void getPropertiesFromComponents(java.util.Properties props, boolean fire)
          fires change only when flag set (only for apply, not save etc)
protected  java.lang.String getPropertyFromBooleanComponent(java.lang.String key, java.awt.Component c)
           
abstract  java.lang.String getPropertyFromComponent(java.lang.String key, java.util.List components)
           
abstract  void localCommandClicked(java.lang.String command)
          for buttons etc within the panel
protected  java.awt.Component makeBooleanComponent(java.lang.String key, java.lang.String value)
           
protected  void makeCheckBoxComponent(java.lang.String key, java.lang.String label, java.util.List options, java.lang.String ttEnd)
           
abstract  void makeComponents()
           
 java.awt.Component makeInputComponent(java.awt.Container box, java.lang.String key, java.lang.String label, java.lang.String value, java.lang.String ttt)
           
 java.awt.Component makeInputComponent(java.awt.Container box, java.lang.String key, java.lang.String label, java.lang.String value, java.lang.String ttt, int align)
           
protected  void makeRadioComponent(java.lang.String key, java.lang.String label, java.util.List options, java.lang.String ttEnd)
           
 void mouseClicked(java.awt.event.MouseEvent event)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
           
protected  void setBooleanComponent(java.lang.String key, java.awt.Component c, java.lang.String value)
           
abstract  boolean setComponentFromProperty(java.lang.String key, java.util.List components, java.lang.String val)
          Sets the given dialog components for the given key with the value.
 void setComponentsFromProperties(java.util.Properties props)
          Looks up the current (old?)
protected  void setEnabledComponent(java.awt.Component c, boolean able)
          I-DE overwrites this to focus on toggle-buttons only
 void setEnabledComponents(java.lang.String key, boolean able)
           
protected  void setEnabledComponents(java.lang.String key, java.util.List components, boolean able)
           
 void setPropertyChangeListeners(java.util.HashSet listeners)
           
 void setVisible(boolean v)
           
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, 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, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, 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, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, 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 ix.iface.ui.JPropertiesEditor
show
 

Field Detail

frame

public javax.swing.JFrame frame

prefsPanel

public javax.swing.JPanel prefsPanel

booleanKeys

public java.util.HashSet booleanKeys

keyComponents

public java.util.HashMap keyComponents

manager

protected JPropertiesManager manager
Constructor Detail

JPreferencesDialog

public JPreferencesDialog(javax.swing.JFrame parentFrame,
                          JPropertiesManager propertiesManager)
Method Detail

setVisible

public void setVisible(boolean v)
Overrides:
setVisible in class java.awt.Dialog

getPropertiesFromComponents

public void getPropertiesFromComponents(boolean fire)
Description copied from interface: JPropertiesEditor
As above, but works on the property manager's properties.

Specified by:
getPropertiesFromComponents in interface JPropertiesEditor

setComponentsFromProperties

public void setComponentsFromProperties(java.util.Properties props)
Description copied from interface: JPropertiesEditor
Looks up the current (old?) values of the given properties and set the editor's components to the property values.

Specified by:
setComponentsFromProperties in interface JPropertiesEditor

getPropertiesFromComponents

public void getPropertiesFromComponents(java.util.Properties props,
                                        boolean fire)
fires change only when flag set (only for apply, not save etc)

Specified by:
getPropertiesFromComponents in interface JPropertiesEditor

closePreferences

void closePreferences()

setEnabledComponents

public void setEnabledComponents(java.lang.String key,
                                 boolean able)

setEnabledComponents

protected void setEnabledComponents(java.lang.String key,
                                    java.util.List components,
                                    boolean able)

setEnabledComponent

protected void setEnabledComponent(java.awt.Component c,
                                   boolean able)
I-DE overwrites this to focus on toggle-buttons only


makeBooleanComponent

protected java.awt.Component makeBooleanComponent(java.lang.String key,
                                                  java.lang.String value)

setBooleanComponent

protected void setBooleanComponent(java.lang.String key,
                                   java.awt.Component c,
                                   java.lang.String value)

getPropertyFromBooleanComponent

protected java.lang.String getPropertyFromBooleanComponent(java.lang.String key,
                                                           java.awt.Component c)

makeInputComponent

public java.awt.Component makeInputComponent(java.awt.Container box,
                                             java.lang.String key,
                                             java.lang.String label,
                                             java.lang.String value,
                                             java.lang.String ttt)

makeInputComponent

public java.awt.Component makeInputComponent(java.awt.Container box,
                                             java.lang.String key,
                                             java.lang.String label,
                                             java.lang.String value,
                                             java.lang.String ttt,
                                             int align)

makeRadioComponent

protected void makeRadioComponent(java.lang.String key,
                                  java.lang.String label,
                                  java.util.List options,
                                  java.lang.String ttEnd)

makeCheckBoxComponent

protected void makeCheckBoxComponent(java.lang.String key,
                                     java.lang.String label,
                                     java.util.List options,
                                     java.lang.String ttEnd)

makeComponents

public abstract void makeComponents()
Specified by:
makeComponents in interface JPropertiesEditor

setComponentFromProperty

public abstract boolean setComponentFromProperty(java.lang.String key,
                                                 java.util.List components,
                                                 java.lang.String val)
Sets the given dialog components for the given key with the value.

Specified by:
setComponentFromProperty in interface JPropertiesEditor
Returns:
true if there are components to be set, false otherwise.

getPropertyFromComponent

public abstract java.lang.String getPropertyFromComponent(java.lang.String key,
                                                          java.util.List components)
Specified by:
getPropertyFromComponent in interface JPropertiesEditor

localCommandClicked

public abstract void localCommandClicked(java.lang.String command)
for buttons etc within the panel

Specified by:
localCommandClicked in interface JPropertiesEditor

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent event)
Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Specified by:
addPropertyChangeListener in interface JPropertiesEditor
Overrides:
addPropertyChangeListener in class java.awt.Window

setPropertyChangeListeners

public void setPropertyChangeListeners(java.util.HashSet listeners)

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Specified by:
removePropertyChangeListener in interface JPropertiesEditor
Overrides:
removePropertyChangeListener in class java.awt.Component

firePropertyChanged

public void firePropertyChanged(java.lang.String key,
                                java.lang.String oldVal,
                                java.lang.String newVal)