public abstract class ProjectSettingsTraversablePanel extends DefaultTraversablePanel
TraversableContext
must contain the project properties HashStructure
, referenced with key: PROPERTY_DATA_KEY
.
In the case of the Project Properties dialog, this HashStructure
contains either the shared project properties or the user properties. Subclasses can get the appropriate properties data, by calling getPropertyData(Namespace)
.
getPropertyData(Namespace)
, Serialized Formjavax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CHAINED_PROPERTY_DATA_KEY
The key used to store the chained project property
HashStructure in the TraversableContext. |
static java.lang.String |
DEFAULT_PROJECT_KEY
The key used to store the value that indicates whether or not data in the shared Namespace is default project data (as opposed to a real project data).
|
static java.lang.String |
EDITING_CUSTOM_PROPERTIES_KEY
The key used to store a Boolean that indicates whether or not the properties panel is for edting user-only project properties, or shared project properties.
|
static java.lang.String |
PROPERTY_DATA_KEY
The key used to store the project properties
HashStructure in the TraversableContext. |
static java.lang.String |
USER_ONLY_PROPERTY_DATA_KEY
The key used to store the chained project property
HashStructure in the TraversableContext. |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
ProjectSettingsTraversablePanel() |
Modifier and Type | Method and Description |
---|---|
void |
activateProperties(TraversableContext tc, boolean useCustom)
Enables or disables custom properties.
|
boolean |
arePropertiesOverridden()
Indicates whether or not the one or more shared project property is overridden by a custom property.
|
static boolean |
editingUserProperties(Namespace data)
Indicates whether or not the supplied
Namespace corresponds to user properties opposed to shared properties. |
abstract java.lang.String |
getDataKey()
Subclasses should implement this method and return the single key used to identify their project properties, unless the UI describes properties that span more than a single
HashStructure , in which case null should be returned. |
protected static Project |
getProject(Namespace data)
|
protected static PropertyStorage |
getPropertyData(Namespace data)
Gets a
PropertyStorage object that wraps the properties HashStructure , which is stored in the Namespace with the key: . |
abstract java.lang.String[] |
getPropertyKeys()
Subclasses must implement this method and return the list of property keys for this Project Properties panel.
|
static boolean |
isDefaultProject(Namespace data)
Indicates whether or not the data in the supplied
corresponds to the default project properties data. |
boolean |
isUserOnly()
The default implementation returns
false , indicating that the properties that are edited on this panel can be set at the user and at the project level. |
void |
onEntry(TraversableContext traversableContext)
Does nothing by default.
|
abstract void |
onProjectPanelEntry(TraversableContext traversableContext)
Subclasses must implement this method which is invoked when the panel is about to be displayed.
|
gbc, gbc, getComponent, getDefaultTitle, getExitTransition, getHelpID, getText, onExit, setDefaultTitle, setHelpID
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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
add, add, add, add, add, addContainerListener, addImpl, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
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, transferFocusBackward, transferFocusUpCycle
public static final java.lang.String DEFAULT_PROJECT_KEY
public static final java.lang.String EDITING_CUSTOM_PROPERTIES_KEY
public static final java.lang.String PROPERTY_DATA_KEY
HashStructure
in the TraversableContext.public static final java.lang.String CHAINED_PROPERTY_DATA_KEY
HashStructure
in the TraversableContext.public static final java.lang.String USER_ONLY_PROPERTY_DATA_KEY
HashStructure
in the TraversableContext.public void onEntry(TraversableContext traversableContext)
DefaultTraversablePanel
onEntry
in interface Traversable
onEntry
in class DefaultTraversablePanel
traversableContext
- The data wrapper where the Traversable
locates the data that it needs to populate the UI.Traversable.onEntry(TraversableContext)
public abstract void onProjectPanelEntry(TraversableContext traversableContext)
traversableContext
- the shared data contextpublic abstract java.lang.String getDataKey()
HashStructure
, in which case null
should be returned.null
getPropertyKeys()
public abstract java.lang.String[] getPropertyKeys()
HashStructure
, subclasses should implement getDataKey()
and return the key used to store the set of properties, then this method should return the keys as short property names like:
"debugInformation"
HashStructure
, the property keys must be in the form:
"oracle.jdeveloper.compiler.OjcConfiguration/debugInformation"
getDataKey()
protected static Project getProject(Namespace data)
data
- the data used in the context of this panelProject
java.lang.NullPointerException
- if data is null.protected static PropertyStorage getPropertyData(Namespace data)
PropertyStorage
object that wraps the properties HashStructure
, which is stored in the Namespace
with the key: PROPERTY_DATA_KEY
. This method requires that the Namespace
contain the project properties HashStructure
.data
- the data used in the context of this panelPropertyStorage
java.lang.IllegalArgumentException
- if the Namespace
does not contain the expected key, or the value is null
java.lang.NullPointerException
- if data is null.public boolean isUserOnly()
false
, indicating that the properties that are edited on this panel can be set at the user and at the project level.
Subclasses that provide UI for user-only properties, those which are never stored in the project, should override this method and return true
.
true
if the properties can only be set at the user level, false
otherwisepublic static final boolean isDefaultProject(Namespace data)
Namespace
corresponds to the default project properties data.data
- the shared Namespace
true
if the data is from the default project. Returns false
if the data is a real project.public static final boolean editingUserProperties(Namespace data)
Namespace
corresponds to user properties opposed to shared properties.true
if the data is user-specific project properties. Returns false
if the data corresponds to (shared) project properties.public final void activateProperties(TraversableContext tc, boolean useCustom)
useCustom
is true
, the custom properties are enabled so that they are accessible in the chained HashStructure. When useCustom
is false
, the custom properties are hidden so that they are not accessible from the project.tc
- the shared data contextuseCustom
- when true
, custom properties are enabled, when false
they are disabled and only team-level (shared) properties are usedHashStructureNode.getProperties()
, HashStructureNode.getPropertiesForOverriding()
public boolean arePropertiesOverridden()
true
.true
if any of the project properties are overridden by custom properties, false
otherwise