Class ControlContribution

java.lang.Object
org.eclipse.jface.action.ContributionItem
org.eclipse.jface.action.ControlContribution
All Implemented Interfaces:
IContributionItem
Direct Known Subclasses:
org.eclipse.ui.internal.menus.InternalControlContribution, LabelContributionItem, ToolControlContribution

public abstract class ControlContribution extends ContributionItem
An abstract contribution item implementation for adding an arbitrary SWT control to a tool bar. Note, however, that these items cannot be contributed to menu bars.

The createControl framework method must be implemented by concrete subclasses.

  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Creates a control contribution item with the given id.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected int
    Computes the width of the given control which is being added to a tool bar.
    protected abstract Control
    Creates and returns the control for this contribution item under the given parent composite.
    final void
    fill(Composite parent)
    The control item implementation of this IContributionItem method calls the createControl framework method.
    final void
    fill(Menu parent, int index)
    The control item implementation of this IContributionItem method throws an exception since controls cannot be added to menus.
    final void
    fill(ToolBar parent, int index)
    The control item implementation of this IContributionItem method calls the createControl framework method to create a control under the given parent, and then creates a new tool item to hold it.
    void
    setVisible(boolean visible)
    The default implementation of this IContributionItem method stores the value in an internal state variable, which is true by default.
    void
    The default implementation of this IContributionItem method does nothing.
    void
    The ContributionItem implementation of this method declared on IContributionItem does nothing.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ControlContribution

      protected ControlContribution(String id)
      Creates a control contribution item with the given id.
      Parameters:
      id - the contribution item id
  • Method Details

    • computeWidth

      protected int computeWidth(Control control)
      Computes the width of the given control which is being added to a tool bar. This is needed to determine the width of the tool bar item containing the given control.

      The default implementation of this framework method returns control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x. Subclasses may override if required.

      Parameters:
      control - the control being added
      Returns:
      the width of the control
    • createControl

      protected abstract Control createControl(Composite parent)
      Creates and returns the control for this contribution item under the given parent composite.

      This framework method must be implemented by concrete subclasses.

      Parameters:
      parent - the parent composite
      Returns:
      the new control, must not be null
    • fill

      public final void fill(Composite parent)
      The control item implementation of this IContributionItem method calls the createControl framework method. Subclasses must implement createControl rather than overriding this method.
      Specified by:
      fill in interface IContributionItem
      Overrides:
      fill in class ContributionItem
      Parameters:
      parent - the parent control
    • fill

      public final void fill(Menu parent, int index)
      The control item implementation of this IContributionItem method throws an exception since controls cannot be added to menus.
      Specified by:
      fill in interface IContributionItem
      Overrides:
      fill in class ContributionItem
      Parameters:
      parent - the parent menu
      index - the index where the controls are inserted, or -1 to insert at the end
    • fill

      public final void fill(ToolBar parent, int index)
      The control item implementation of this IContributionItem method calls the createControl framework method to create a control under the given parent, and then creates a new tool item to hold it. Subclasses must implement createControl rather than overriding this method.
      Specified by:
      fill in interface IContributionItem
      Overrides:
      fill in class ContributionItem
      Parameters:
      parent - the parent tool bar
      index - the index where the controls are inserted, or -1 to insert at the end
    • setVisible

      public void setVisible(boolean visible)
      Description copied from class: ContributionItem
      The default implementation of this IContributionItem method stores the value in an internal state variable, which is true by default.
      Specified by:
      setVisible in interface IContributionItem
      Overrides:
      setVisible in class ContributionItem
      Parameters:
      visible - true if this item should be visible, and false otherwise
    • update

      public void update()
      Description copied from class: ContributionItem
      The default implementation of this IContributionItem method does nothing. Subclasses may override.
      Specified by:
      update in interface IContributionItem
      Overrides:
      update in class ContributionItem
    • update

      public void update(String id)
      Description copied from class: ContributionItem
      The ContributionItem implementation of this method declared on IContributionItem does nothing. Subclasses should override to update their state.
      Specified by:
      update in interface IContributionItem
      Overrides:
      update in class ContributionItem
      Parameters:
      id - the id of the changed property