Interface IPartialModelControllerDelegate

    • Method Detail

      • positionChildNode

        IPartialModelNode positionChildNode​(IPartialModel partialModel,
                                            IPartialModelNode parentNode,
                                            ComparisonNode modelNode,
                                            IComparisonSession comparisonSession)
        If supported by this controller, positions the specified comparison model node in a subtree of the specified partial model node. This may involve creation of additional (intermediate) subparents for hosting the positioned node.
        Parameters:
        partialModel - the partial model
        parentNode - the parent direct partial model node
        modelNode - the comparison model node to be positioned
        comparisonSession - the comparison session
        Returns:
        the positioned partial model node or null if this controller does not support the specified model node
      • fillNodeProperties

        Collection<IPartialModelNode> fillNodeProperties​(IPartialModel partialModel,
                                                         IDirectPartialModelNode directNode,
                                                         IComparisonSession session,
                                                         ILinkRepresentationSupport linkRepresentationSupport,
                                                         ComparisonContext comparisonContext)
        Fills properties of the specified direct partial model node according to the comparison model node.
        Parameters:
        partialModel - the partial model hosting the direct node
        directNode - the direct node to fill properties for
        session - the comparison session
        comparisonContext - the comparison context, not null
        comparisonResultNode - the model node to fill the properties from
        Returns:
        null if this controller does not support the input partial model node, or a collection of output nodes whose properties must be filled by the caller (may be empty)
      • getTopNodes

        IPartialModelNode[] getTopNodes​(IPartialModel partialModel)
        Returns a sorted array of top nodes of the specified partial model.
        Parameters:
        partialModel - the partial model
        Returns:
        a sorted array of top nodes
      • editMergeSettings

        boolean editMergeSettings​(IPartialModel partialModel,
                                  IPartialModelNode node,
                                  IComparisonSession comparisonSession,
                                  org.eclipse.swt.widgets.Shell shell,
                                  boolean readOnly,
                                  org.eclipse.swt.graphics.Color colorHasDiffs,
                                  org.eclipse.swt.graphics.Color colorOnlyMain,
                                  org.eclipse.swt.graphics.Color colorOnlyOther,
                                  String mainComparisonSideName,
                                  String otherComparisonSideName,
                                  DtComparisonView parentComparisonView,
                                  ISelectionProviderDelegate selectionProviderDelegate,
                                  org.eclipse.jface.resource.ResourceManager resourceManager)
        If the node is supported, handles the editing of the specified node's merge settings.
        Parameters:
        partialModel - the partial model
        node - the node to edit merge settings of
        comparisonSession - the comparison session
        shell - the parent shell, can not be null
        readOnly - true if it is possible to set merge settings and false if it is only possible to view the difference in node
        colorHasDiffs - the color for 'node has diffs' case, cannot be null.
        colorOnlyMain - the color for 'node has only main object' case, cannot be null.
        colorOnlyOther - the color for 'node has only other object' case, cannot be null.
        mainComparisonSideName - the main comparison side name, cannot be null.
        otherComparisonSideName - the other comparison side name, cannot be null.
        parentComparisonView - the parent comparison view this dialog was called from, cannot be null
        selectionProviderDelegate - the selection provider delegate, cannot be null.
        resourceManager - the resource manager, cannot be null
        Returns:
        true if the node's merge settings have been successfully edited
      • refreshNode

        boolean refreshNode​(IPartialModel partialModel,
                            IPartialModelNode node,
                            IComparisonSession comparisonSession)
        Refreshes the partial model node properties according to the supported logic.
        Parameters:
        partialModel - the partial model
        node - the partial model node to refresh
        comparisonSession - the comparison session
        Returns:
        true if the controller supports this node
      • setMergeRule

        boolean setMergeRule​(IPartialModel partialModel,
                             IComparisonSession comparisonSession,
                             IMergeRulePartialModelNode node,
                             MergeRule rule,
                             ComparisonContext comparisonContext)
        Handles the merge rule change.
        Parameters:
        partialModel - the partial model
        comparisonSession - the comparison session
        node - the node in which the rule has been set
        rule - the rule value that has been set
        comparisonContext - the comparison context, not null
        Returns:
        true if this controller supported the operation for the provided arguments
      • createInnerElements

        Collection<IPartialModelNode> createInnerElements​(IPartialModel partialModel,
                                                          IPartialModelNode partialModelNode,
                                                          IComparisonSession comparisonSession,
                                                          ILinkRepresentationSupport linkRepresentationSupport,
                                                          ComparisonContext comparisonContext)
        Creates inner elements for the specified partial model node.
        Parameters:
        partialModel - the partial model
        partialModelNode - the node of the partial model
        comparisonSession - the comparison session
        linkRepresentationSupport - the link respresentation support
        comparisonContext - the comparison context, not null
        Returns:
        true if this controller supported the operation for the provided arguments
      • supportsComparisonUsingExternalTool

        boolean supportsComparisonUsingExternalTool​(IPartialModelNode node)
        Tells whether the delegate supports comparison using external tool of the specified node.
        Parameters:
        node - the partial mode node, cannot be null
        Returns:
        true if the delegate supports comparison using external tool, false otherwise
      • compareUsingExternalTool

        boolean compareUsingExternalTool​(IPartialModelNode node,
                                         org.eclipse.swt.widgets.Shell shell,
                                         String mainComparisonSideName,
                                         String otherComparisonSideName)
        Compares the specified node using external tool if the node is supported.
        Parameters:
        node - the partial node to compare using external tool, cannot be null
        shell - the parent shell, cannot be null
        mainComparisonSideName - the main comparison side name, cannot be null
        otherComparisonSideName - the other comparison side name, cannot be null
        Returns:
        true if the node is supported to be compared using external tool, false otherwise
      • supportsMergingUsingExternalTool

        boolean supportsMergingUsingExternalTool​(IPartialModelNode node)
        Tells whether the delegate supports merging using external tool of the specified node.
        Parameters:
        node - the partial mode node, cannot be null
        Returns:
        true if the delegate supports merging using external tool, false otherwise
      • mergeUsingExternalTool

        boolean mergeUsingExternalTool​(IPartialModel partialModel,
                                       IPartialModelNode node,
                                       org.eclipse.swt.widgets.Shell shell,
                                       String mainComparisonSideName,
                                       String otherComparisonSideName)
        Merges the specified node using external tool if the node is supported.
        Parameters:
        partialModel - the partial model, cannot be null
        node - the partial node to merge using external tool, cannot be null
        shell - the parent shell, cannot be null
        mainComparisonSideName - the main comparison side name, cannot be null
        otherComparisonSideName - the other comparison side name, cannot be null
        Returns:
        true if the node is supported to be merged using external tool, false otherwise