Interface ISynchronizePageConfiguration


public interface ISynchronizePageConfiguration
Configures the model, actions and label decorations of an ISynchronizePage. Clients can:
  • set properties to affect the page contents and react to property changes
  • add and configure the actions available to the user (context menu, toolbar and view menu)
Since:
3.0
Restriction:
This interface is not intended to be implemented by clients.
  • Field Details

    • P_SYNC_INFO_SET

      static final String P_SYNC_INFO_SET
      Property constant for the SyncInfoSet that is being displayed by the page. Some pages may not be displaying the contents of a SyncInfoSet in which case the value associated with this property will be null.
      See Also:
    • P_LABEL_DECORATORS

      static final String P_LABEL_DECORATORS
      Property constant for the list of label decorators (instance of ILabelDecorator[]) that will be applied to the text and image from the label provider.
      See Also:
    • P_TOOLBAR_MENU

      static final String P_TOOLBAR_MENU
      Property constant that defines the groups in the toolbar menu of the page. The value for this property should be a string array. If this property is set to null, the DEFAULT_TOOLBAR_MENU is used. Also, the groups mentioned in the DEFAULT_TOOLBAR_MENU can be removed but will always appear in the same order if included.
      See Also:
    • P_CONTEXT_MENU

      static final String P_CONTEXT_MENU
      The configuration property that defines the groups in the context menu of the page. The value for this property should be a string array.
      See Also:
    • P_VIEW_MENU

      static final String P_VIEW_MENU
      Property constant that defines the groups in the drop-down view menu of the page. The value for this property should be a string array. If this property is set to null, the DEFAULT_VIEW_MENU is used. Also, the groups mentioned in the DEFAULT_VIEW_MENU can be removed but will always appear in the same order if included.
      See Also:
    • P_OBJECT_CONTRIBUTION_ID

      static final String P_OBJECT_CONTRIBUTION_ID
      The configuration property that defines the filter id that determines which object contribution actions appear in the context menu for the page. This defaults to the id of the participant but can be set to another id or null
      Since:
      3.1
      See Also:
    • P_COMPARISON_TYPE

      static final String P_COMPARISON_TYPE
      Property constant for the type of comparison used to create the SyncInfo in the P_SYNC_INFO_SET property. If the comparison type is THREE_WAY then modes selection applies.
      See Also:
    • P_MODE

      static final String P_MODE
      Property constant for the mode used to filter the visible elements of the model. The value can be one of the mode integer constants.
      See Also:
    • P_SUPPORTED_MODES

      static final String P_SUPPORTED_MODES
      Property constant which indicates which modes are to be available to the user. The value is to be an integer that combines one or more of the mode bit values. Either null or 0 can be used to indicate that mode filtering is not supported.
      See Also:
    • P_VIEWER_ID

      static final String P_VIEWER_ID
      Property constant for the id of the viewer to be used for this page. The viewer id corresponds to the viewer definition in the Common Navigator framework.
      Since:
      3.2
      See Also:
    • P_PAGE_DESCRIPTION

      static final String P_PAGE_DESCRIPTION
      Property constant for the description (String) of the page that appears as the description of the view when the page is active.
      Since:
      3.2
      See Also:
    • SYNCHRONIZE_GROUP

      static final String SYNCHRONIZE_GROUP
      The id of the synchronize group the determines where the synchronize actions appear.
      See Also:
    • SORT_GROUP

      static final String SORT_GROUP
      The id of the sort group that determines where sort actions or submenus appear.
      Since:
      3.1
      See Also:
    • MODE_GROUP

      static final String MODE_GROUP
      The id of the mode group that determines where the mode selection actions appear
      See Also:
    • FILE_GROUP

      static final String FILE_GROUP
      The id of the file group that determines where the file actions appear. File actions include the open actions.
      See Also:
    • EDIT_GROUP

      static final String EDIT_GROUP
      The id of the edit group that determines where the edit actions appear (e.g. move and delete).
      See Also:
    • PREFERENCES_GROUP

      static final String PREFERENCES_GROUP
      The id of the preferences group that determines whether the preferences actions appear in the view drop-down.
      See Also:
    • OBJECT_CONTRIBUTIONS_GROUP

      static final String OBJECT_CONTRIBUTIONS_GROUP
      The id of the group that determines where workbench object contributions should appear. This group will only be used if there is an OBJECT_CONTRIBUTION_ID set in the configuration
      Since:
      3.1
      See Also:
    • LAYOUT_GROUP

      static final String LAYOUT_GROUP
      The id of the layout group that determines whether the layout selection actions appear in the view drop-down or toolbar.
      See Also:
    • DEFAULT_CONTEXT_MENU

      static final String[] DEFAULT_CONTEXT_MENU
      These are the default groups used for the context menu of a page. Clients can remove, add and change the ordering for groups in the context menu.
    • DEFAULT_TOOLBAR_MENU

      static final String[] DEFAULT_TOOLBAR_MENU
      These are the default groups used for the toolbar of a page. These groups will always appear in this order in the toolbar. Clients can disable one or more of these groups by setting the P_TOOLBAR_MENU property to an array that contains a subset of these. Clients can also add groups by adding new unique group ids to the array. Added groups will appear in the order specified but after the default groups.
    • DEFAULT_VIEW_MENU

      static final String[] DEFAULT_VIEW_MENU
      These are the default groups used for the drop-down view menu of a page. These groups will always appear in this order in the view menu. Clients can disable one or more of these groups by setting the P_VIEW_MENU property to an array that contains a subset of these. Clients can also add groups by adding new unique group ids to the array. Added groups will appear in the order specified but after the default groups.
    • TWO_WAY

      static final String TWO_WAY
      Comparison type constants
      See Also:
    • THREE_WAY

      static final String THREE_WAY
      See Also:
    • INCOMING_MODE

      static final int INCOMING_MODE
      Modes are direction filters for the view
      See Also:
    • OUTGOING_MODE

      static final int OUTGOING_MODE
      See Also:
    • BOTH_MODE

      static final int BOTH_MODE
      See Also:
    • CONFLICTING_MODE

      static final int CONFLICTING_MODE
      See Also:
    • ALL_MODES

      static final int ALL_MODES
      See Also:
  • Method Details

    • getParticipant

      ISynchronizeParticipant getParticipant()
      Return the participant associated with this configuration.
      Returns:
      the participant
    • getSite

      Return the site which provides access to certain workbench services.
      Returns:
      the page site
    • getPage

      ISynchronizePage getPage()
      Return the page created from and associated with this configuration.
      Returns:
      Returns the page for this configuration
    • setPage

      void setPage(ISynchronizePage page)
      Set the page for this configuration. This method should only be called once by the ISynchronizeParticipant that created the page.
      Parameters:
      page - the configuration's page
    • addPropertyChangeListener

      void addPropertyChangeListener(IPropertyChangeListener listener)
      Add a property change listener to the configuration. Registered listeners will receive notification when any property changes.
      Parameters:
      listener - a property change listener
    • removePropertyChangeListener

      void removePropertyChangeListener(IPropertyChangeListener listener)
      Remove the registered change listener. Removing an unregistered listener has no effects.
      Parameters:
      listener - a property change listener
    • setProperty

      void setProperty(String key, Object newValue)
      Sets the property with the given name. If the new value differs from the old a PropertyChangeEvent is sent to registered listeners.
      Parameters:
      key - the name of the property to set
      newValue - the new value of the property
    • getProperty

      Object getProperty(String key)
      Returns the property with the given name, or null if no such property exists.
      Parameters:
      key - the name of the property to retrieve
      Returns:
      the property with the given name, or null if not found
    • addActionContribution

      void addActionContribution(SynchronizePageActionGroup group)
      Register the action group with the configuration. The registered action groups will have the opportunity to add actions to the action bars and context menu of the synchronize page created using the configuration.
      Parameters:
      group - a synchronize page action group
    • removeActionContribution

      void removeActionContribution(SynchronizePageActionGroup group)
      Remove a previously registered action group. Removing a group that is not registered has no effect.
      Parameters:
      group - a synchronize page action group
    • addLabelDecorator

      void addLabelDecorator(ILabelDecorator decorator)
      Add a label decorator to the page configuration.
      Parameters:
      decorator - a label decorator
    • setMenuGroups

      void setMenuGroups(String menuPropertyId, String[] groups)
      Set the groups that are to be added to the menu identified by the menu property id.
      Parameters:
      menuPropertyId - the menu property id (one of P_CONTEXT_MENU, P_VIEW_MENU or P_TOOLBAR_MENU)
      groups - a array of groups Ids
    • addMenuGroup

      void addMenuGroup(String menuPropertyId, String groupId)
      Adds a menu group of the given id to the end of the menu groups list for the given menu property id.
      Parameters:
      menuPropertyId - the menu property id (one of P_CONTEXT_MENU, P_VIEW_MENU or P_TOOLBAR_MENU)
      groupId - the id of the group to be added to the end of the menu group list
    • hasMenuGroup

      boolean hasMenuGroup(String menuPropertyId, String groupId)
      Returns whether the given group appears in the given menu
      Parameters:
      menuPropertyId - the property id that identifies the menu
      groupId - the id of the group
      Returns:
      true if the group identified by the groupId appears in the menu identified by the menuPropertyId and false otherwise
    • getMode

      int getMode()
      Return the value of the P_MODE property of this configuration.
      Returns:
      the mode property value
    • setMode

      void setMode(int mode)
      Set the P_MODE property of this configuration to the given mode flag (one of INCOMING_MODE, OUTGOING_MODE, BOTH_MODE or CONFLICTING_MODE).
      Parameters:
      mode - the mode value
    • getSupportedModes

      int getSupportedModes()
      Return the value of the P_SUPPORTED_MODES property of this configuration.
      Returns:
      the supported modes property value
    • setSupportedModes

      void setSupportedModes(int modes)
      Set the P_SUPPORTED_MODES property of this configuration to the given combination of one or more mode flags (INCOMING_MODE, OUTGOING_MODE, BOTH_MODE and CONFLICTING_MODE).
      Parameters:
      modes - the supported modes
    • getSyncInfoSet

      SyncInfoSet getSyncInfoSet()
      Return the set associated with the P_SYNC_INFO_SET property or null if the property is not set.
      Returns:
      the set associated with the P_SYNC_INFO_SET property or null if the property is not set
    • getComparisonType

      String getComparisonType()
      Return the comparison type used by the page's SyncInfo modes.
      Returns:
      comparison type (could be TWO_WAY, THREE_WAY or a custom type).
    • setComparisonType

      void setComparisonType(String type)
      Set the comparison type used by the page's SyncInfo modes. The default type is THREE_WAY.
      Parameters:
      type - the comparison type (could be TWO_WAY, THREE_WAY or a custom type).
    • setRunnableContext

      void setRunnableContext(IRunnableContext context)
      Sets the runnable context that can be used by the page's actions to display progress.
      Parameters:
      context - a runnable context (or null)
    • getRunnableContext

      IRunnableContext getRunnableContext()
      Return the runnable context. If null is returned, actions can use their own method of progress feedback either using a background job or the progress service
      Returns:
      a runnable context (or null)
    • getViewerId

      String getViewerId()
      Return the id of the viewer to which this configuration is associated.
      Returns:
      the id of the viewer to which this configuration is associated
      Since:
      3.2