private static void TestGenerateTextAgendaWithSlideNumbers()
        {
            PpOperations.ShowAllSlideNumbers();
            PplFeatures.GenerateTextAgenda();

            var actualSlides   = PpOperations.FetchCurrentPresentationData();
            var expectedSlides = PpOperations.FetchPresentationData(
                PathUtil.GetDocTestPresentationPath("AgendaLab\\AgendaSlidesTextWithSlideNumberDefault.pptx"));

            PresentationUtil.AssertEqual(expectedSlides, actualSlides);
        }
Ejemplo n.º 2
0
        private static void TestGenerateVisualAgenda()
        {
            MessageBoxUtil.ExpectMessageBoxWillPopUp(AgendaExistsTitle, AgendaExistsContent,
                                                     PplFeatures.GenerateVisualAgenda, buttonNameToClick: "OK");

            var actualSlides   = PpOperations.FetchCurrentPresentationData();
            var expectedSlides = PpOperations.FetchPresentationData(
                PathUtil.GetDocTestPresentationPath("AgendaSlidesVisualDefault.pptx"));

            PresentationUtil.AssertEqual(expectedSlides, actualSlides);
        }
Ejemplo n.º 3
0
 private void TestImportLibraryAndShape(IShapesLabController shapesLab)
 {
     shapesLab.ImportLibrary(
         PathUtil.GetDocTestPresentationPath("ShapesLab\\LibraryToImport.pptlabsshapes"));
     shapesLab.ImportLibrary(
         PathUtil.GetDocTestPresentationPath("ShapesLab\\ShapeToImport.pptlabsshape"));
     System.Collections.Generic.List <ISlideData> actualShapeDataAfterImport = shapesLab.FetchShapeGalleryPresentationData();
     System.Collections.Generic.List <ISlideData> expShapeDataAfterImport    = PpOperations.FetchPresentationData(
         PathUtil.GetDocTestPresentationPath(ExpectedShapeGalleryFileName()));
     PresentationUtil.AssertEqual(expShapeDataAfterImport, actualShapeDataAfterImport);
 }
Ejemplo n.º 4
0
        private static void TestGenerateBeamAgenda()
        {
            PpOperations.SelectSlide(1);
            MessageBoxUtil.ExpectMessageBoxWillPopUp(AgendaExistsTitle, AgendaExistsContent,
                                                     PplFeatures.GenerateBeamAgenda, buttonNameToClick: "OK");

            System.Collections.Generic.List <TestInterface.ISlideData> actualSlides   = PpOperations.FetchCurrentPresentationData();
            System.Collections.Generic.List <TestInterface.ISlideData> expectedSlides = PpOperations.FetchPresentationData(
                PathUtil.GetDocTestPresentationPath("AgendaLab\\AgendaSlidesBeamDefault.pptx"));
            PresentationUtil.AssertEqual(expectedSlides, actualSlides);
        }
Ejemplo n.º 5
0
        private string FormatTypeElement(string format)
        {
            // uses DeclaredElementPresenter to format type element, which is standard way to present code elements
            var style = new DeclaredElementPresenterStyle(NameStyle.SHORT)
            {
                ShowTypeParameters = TypeParameterStyle.FULL
            };
            string typeElementText = DeclaredElementPresenter.Format(PresentationUtil.GetPresentationLanguage(TypeElement),
                                                                     style, TypeElement);

            return(string.Format(format, typeElementText));
        }
        private static void TestGenerateBeamAgendaWithSlideNumbers()
        {
            PpOperations.ShowAllSlideNumbers();
            PpOperations.SelectSlide(1);
            MessageBoxUtil.ExpectMessageBoxWillPopUp(AgendaExistsTitle, AgendaExistsContent,
                                                     PplFeatures.GenerateBeamAgenda, buttonNameToClick: "OK");

            var actualSlides   = PpOperations.FetchCurrentPresentationData();
            var expectedSlides = PpOperations.FetchPresentationData(
                PathUtil.GetDocTestPresentationPath("AgendaLab\\AgendaSlidesBeamWithSlideNumberDefault.pptx"));

            PresentationUtil.AssertEqual(expectedSlides, actualSlides);
        }
        public void TextSyncSuccessful()
        {
            PplFeatures.SynchronizeAgenda();

            // Duplicate template slide and delete original template slide. It should use the duplicate as the new template slide.
            Microsoft.Office.Interop.PowerPoint.Slide firstSlide = PpOperations.SelectSlide(1);
            PpOperations.SelectShape("PPTTemplateMarker").Delete();
            firstSlide.Duplicate();
            firstSlide.Delete();

            PplFeatures.SynchronizeAgenda();

            System.Collections.Generic.List <TestInterface.ISlideData> actualSlides   = PpOperations.FetchCurrentPresentationData();
            System.Collections.Generic.List <TestInterface.ISlideData> expectedSlides = PpOperations.FetchPresentationData(
                PathUtil.GetDocTestPresentationPath("AgendaLab\\AgendaSlidesTextAfterSync.pptx"));
            PresentationUtil.AssertEqual(expectedSlides, actualSlides);
        }
        public void TextSyncSuccessful()
        {
            PplFeatures.SynchronizeAgenda();

            // Duplicate template slide and delete original template slide. It should use the duplicate as the new template slide.
            var firstSlide = PpOperations.SelectSlide(1);

            PpOperations.SelectShape("PPTTemplateMarker").Delete();
            firstSlide.Duplicate();
            firstSlide.Delete();

            PplFeatures.SynchronizeAgenda();

            var actualSlides   = PpOperations.FetchCurrentPresentationData();
            var expectedSlides = PpOperations.FetchPresentationData(
                PathUtil.GetDocTestPresentationPath("AgendaLab\\AgendaSlidesTextAfterSync.pptx"));

            PresentationUtil.AssertEqual(expectedSlides, actualSlides);
        }
