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 Detail

      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • SYNCHRONIZE_GROUP

        static final String SYNCHRONIZE_GROUP
        The id of the synchronize group the determines where the synchronize actions appear.
        See Also:
        Constant Field Values
      • NAVIGATE_GROUP

        static final String NAVIGATE_GROUP
        The id of the navigate group that determines where the navigation actions appear
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values
      • MODE_GROUP

        static final String MODE_GROUP
        The id of the mode group that determines where the mode selection actions appear
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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.
      • INCOMING_MODE

        static final int INCOMING_MODE
        Modes are direction filters for the view
        See Also:
        Constant Field Values
    • Method Detail

      • getParticipant

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

        ISynchronizePageSite 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