Package org.eclipse.ui.activities

# Class ActivityCategoryPreferencePage

java.lang.Object
org.eclipse.jface.dialogs.DialogPage
org.eclipse.jface.preference.PreferencePage
org.eclipse.ui.activities.ActivityCategoryPreferencePage

All Implemented Interfaces:
  `IExecutableExtension`, `IDialogPage`, `IMessageProvider`, `IPreferencePage`, `IWorkbenchPreferencePage`

public final class ActivityCategoryPreferencePage extends PreferencePage implements IWorkbenchPreferencePage, IExecutableExtension
Activities preference page that primarily shows categories and can optionally show an advanced dialog that allows fine-tune adjustmenet of activities. This page may be used by product developers to provide basic ability to tweak the enabled activity set. You may provide certain strings to this class via method #2 of `IExecutableExtension`.

Since:
  3.1
See Also:
  - `ACTIVITY_NAME`
  - `ALLOW_ADVANCED`
  - `CAPTION_MESSAGE`
  - `CATEGORY_NAME`
  - `ACTIVITY_PROMPT_BUTTON`
  - `ACTIVITY_PROMPT_BUTTON_TOOLTIP`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`ACTIVITY_NAME`
The name to use for the activities.
`static final String`
`ACTIVITY_PROMPT_BUTTON`
The label to be used for the prompt button.
`static final String`
`ACTIVITY_PROMPT_BUTTON_TOOLTIP`
The tooltip to be used for the prompt button.
`static final String`
`ALLOW_ADVANCED`
The parameter to use if you want the page to show the allow button.
`static final String`
`CAPTION_MESSAGE`
The string to use for the message at the top of the preference page.
`static final String`
`CATEGORY_NAME`
The name to use for the activity categories.
`protected IWorkbench`
`workbench`
The `IWorkbench`

### Fields inherited from interface org.eclipse.jface.dialogs.IMessageProvider

`ERROR, INFORMATION, NONE, WARNING`

## Constructor Summary

