Class TabbedPropertySheetPage

java.lang.Object
org.eclipse.ui.part.Page
org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage
All Implemented Interfaces:
EventListener, ILabelProviderListener, ISelectionListener, IPage, IPageBookViewPage, IPropertySheetPage

public class TabbedPropertySheetPage extends Page implements IPropertySheetPage, ILabelProviderListener
A property sheet page that provides a tabbed UI.
Author:
Anthony Hunter
  • Field Details

  • Constructor Details

    • TabbedPropertySheetPage

      public TabbedPropertySheetPage(ITabbedPropertySheetPageContributor tabbedPropertySheetPageContributor)
      create a new tabbed property sheet page.
      Parameters:
      tabbedPropertySheetPageContributor - the tabbed property sheet page contributor.
    • TabbedPropertySheetPage

      public TabbedPropertySheetPage(ITabbedPropertySheetPageContributor tabbedPropertySheetPageContributor, boolean showTitleBar)
      create a new tabbed property sheet page.
      Parameters:
      tabbedPropertySheetPageContributor - the tabbed property sheet page contributor.
      showTitleBar - boolean indicating if the title bar should be shown; default value is true
      Since:
      3.5
  • Method Details

    • handlePartActivated

      protected void handlePartActivated(IWorkbenchPart part)
      Handle the part activated event.
      Parameters:
      part - the new activated part.
    • createControl

      public void createControl(Composite parent)
      Description copied from interface: IPage
      Creates the SWT control for this page under the given parent control.

      Clients should not call this method (the workbench calls this method when it needs to, which may be never).

      Specified by:
      createControl in interface IPage
      Specified by:
      createControl in class Page
      Parameters:
      parent - the parent control
      See Also:
    • getTabListContentProvider

      protected IStructuredContentProvider getTabListContentProvider()
      Gets the tab list content provider for the contributor.
      Returns:
      the tab list content provider for the contributor.
    • disposeContributor

      protected void disposeContributor()
      Dispose the contributor with the provided contributor id. This happens on part close as well as when contributors switch between the workbench part and contributor from a selection.
      Since:
      3.6
    • dispose

      public void dispose()
      Description copied from class: Page
      The Page implementation of this IPage method disposes of this page's control (if it has one and it has not already been disposed). Subclasses may extend.
      Specified by:
      dispose in interface IPage
      Overrides:
      dispose in class Page
    • getControl

      public Control getControl()
      Description copied from class: Page
      The Page implementation of this IPage method returns null. Subclasses must reimplement.
      Specified by:
      getControl in interface IPage
      Specified by:
      getControl in class Page
      Returns:
      the SWT control for this page, or null if this page does not have a control
    • setActionBars

      public void setActionBars(IActionBars actionBars)
      Description copied from class: Page
      This method exists for backward compatibility. Subclasses should reimplement init.
      Specified by:
      setActionBars in interface IPage
      Overrides:
      setActionBars in class Page
      Parameters:
      actionBars - the action bars for this page
    • setFocus

      public void setFocus()
      Description copied from class: Page
      The Page implementation of this IPage method does nothing. Subclasses must implement.
      Specified by:
      setFocus in interface IPage
      Specified by:
      setFocus in class Page
    • selectionChanged

      public void selectionChanged(IWorkbenchPart part, ISelection selection)
      Description copied from interface: ISelectionListener
      Notifies this listener that the selection has changed.

      Note: it is important that this method returns as quickly as possible to avoid UI freezes. For example, do not update the UI if the UI is not visible. See the SelectionListenerFactory for listeners that are build for this purpose.

      This method is called when the selection changes to a non-null value, but not when the selection changes to null. If there is a requirement to be notified in the latter scenario, implement INullSelectionListener. The event will be posted through this method.

      Specified by:
      selectionChanged in interface ISelectionListener
      Parameters:
      part - the workbench part containing the selection
      selection - the current selection. This may be null if INullSelectionListener is implemented.
      See Also:
    • resizeScrolledComposite

      public void resizeScrolledComposite()
      Resize the scrolled composite enclosing the sections, which may result in the addition or removal of scroll bars.
      Since:
      3.5
    • disposeTabs

      protected void disposeTabs(Collection tabs)
      Disposes the TabContents objects passed to this method. If the 'currentTab' is going to be disposed, then the caller should call aboutToBeHidden() on the currentTab and set it to null before calling this method. Also, the caller needs to ensure that descriptorToTab map entries corresponding to the disposed TabContents objects are also removed.
      Parameters:
      tabs - tabs to dispose
      Since:
      3.6
    • updateTabs

      protected void updateTabs(ITabDescriptor[] descriptors)
      Update the current tabs to represent the given input object. When tabs apply for both the old and new input they are reused otherwise they are disposed. If the current visible tab will not be reused (i.e. will be disposed) we have to send it an aboutToBeHidden() message.
      Since:
      3.4
    • createTab

      protected TabContents createTab(ITabDescriptor tabDescriptor)
      Create the tab contents for the provided tab descriptor.
      Parameters:
      tabDescriptor - the tab descriptor.
      Returns:
      the tab contents.
      Since:
      3.4
    • refresh

      public void refresh()
      Refresh the currently active tab.
    • getCurrentTab

      public TabContents getCurrentTab()
      Get the currently active tab.
      Returns:
      the currently active tab.
      Since:
      3.4
    • addTabSelectionListener

      public void addTabSelectionListener(ITabSelectionListener listener)
      Add a tab selection listener.
      Parameters:
      listener - a tab selection listener.
    • removeTabSelectionListener

      public void removeTabSelectionListener(ITabSelectionListener listener)
      Remove a tab selection listener.
      Parameters:
      listener - a tab selection listener.
    • overrideTabs

      public void overrideTabs()
      Override the tabs with a new set of tabs. The tab list is obtained from the AbstractOverridableTabListPropertySection by the IOverridableTabListContentProvider.
      Since:
      3.4
    • getWidgetFactory

      public TabbedPropertySheetWidgetFactory getWidgetFactory()
      Get the widget factory.
      Returns:
      the widget factory.
    • labelProviderChanged

      public void labelProviderChanged(LabelProviderChangedEvent event)
      Description copied from interface: ILabelProviderListener
      Notifies this listener that the state of the label provider has changed in a way that affects the labels it computes.

      A typical response would be to refresh all labels by re-requesting them from the label provider.

      Specified by:
      labelProviderChanged in interface ILabelProviderListener
      Parameters:
      event - the label provider change event
    • getSelectedTab

      public ITabDescriptor getSelectedTab()
      Returns the currently selected tab.
      Returns:
      the currently selected tab or null if there is no tab selected.
      Since:
      3.5
    • getActiveTabs

      public ITabDescriptor[] getActiveTabs()
      Returns the list of currently active tabs.
      Returns:
      the currently active tabs.
      Since:
      3.5
    • setSelectedTab

      public void setSelectedTab(String id)
      Set the currently selected tab to be that of the provided tab id.
      Parameters:
      id - The string id of the tab to select.
      Since:
      3.5
    • getTitleText

      public String getTitleText(ISelection selection)
      Returns text of the properties title for given selection. If selection is null, then currentSelection is used
      Parameters:
      selection - Selection whose properties title text is to be returned
      Returns:
      String representing title text.
      Since:
      3.5
    • getTitleImage

      public Image getTitleImage(ISelection selection)
      Returns the title image for given selection. If selection is null, then currentSelection is used.
      Parameters:
      selection - Selection whose properties title image is to be returned
      Returns:
      Image that is used as a title image.
      Since:
      3.5
    • getTabContents

      protected TabContents getTabContents(ITabDescriptor tabDescriptor)
      Returns the TabContents object corresponding to the given tab-descriptor.
      Parameters:
      tabDescriptor - tab-descriptor whose TabContents object is to be returned
      Returns:
      TabContents object corresponding to the given tab-descriptor key in descriptorToTab map, or null if the key does not exist in the map
      Since:
      3.6
    • getSelectionContributor

      protected ITabbedPropertySheetPageContributor getSelectionContributor()
      Get the current selection-contributor if any
      Returns:
      The selection-contributor, or null.
      Since:
      3.6
    • getCurrentContributorId

      protected String getCurrentContributorId()
      Get the currently active contributor id. It may not match the contributor id from the workbench part that created this instance because if all the elements in a structured selection implement ITabbedPropertySheetPageContributor and they all return the same unique contributor ID, then tabs and sections associated with that contributor ID are used by the tabbed property view for that selection.
      Returns:
      contributor id
      Since:
      3.6
    • getCurrentSelection

      protected ISelection getCurrentSelection()
      Get the current selection
      Returns:
      selection
      Since:
      3.6