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); }
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); }
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); }
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); }
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); }
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); }