Constructors
Constructor
Description
`ActivityCategoryPreferencePage()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`clearDetails()`
Clear the details area.
`protected Control`
`createContents(Composite parent)`
Creates and returns the SWT control for the customized body of this preference page under the given parent composite.
`void`
`dispose()`
The `DialogPage` implementation of this `IDialogPage` method disposes of the page image if it has one.
`void`
`init(IWorkbench workbench)`
Initializes this preference page for the given workbench.
`protected boolean`
`isLocked(ICategory category)`
Return whether the category is locked.
`protected void`
`performDefaults()`
Performs special processing when this page's Defaults button has been pressed.
`boolean`
`performOk()`
Notifies that the OK button of this page's container has been pressed.
`protected void`
`setDetails(ICategory category)`
`void`
`setInitializationData(IConfigurationElement config, String propertyName, Object data)`
This method is called by the implementation of the method `IConfigurationElement.createExecutableExtension` on a newly constructed extension, passing it its relevant configuration information.

### Methods inherited from class org.eclipse.jface.preference.PreferencePage

`applyData, applyDialogFont, computeSize, contributeButtons, createControl, createDescriptionLabel, createNoteComposite, doComputeSize, doGetPreferenceStore, getApplyButton, getContainer, getDefaultsButton, getPreferenceStore, isValid, noDefaultAndApplyButton, noDefaultButton, okToLeave, performApply, performCancel, performHelp, setContainer, setErrorMessage, setMessage, setPreferenceStore, setSize, setTitle, setValid, toString, updateApplyButton`

### Methods inherited from class org.eclipse.jface.dialogs.DialogPage

`convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, getControl, getDescription, getDialogFontName, getErrorMessage, getFont, getImage, getMessage, getMessageType, getShell, getTitle, getToolTipText, initializeDialogUnits, isControlCreated, setButtonLayoutData, setControl, setDescription, setImageDescriptor, setMessage, setVisible`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.jface.dialogs.IDialogPage

`createControl, getControl, getDescription, getErrorMessage, getImage, getMessage, getTitle, performHelp, setDescription, setImageDescriptor, setTitle, setVisible`

### Methods inherited from interface org.eclipse.jface.preference.IPreferencePage

`computeSize, isValid, okToLeave, performCancel, setContainer, setSize`

## Field Details

### ACTIVITY_NAME

public static final String ACTIVITY_NAME
The name to use for the activities. Ie: "Capabilities".

See Also:
  - Constant Field Values

### ALLOW_ADVANCED

public static final String ALLOW_ADVANCED
The parameter to use if you want the page to show the allow button. Must be true or false.

See Also:
  - Constant Field Values

### CAPTION_MESSAGE

public static final String CAPTION_MESSAGE
The string to use for the message at the top of the preference page.

See Also:
  - Constant Field Values

### CATEGORY_NAME

public static final String CATEGORY_NAME
The name to use for the activity categories. Ie: "Roles".

See Also:
  - Constant Field Values

### ACTIVITY_PROMPT_BUTTON

public static final String ACTIVITY_PROMPT_BUTTON
The label to be used for the prompt button. Ie: "&Prompt when enabling capabilities".

See Also:
  - Constant Field Values

### ACTIVITY_PROMPT_BUTTON_TOOLTIP

public static final String ACTIVITY_PROMPT_BUTTON_TOOLTIP
The tooltip to be used for the prompt button. Ie: "Prompt when a feature is first used that requires enablement of capabilities".

See Also:
  - Constant Field Values

### workbench

protected IWorkbench workbench
The `IWorkbench`

## Constructor Details

### ActivityCategoryPreferencePage

public ActivityCategoryPreferencePage()

## Method Details

### createContents

protected Control createContents(Composite parent)
Description copied from class: `PreferencePage`
Creates and returns the SWT control for the customized body of this preference page under the given parent composite.

This framework method must be implemented by concrete subclasses. Any subclass returning a `Composite` object whose `Layout` has default margins (for example, a `GridLayout`) is expected to set the margins of this `Layout` to 0 pixels.

Specified by:
  `createContents` in class `PreferencePage`
Parameters:
  `parent` - the parent composite
Returns:
  the new control

### setDetails

protected void setDetails(ICategory category)

Parameters:
  `category` - the `ICategory` to get the details from

### clearDetails

protected void clearDetails()
Clear the details area.

### init

public void init(IWorkbench workbench)
Description copied from interface: `IWorkbenchPreferencePage`
Initializes this preference page for the given workbench.

This method is called automatically as the preference page is being created and initialized. Clients must not call this method.

Specified by:
  `init` in interface `IWorkbenchPreferencePage`
Parameters:
  `workbench` - the workbench

### isLocked

protected boolean isLocked(ICategory category)
Return whether the category is locked.

Parameters:
  `category` - the category to test
Returns:
  whether the category is locked

### performOk

public boolean performOk()
Description copied from interface: `IPreferencePage`
Notifies that the OK button of this page's container has been pressed.

Specified by:
  `performOk` in interface `IPreferencePage`
Overrides:
  `performOk` in class `PreferencePage`
Returns:
  `false` to abort the container's OK processing and `true` to allow the OK to happen

### performDefaults

protected void performDefaults()
Description copied from class: `PreferencePage`
Performs special processing when this page's Defaults button has been pressed.

This is a framework hook method for subclasses to do special things when the Defaults button has been pressed. Subclasses may override, but should call `super.performDefaults`.

Overrides:
  `performDefaults` in class `PreferencePage`

### setInitializationData

public void setInitializationData(IConfigurationElement config, String propertyName, Object data)
Description copied from interface: `IExecutableExtension`
This method is called by the implementation of the method `IConfigurationElement.createExecutableExtension` on a newly constructed extension, passing it its relevant configuration information. Most executable extensions only make use of the first two call arguments.

Regular executable extensions specify their Java implementation class name as an attribute of the configuration element for the extension. For example

         <action run="com.example.BaseAction"/>

In the above example, this method would be called with a reference to the `<action>` element (first argument), and `"run"` as the name of the attribute that defined this executable extension (second argument).

The last parameter is for the specific use of extension adapters and is typically not used by regular executable extensions.

There are two supported ways of associating additional adapter-specific data with the configuration in a way that is transparent to the extension point implementor:

(1) by specifying adapter data as part of the implementation class attribute value. The Java class name can be followed by a ":" separator, followed by any adapter data in string form. For example, if the extension point specifies an attribute `"run"` to contain the name of the extension implementation, an adapter can be configured as

         <action run="com.example.ExternalAdapter:./cmds/util.exe -opt 3"/>

(2) by converting the attribute used to specify the executable extension to a child element of the original configuration element, and specifying the adapter data in the form of xml markup. Using this form, the example above would become

         <action>
             <run class="com.xyz.ExternalAdapter">
                 <parameter name="exec" value="./cmds/util.exe"/>
                 <parameter name="opt"  value="3"/>
             </run>
         </action>

Form (2) will typically only be used for extension points that anticipate the majority of extensions configured into it will in fact be in the form of adapters.

In either case, the specified adapter class is instantiated using its 0-argument public constructor. The adapter data is passed as the last argument of this method. The data argument is defined as Object. It can have the following values:

- `null`, if no adapter data was supplied
- in case (1), the initialization data string is passed as a `String`
- in case (2), the initialization data is passed as a `Hashtable` containing the actual parameter names and values (both `String`s)

Specified by:
  `setInitializationData` in interface `IExecutableExtension`
Parameters:
  `config` - the configuration element used to trigger this execution. It can be queried by the executable extension for specific configuration properties
  `propertyName` - the name of an attribute of the configuration element used on the `createExecutableExtension(String)` call. This argument can be used in the cases where a single configuration element is used to define multiple executable extensions.
  `data` - adapter data in the form of a `String`, a `Hashtable`, or `null`.
See Also:
  - `IConfigurationElement.createExecutableExtension(String)`

### dispose

public void dispose()
Description copied from class: `DialogPage`
The `DialogPage` implementation of this `IDialogPage` method disposes of the page image if it has one. Subclasses may extend.

Specified by:
  `dispose` in interface `IDialogPage`
Overrides:
  `dispose` in class `DialogPage`