Ejemplo n.º 9
0
        public void Resolve(IDataContext context, Action <IQuickDocPresenter, PsiLanguageType> resolved)
        {
            var elements = context.GetData(PsiDataConstants.DECLARED_ELEMENTS);

            Assertion.AssertNotNull(elements, "elements != null");

            var          document    = context.GetData(DocumentModelDataConstants.DOCUMENT);
            IProjectFile projectFile = null;

            if (document != null)
            {
                projectFile = myDocumentManager.TryGetProjectFile(document);
            }

            var defaultLanguage = PresentationUtil.GetPresentationLanguageByContainer(projectFile, mySolution);

            foreach (var element in elements.OfType <IClrDeclaredElement>())
            {
                var eventFunction = GetEventFunction(element);
                if (eventFunction != null)
                {
                    var presenter = new UnityEventFunctionQuickDocPresenter(eventFunction, element, myQuickDocTypeMemberProvider,
                                                                            myTheming, myHelpSystem);
                    resolved(presenter, defaultLanguage);
                    return;
                }

                var eventFunctionForParameter = GetEventFunctionFromParameter(element as IParameter);
                if (eventFunctionForParameter != null)
                {
                    var presenter = new UnityEventFunctionQuickDocPresenter(eventFunctionForParameter, element.ShortName, element,
                                                                            myQuickDocTypeMemberProvider, myTheming, myHelpSystem);
                    resolved(presenter, defaultLanguage);
                    return;
                }
            }
        }
        private static IEnumerable GetChildren(ITypeElement typeElement, bool instanceVisible)
        {
            // Obtain language service for the type
            PsiLanguageType language = PresentationUtil.GetPresentationLanguage(typeElement);

            if (language.IsNullOrUnknown())
            {
                return(Enumerable.Empty <DeclaredElementEnvoy <ITypeMember> >());
            }

            LanguageService languageService = language.LanguageService();

            if (languageService == null)
            {
                return(Enumerable.Empty <DeclaredElementEnvoy <ITypeMember> >());
            }

            // Get symbol table for the typeElement and filter it with OverriddenFilter
            // This filter removes all but leaf members for override chains
            ISymbolTable symbolTable = TypeFactory.CreateType(typeElement).GetSymbolTable(typeElement.Module);

            symbolTable = symbolTable.Filter(OverriddenFilter.INSTANCE);

            // Obtain ITypeElement for System.Object
            // We don't want ToString(), GetHashCode(), GetType() and Equals() to pollute tree view
            ITypeElement objectType = typeElement.Module.GetPredefinedType(typeElement.ResolveContext).Object.GetTypeElement();
            var          children   = new List <DeclaredElementEnvoy <ITypeMember> >();

            foreach (string name in symbolTable.Names())
            {
                foreach (ISymbolInfo info in symbolTable.GetSymbolInfos(name))
                {
                    // Select all ITypeMembers from symbol table
                    var member = info.GetDeclaredElement() as ITypeMember;
                    if (member == null)
                    {
                        continue;
                    }
                    // Checks that member is visible in language. For example, get_Property() member is not visible in C#
                    if (!languageService.IsTypeMemberVisible(member))
                    {
                        continue;
                    }
                    // Do not show members of System.Object
                    // This doesn't hide respective overrides, though
                    if (Equals(member.GetContainingType(), objectType))
                    {
                        continue;
                    }
                    // Checks that member is not "synthetic". Synthetic members are generated by ReSharper to support
                    // generative languages, like ASP.NET
                    if (member.IsSynthetic())
                    {
                        continue;
                    }

                    // Checks if member should be displayed according to its accessibility
                    AccessibilityDomain.AccessibilityDomainType access = member.AccessibilityDomain.DomainType;
                    if (access == AccessibilityDomain.AccessibilityDomainType.PRIVATE)
                    {
                        continue;
                    }

                    // If we want only instance members, filter further
                    if (instanceVisible)
                    {
                        // Don't show nested types
                        if (member is ITypeElement)
                        {
                            continue;
                        }
                        // Don't show constructors
                        if (member is IConstructor)
                        {
                            continue;
                        }

                        // hide static, protected and "protected internal" members
                        if (member.IsStatic)
                        {
                            continue;
                        }
                        if (access == AccessibilityDomain.AccessibilityDomainType.PROTECTED)
                        {
                            continue;
                        }
                        if (access == AccessibilityDomain.AccessibilityDomainType.PROTECTED_AND_INTERNAL)
                        {
                            continue;
                        }
                    }
                    // It passed all filters! Create an envoy and add to collection
                    children.Add(new DeclaredElementEnvoy <ITypeMember>(member));
                }
            }

            return(children);
        }