com.borland.primetime.properties
Class NestingPropertyPage

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--com.borland.primetime.properties.PropertyPage
                                |
                                +--com.borland.primetime.properties.NestingPropertyPage

public abstract class NestingPropertyPage
extends PropertyPage

NestingPropertyPage is a specialized PropertyPage that controls a collection of subpages. All initialization / verification / storage requests are automatically propogated to the subpages as appropriate to maintain the PropertyPage metaphor. Subclasses must take pains to invoke the inherited implementation when overriding PropertyPage methods which are used as a part of this process.

Subclasses are responsible for invoking createNestedPages() to define the set of subpages available, and should place the component returned by getNestedTabbedPane() within their user interface to make the subpages visible. It is strongly recommended that at least one component be placed above the nested tabbed pane to avoid having two unrelated tab controls next to each other.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
 
Constructor Summary
NestingPropertyPage()
           
NestingPropertyPage(java.awt.LayoutManager layout)
           
 
Method Summary
 void createNestedPages(PropertyPageFactory[] factories)
          Creates a collection of subordinate pages based on the supplied array of PropertyPageFactory instances.
 com.borland.primetime.help.HelpTopic getHelpTopic()
          Returns the HelpTopic associated with this property page.
 javax.swing.JTabbedPane getNestedTabbedPane()
          Returns the tabbed area created by NestingPropertyPage that contains each of the subordinate PropertyPage instances created by a call to createNestedPages.
 boolean isValid()
          Validates each of the subpages in turn using their isValid() method.
 void writeProperties()
          Writes the property valuse on each of the subpages in turn using their writeProperties() method.
 
Methods inherited from class com.borland.primetime.properties.PropertyPage
readProperties, reportValidationError
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setCursor, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NestingPropertyPage

public NestingPropertyPage()

NestingPropertyPage

public NestingPropertyPage(java.awt.LayoutManager layout)
Method Detail

getNestedTabbedPane

public javax.swing.JTabbedPane getNestedTabbedPane()

Returns the tabbed area created by NestingPropertyPage that contains each of the subordinate PropertyPage instances created by a call to createNestedPages.

Returns:
A JTabbedPane instance.

createNestedPages

public void createNestedPages(PropertyPageFactory[] factories)

Creates a collection of subordinate pages based on the supplied array of PropertyPageFactory instances. The resulting pages are managed by the NestingPropertyPage.

Parameters:
factories - An array of PropertyPageFactory instances. This value must not be null.

isValid

public boolean isValid()

Validates each of the subpages in turn using their isValid() method. The first failure stops the validation process.

Subclasses that override this method must invoke the inherited implementation unless they are planning to return false for validation reasons of their own. Failure to check subpages before attempting to save their properties may result in runtime failures and lost information.

Overrides:
isValid in class PropertyPage
Returns:
True if all subpages are valid, false otherwise.

writeProperties

public void writeProperties()

Writes the property valuse on each of the subpages in turn using their writeProperties() method. Subclasses that override this method must invoke the inherited implementation.

Overrides:
writeProperties in class PropertyPage

getHelpTopic

public com.borland.primetime.help.HelpTopic getHelpTopic()

Returns the HelpTopic associated with this property page. This topic will be displayed when Help is selected from the containing dialog.

Overrides:
getHelpTopic in class PropertyPage