Class 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.

Restriction:
This class is not intended to be subclassed by clients.
  • Constructor Details

    • PropertyDialogAction

      @Deprecated public PropertyDialogAction(Shell shell, ISelectionProvider provider)
      Deprecated.
      use PropertyDialogAction(IShellProvider, ISelectionProvider)
      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
    • PropertyDialogAction

      public PropertyDialogAction(IShellProvider shell, ISelectionProvider provider)
      Creates a new action for opening a property dialog on the elements from the given selection provider.
      Parameters:
      shell - provides the shell in which the dialog will open
      provider - the selection provider whose elements the property dialog will describe
      Since:
      3.1
  • Method Details

    • 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 not empty 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 not empty, 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.

      Parameters:
      selection - The selection to test
      Returns:
      true if the selection is of not empty and there are property pages for the selected element, and false otherwise
    • run

      public void run()
      Description copied from class: Action
      The default implementation of this IAction method does nothing. Subclasses should override this method if they do not need information from the triggering event, or override runWithEvent(Event) if they do.
      Specified by:
      run in interface IAction
      Overrides:
      run in class Action
      See Also:
    • createDialog

      public PreferenceDialog createDialog()
      Create the dialog for the receiver. If no pages are found, an informative message dialog is presented instead.
      Returns:
      PreferenceDialog or null if no applicable pages are found.
      Since:
      3.1
    • selectionChanged

      public void selectionChanged(IStructuredSelection selection)
      Description copied from class: SelectionProviderAction
      Notifies this action that the given structured selection has changed in the selection provider.

      The SelectionProviderAction implementation of this method does nothing. Subclasses may reimplement to react to this selection change.

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