Eclipse Platform
2.0

org.eclipse.ui.dialogs
Class PropertyDialogAction

java.lang.Object
  |
  +--org.eclipse.jface.action.Action
        |
        +--org.eclipse.ui.actions.SelectionProviderAction
              |
              +--org.eclipse.ui.dialogs.PropertyDialogAction
All Implemented Interfaces:
IAction, ISelectionChangedListener

public class PropertyDialogAction
extends SelectionProviderAction

Standard action for opening a Property Pages Dialog on the currently selected element.

This class may be instantiated; it is not intended to be subclassed.

Generally speaking, this action is useful in pop-up menus because it allows the user to browse and change properties of selected elements. When performed, the action will bring up a Property Pages Dialog containing property pages registered with the workbench for elements of the selected type.

Although the action is capable of calculating if there are any applicable pages for the current selection, this calculation is costly because it require searching the workbench registry. Where performance is critical, the action can simply be added to the pop-up menu. In the event of no applicable pages, the action will just open an appropriate message dialog.


Field Summary
 
Fields inherited from interface org.eclipse.jface.action.IAction
AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, CHECKED, DESCRIPTION, ENABLED, IMAGE, TEXT, TOOL_TIP_TEXT
 
Constructor Summary
PropertyDialogAction(Shell shell, ISelectionProvider provider)
          Creates a new action for opening a property dialog on the elements from the given selection provider.
 
Method Summary
 boolean isApplicableForSelection()
          Returns whether this action is actually applicable to the current selection.
 boolean isApplicableForSelection(IStructuredSelection selection)
          Returns whether this action is applicable to the current selection.
 void run()
          The PropertyDialogAction implementation of this IAction method performs the action by opening the Property Page Dialog for the current selection.
 void selectionChanged(IStructuredSelection selection)
          The PropertyDialogAction implementation of this SelectionProviderAction method enables the action only if the given selection contains exactly one element.
 
Methods inherited from class org.eclipse.ui.actions.SelectionProviderAction
dispose, getSelection, getSelectionProvider, getStructuredSelection, selectionChanged, selectionChanged
 
Methods inherited from class org.eclipse.jface.action.Action
addPropertyChangeListener, convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, firePropertyChange, firePropertyChange, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, removeAcceleratorText, removePropertyChangeListener, runWithEvent, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyDialogAction

public PropertyDialogAction(Shell shell,
                            ISelectionProvider provider)
Creates a new action for opening a property dialog on the elements from the given selection provider.

Parameters:
shell - the shell in which the dialog will open
provider - the selection provider whose elements the property dialog will describe
Method Detail

isApplicableForSelection

public boolean isApplicableForSelection()
Returns whether this action is actually applicable to the current selection. If this action is disabled, it will return false without further calculation. If it is enabled, it will check with the workbench's property page manager to see if there are any property pages registered for the selected element's type.

This method is generally too expensive to use when updating the enabled state of the action on each selection change.

Returns:
true if the selection is of size 1 and there are property pages for the selected element, and false otherwise

isApplicableForSelection

public boolean isApplicableForSelection(IStructuredSelection selection)
Returns whether this action is applicable to the current selection. This checks that the selection is of size 1, and checks with the workbench's property page manager to see if there are any property pages registered for the selected element's type.

This method is generally too expensive to use when updating the enabled state of the action on each selection change.

Returns:
true if the selection is of size 1 and there are property pages for the selected element, and false otherwise

run

public void run()
The PropertyDialogAction implementation of this IAction method performs the action by opening the Property Page Dialog for the current selection. If no pages are found, an informative message dialog is presented instead.

Specified by:
run in interface IAction
Overrides:
run in class Action

selectionChanged

public void selectionChanged(IStructuredSelection selection)
The PropertyDialogAction implementation of this SelectionProviderAction method enables the action only if the given selection contains exactly one element.

Overrides:
selectionChanged in class SelectionProviderAction
Parameters:
selection - the new selection

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.