DocumentationPage.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
  2. #pragma once
  3. #include "CoreMinimal.h"
  4. #include "Misc/Attribute.h"
  5. #include "IDocumentationPage.h"
  6. #include "UDNParser.h"
  7. #include "DocumentationDefines.h"
  8. namespace EXT_DOC_NAMESPACE
  9. {
  10. class FExtDocumentationPage : public IDocumentationPage
  11. {
  12. public:
  13. /** Returns an instance of class containing content from the link argument */
  14. static TSharedRef< IDocumentationPage > Create( const FString& Link, const TSharedRef< FExtUDNParser >& Parser );
  15. public:
  16. virtual ~FExtDocumentationPage();
  17. virtual bool HasExcerpt( const FString& ExcerptName ) override;
  18. virtual int32 GetNumExcerpts() const override;
  19. virtual bool GetExcerpt( const FString& ExcerptName, FExcerpt& Excerpt) override;
  20. virtual void GetExcerpts( /*OUT*/ TArray< FExcerpt >& Excerpts ) override;
  21. virtual bool GetExcerptContent( FExcerpt& Excerpt ) override;
  22. virtual FText GetTitle() override;
  23. virtual void Reload() override;
  24. virtual void SetTextWrapAt( TAttribute<float> WrapAt ) override;
  25. public:
  26. bool GetSimpleExcerptContent(FExcerpt& Excerpt);
  27. private:
  28. FExtDocumentationPage( const FString& InLink, const TSharedRef< FExtUDNParser >& InParser );
  29. private:
  30. /** The string representing the UDN page location */
  31. FString Link;
  32. /** The UDN parser instance used to create this page */
  33. TSharedRef< FExtUDNParser > Parser;
  34. /** The excerpts contained in this UDN page */
  35. TArray<FExcerpt> StoredExcerpts;
  36. /** The UDN meta data contained in this page */
  37. FUDNPageMetadata StoredMetadata;
  38. /** Signals if the page has been loaded */
  39. bool IsLoaded;
  40. };
  41. }