Documentation.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
  2. #pragma once
  3. #include "CoreMinimal.h"
  4. #include "Widgets/SWidget.h"
  5. #include "IDocumentationPage.h"
  6. #include "IDocumentation.h"
  7. #include "DocumentationRedirectRegistry.h"
  8. #include "DocumentationDefines.h"
  9. template< typename ObjectType > class TAttribute;
  10. namespace EXT_DOC_NAMESPACE
  11. {
  12. class FExtDocumentation : public IDocumentation
  13. {
  14. public:
  15. static TSharedRef< IDocumentation > Create();
  16. public:
  17. virtual ~FExtDocumentation();
  18. virtual bool OpenHome(FDocumentationSourceInfo Source = FDocumentationSourceInfo(), const FString& BaseUrlId = FString()) const override;
  19. virtual bool OpenHome(const FCultureRef& Culture, FDocumentationSourceInfo Source = FDocumentationSourceInfo(), const FString& BaseUrlId = FString()) const override;
  20. virtual bool OpenAPIHome(FDocumentationSourceInfo Source = FDocumentationSourceInfo()) const override;
  21. virtual bool Open(const FString& Link, FDocumentationSourceInfo Source = FDocumentationSourceInfo(), const FString& BaseUrlId = FString()) const override;
  22. virtual bool Open(const FString& Link, const FCultureRef& Culture, FDocumentationSourceInfo Source = FDocumentationSourceInfo(), const FString& BaseUrlId = FString()) const override;
  23. virtual TSharedRef< class SWidget > CreateAnchor(const TAttribute<FString>& Link, const FString& PreviewLink = FString(), const FString& PreviewExcerptName = FString(), const TAttribute<FString>& BaseUrlId = FString()) const override;
  24. virtual TSharedRef< IDocumentationPage > GetPage( const FString& Link, const TSharedPtr< FParserConfiguration >& Config, const FDocumentationStyle& Style = FDocumentationStyle() ) override;
  25. virtual bool PageExists(const FString& Link) const override;
  26. virtual bool PageExists(const FString& Link, const FCultureRef& Culture) const override;
  27. virtual const TArray < FString >& GetSourcePaths() const override;
  28. virtual TSharedRef< class SToolTip > CreateToolTip( const TAttribute<FText>& Text, const TSharedPtr<SWidget>& OverrideContent, const FString& Link, const FString& ExcerptName) const override;
  29. virtual TSharedRef< class SToolTip > CreateToolTip(const TAttribute<FText>& Text, const TSharedRef<SWidget>& OverrideContent, const TSharedPtr<SVerticalBox>& DocVerticalBox, const FString& Link, const FString& ExcerptName) const override;
  30. virtual bool RegisterBaseUrl(const FString& Id, const FString& Url) override;
  31. virtual FString GetBaseUrl(const FString& Id) const override;
  32. virtual bool RegisterRedirect(const FName& Owner, const FDocumentationRedirect& Redirect) override;
  33. virtual void UnregisterRedirects(const FName& Owner) override;
  34. private:
  35. FExtDocumentation();
  36. private:
  37. TMap< FString, TWeakPtr< IDocumentationPage > > LoadedPages;
  38. TMap< const FString, const FString > RegisteredBaseUrls;
  39. FExtDocumentationRedirectRegistry RedirectRegistry;
  40. TArray < FString > SourcePaths;
  41. };
  42. }