DESY ACOP Beans Home

com.cosylab.gui.components.customizer
Class CustomizerEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JSplitPane
                  extended by com.cosylab.gui.components.customizer.CustomizerEditor
All Implemented Interfaces:
Editor, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.Customizer, java.io.Serializable, javax.accessibility.Accessible

public class CustomizerEditor
extends javax.swing.JSplitPane
implements java.beans.Customizer, Editor

A bridge between java.bean.Customizer and Cosy style Customizers.

Author:
Alen Vrecko
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JSplitPane
javax.swing.JSplitPane.AccessibleJSplitPane
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
 
Fields inherited from class javax.swing.JSplitPane
BOTTOM, CONTINUOUS_LAYOUT_PROPERTY, continuousLayout, DIVIDER, DIVIDER_LOCATION_PROPERTY, DIVIDER_SIZE_PROPERTY, dividerSize, HORIZONTAL_SPLIT, LAST_DIVIDER_LOCATION_PROPERTY, lastDividerLocation, LEFT, leftComponent, ONE_TOUCH_EXPANDABLE_PROPERTY, oneTouchExpandable, orientation, ORIENTATION_PROPERTY, RESIZE_WEIGHT_PROPERTY, RIGHT, rightComponent, TOP, VERTICAL_SPLIT
 
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.cosylab.gui.components.customizer.Editor
ASPECTS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CustomizerEditor()
          Cunstructs an empty editor.
 
Method Summary
 void addCustomEditor(java.lang.String aspect, Editor editor)
          Overrides the current editor for the specified aspect with the editor specified.
 void applySettings()
          Applies all the changes done to the custom editors as well as the property tables.
protected  void applyTableProperties()
           
 boolean canEdit(java.lang.Object displayer, java.lang.String aspect)
          Inspecting the ASPECTS and all the custom editors, this method determines, wether the specified aspect of the dispalyer can be edited by this editor.
 java.lang.String[] getDefaultProperties(java.lang.String aspect)
           Should return names of properties of a dispalyer to be edited within the sepcified aspect through generic proeprty tables.
 javax.swing.JComponent getEditorComponent(java.lang.Object displayer, java.lang.String aspect)
          Returns the editor component for the selected aspect and displayer.
protected  void initializeDefaultPropertiesTable(java.lang.Object displayer, java.lang.String aspect)
           
 void revertSettings()
          Reverts all the changes done to the custom editors as well as the property tables.
 void setObject(java.lang.Object bean)
           
 void stopEditing()
          Stops editing with all custom editors as well as property tables.
 
Methods inherited from class javax.swing.JSplitPane
addImpl, getAccessibleContext, getBottomComponent, getDividerLocation, getDividerSize, getLastDividerLocation, getLeftComponent, getMaximumDividerLocation, getMinimumDividerLocation, getOrientation, getResizeWeight, getRightComponent, getTopComponent, getUI, getUIClassID, isContinuousLayout, isOneTouchExpandable, isValidateRoot, paintChildren, paramString, remove, remove, removeAll, resetToPreferredSizes, setBottomComponent, setContinuousLayout, setDividerLocation, setDividerLocation, setDividerSize, setLastDividerLocation, setLeftComponent, setOneTouchExpandable, setOrientation, setResizeWeight, setRightComponent, setTopComponent, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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.Customizer
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

CustomizerEditor

public CustomizerEditor()
Cunstructs an empty editor.

Method Detail

getDefaultProperties

public java.lang.String[] getDefaultProperties(java.lang.String aspect)

Should return names of properties of a dispalyer to be edited within the sepcified aspect through generic proeprty tables. This empty implementation however returns null.

Subclasses should override this method to return arrays of String names of properties to be edited via property tables in the specified aspect.

The Strings returned should specify names of qualified JavaBean properties with conventional getter and setter methods.

If a custom editor has been specified for the aspect the result of theis method is ignored as the custom editor is used for editing the aspect instead of generic property table.

Parameters:
aspect - the aspect of the displayer to be edited with generic proeprty table
Returns:
array of names of properties to be edited with the proeprty table in the specified aspect

getEditorComponent

public javax.swing.JComponent getEditorComponent(java.lang.Object displayer,
                                                 java.lang.String aspect)
                                          throws java.lang.IllegalArgumentException
Returns the editor component for the selected aspect and displayer. If a custom editor exists for the selected aspect, it is returned. Otherwise a property table is returned containing the selected proeprties of the aspect as returned by #getDefaultProperties(String) method.

Specified by:
getEditorComponent in interface Editor
Parameters:
displayer - the component for which the editor should be returned
aspect - the specific editing aspect for which the editor should be returned
Returns:
the editor component for the selected aspect and displayer.
Throws:
java.lang.IllegalArgumentException - if no custom editor is found for the aspect and getDefaultProperties(String) returns null for the aspect.
See Also:
Editor.getEditorComponent(Object, String)

addCustomEditor

public void addCustomEditor(java.lang.String aspect,
                            Editor editor)
Overrides the current editor for the specified aspect with the editor specified. This method can be used to replace generic property tables as editors for the aspect specified.

Parameters:
aspect - for which to use the editor specified
editor - the editor to replace the current editor of the aspect specified

applySettings

public void applySettings()
Applies all the changes done to the custom editors as well as the property tables.

Specified by:
applySettings in interface Editor
See Also:
Editor.applySettings()

canEdit

public boolean canEdit(java.lang.Object displayer,
                       java.lang.String aspect)
Inspecting the ASPECTS and all the custom editors, this method determines, wether the specified aspect of the dispalyer can be edited by this editor.

Specified by:
canEdit in interface Editor
Parameters:
displayer - Object to be edited (is ignored and can be null)
aspect - String name of aspect to be edited.
Returns:
true if the specifed aspect of the displayer can be edited, false otherwise.
See Also:
Editor.canEdit(Object, String)

revertSettings

public void revertSettings()
Reverts all the changes done to the custom editors as well as the property tables.

Specified by:
revertSettings in interface Editor
See Also:
Editor.revertSettings()

stopEditing

public void stopEditing()
Stops editing with all custom editors as well as property tables.

Specified by:
stopEditing in interface Editor
See Also:
Editor.stopEditing()

applyTableProperties

protected void applyTableProperties()

initializeDefaultPropertiesTable

protected void initializeDefaultPropertiesTable(java.lang.Object displayer,
                                                java.lang.String aspect)
                                         throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

setObject

public void setObject(java.lang.Object bean)
Specified by:
setObject in interface java.beans.Customizer


Copyright © 2010. All Rights Reserved.