예제 #1
0
 public void ResolveActiveProjectsReferences(ResolveReferencesCommandModel selectedCommandModel)
 {
     if (this.EnsureNotResolving())
     {
         ReferenceResolver resolver = this.PrepareReferenceResolverWithDialog();
         resolver.ResolveActiveProjectsReferences(selectedCommandModel);
     }
 }
예제 #2
0
        // This method is never used and tested!
        public void ResolveSelectedProjectReferences(ResolveReferencesCommandModel selectedCommandModel)
        {
            if (this.EnsureNotResolving())
            {
                object selectedObject = this.GetSelectedContextMenuItem();

                VSLangProj.VSProject project = selectedObject as VSLangProj.VSProject;

                if (project != null)
                {
                    ReferenceResolver resolver = this.PrepareReferenceResolverWithDialog();
                    resolver.ResolveSingleProjectReferences(project, selectedCommandModel);
                }
            }
        }
예제 #3
0
        private ReferenceResolver PrepareReferenceResolverWithDialog()
        {
            CommandResultDialog dialog   = new CommandResultDialog();
            ReferenceResolver   resolver = new ReferenceResolver(this);

            resolver.Info.OnStartResolving = () => { this.DoOnStartResolving(dialog); };

            int projectsCount     = 0;
            int referencesAdded   = 0;
            int referencesRemoved = 0;

            resolver.Info.OnProjectModifyingStart = (project) =>
            {
                projectsCount++;
                referencesAdded   = 0;
                referencesRemoved = 0;
                this.DoOnProjectModifyingStart(dialog, project);
            };

            resolver.Info.OnReferenceAdded = (reference) =>
            {
                referencesAdded++;
                this.DoOnReferenceAdded(dialog, reference);
            };

            resolver.Info.OnReferenceRemoved = (reference) =>
            {
                referencesRemoved++;
                this.DoOnReferenceRemoved(dialog, reference);
            };

            resolver.Info.OnProjectModifyingEnd = (project) => { this.DoOnProjectModifyingEnd(dialog, project, referencesAdded, referencesRemoved); };
            resolver.Info.OnFinishedResolving   = () => { this.DoOnFinishedResolving(dialog, projectsCount); };
            resolver.Info.OnException           = (ex) => { this.DoOnException(dialog, ex); };

            return(resolver);
        }