public abstract class ProjectSettingsTraversablePanel extends DefaultTraversablePanel
TraversableContext
must contain the project
properties HashStructure that will be edited. It must also contain
the workspace-level properties HashStructure to support those
properties that are registered as shareable across projects in a
workspace.
In the case of the Project Properties dialog, this panel can edit
user-private properties, project-shared properties, or workspace-
shared properties. Subclasses must get the appropriate properties
data, by calling getPropertyData(Namespace)
.
#setSharedProperties
,
#setWorkspaceLevelProperties
,
getPropertyData(Namespace)
,
PropertiesDialog
,
Serialized Formjavax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CHAINED_PROPERTY_DATA_KEY
Deprecated.
|
static java.lang.String |
DEFAULT_PROJECT_KEY
Deprecated.
|
static java.lang.String |
EDITING_CUSTOM_PROPERTIES_KEY
Deprecated.
|
static java.lang.String |
PROPERTY_DATA_KEY
Deprecated.
|
static java.lang.String |
USER_ONLY_PROPERTY_DATA_KEY
Deprecated.
|
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()
Deprecated.
No replacement.
|
static boolean |
editingUserProperties(Namespace data)
Indicates whether or not the supplied
Namespace
corresponds to user properties opposed to shared properties. |
protected boolean |
editsSharedProperties()
Indicates whether this panel supports editing of Workspace-level
properties that are shared across projects.
|
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 Workspace |
getProjectsOwningWorkspace(Namespace data)
|
protected static PropertyStorage |
getPropertyData(Namespace data)
Gets a
PropertyStorage object that wraps the properties
under edit. |
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. |
static boolean |
isEditingSharedProperties(Namespace data)
Indicates whether this panel is currently editing Workspace-level
properties that are shared across projects.
|
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.
|
boolean |
supportsSharedProperties() |
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, hide, 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, 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
@Deprecated public static final java.lang.String DEFAULT_PROJECT_KEY
@Deprecated public static final java.lang.String EDITING_CUSTOM_PROPERTIES_KEY
@Deprecated public static final java.lang.String PROPERTY_DATA_KEY
@Deprecated public static final java.lang.String CHAINED_PROPERTY_DATA_KEY
@Deprecated public static final java.lang.String USER_ONLY_PROPERTY_DATA_KEY
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)
Note: This method should be protected. This method should
not be called directly; instead use onEntry(oracle.ide.panels.TraversableContext)
when displaying
this panel.
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 Workspace getProjectsOwningWorkspace(Namespace data)
Workspace
in the Namespace
. This
method should not be used to retrieve the workspace properties under
edit.data
- the data used in the context of this panelWorkspace
or nulljava.lang.NullPointerException
- if data is nullprotected static Project getProject(Namespace data)
Project
in the Namespace
. This
method should not be used to retrieve the project properties under
edit; instead call getPropertyData(oracle.ide.util.Namespace)
.data
- the data used in the context of this panelProject
java.lang.NullPointerException
- if data is nullgetPropertyData(oracle.ide.util.Namespace)
protected static PropertyStorage getPropertyData(Namespace data)
PropertyStorage
object that wraps the properties
under edit. This method handles returning the correct properties
object, either those stored at the project-level or those stored
in the workspace.data
- the data used in the context of this paneljava.lang.NullPointerException
- if data is nullsupportsWorkspaceSharedProperties()
protected boolean editsSharedProperties()
false.
Subclasses must override this method and return
true
to allow editing of workspace-level shared properties
from the Project Properties dialog.
Note: Not only must the panel return true
here but the
key that identifies the root of your properties hash structure must
be registered using the shared-properties-hook.
true
if properties can be stored at the workspace
level and shared across projects, false
otherwisepublic static boolean isEditingSharedProperties(Namespace data)
data
- The TraversableContext for the panelpublic final boolean supportsSharedProperties()
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
project-level (shared) properties are usedHashStructureNode.getProperties()
,
HashStructureNode.getPropertiesForOverriding()
@Deprecated public boolean arePropertiesOverridden()