LeechCraft Monocle 0.6.70-17609-g3dde4097dd
Modular document viewer for LeechCraft
Loading...
Searching...
No Matches
LC::Monocle Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  DocumentInfo
 Document metadata. More...
 
struct  ExternalNavigationAction
 A link action that represents navigating to a different document. More...
 
struct  FontInfo
 Describes a single font. More...
 
class  IAnnotation
 Base interface for annotations. More...
 
class  IBackendPlugin
 Basic interface for plugins providing support for various document formats for Monocle. More...
 
class  ICaretAnnotation
 The interface for AnnotationType::Caret annotations. More...
 
class  IDocument
 Basic interface for documents. More...
 
class  IFormField
 Base interface to be implemented by form fields. More...
 
class  IFormFieldButton
 Interface to be implemented by button fields. More...
 
class  IFormFieldChoice
 Interface to be implemented by choice fields. More...
 
class  IFormFieldText
 Interface to be implemented by text fields. More...
 
class  IHaveFontInfo
 Interface for querying font information in a document. More...
 
class  IHaveOptionalContent
 Interface for documents that can toggle showing some of their contents. More...
 
class  IHaveTextContent
 Interface for documents supporting querying text contents. More...
 
class  IHaveTOC
 Interface for documents supporting table of contents. More...
 
class  IHighlightAnnotation
 The interface for AnnotationType::Highlight annotations. More...
 
class  IKnowFileExtensions
 Interface for backend plugins providing default extensions for their relevant file types. More...
 
class  ILink
 Base interface for links. More...
 
class  ILinkAnnotation
 The interface for AnnotationType::Link annotations. More...
 
class  IRedirectorPlugin
 
class  ISaveableDocument
 Interface for documents that can be saved. More...
 
class  ISearchableDocument
 Interface for documents supporting searching for text. More...
 
class  ISupportAnnotations
 Interface for documents supporting annotations. More...
 
class  ISupportForms
 Interface for documents supporting inline forms. More...
 
class  ISupportPainting
 Interface for documents supporting optimized painting. More...
 
class  ITextAnnotation
 The interface for AnnotationType::Text annotations. More...
 
struct  NavigationAction
 A link action that represents navigating inside the document. More...
 
struct  NoAction
 
struct  PageAbsolutePosBase
 
struct  PageAbsoluteRectBase
 
struct  PageRelativePosBase
 
struct  PageRelativeRectBase
 
struct  Pos
 
struct  Rect
 
struct  RedirectionResult
 
struct  TextBox
 
struct  TOCEntryT
 A single table of contents entry. More...
 
struct  UrlAction
 

Typedefs

typedef std::shared_ptr< IAnnotationIAnnotation_ptr
 
typedef std::shared_ptr< ITextAnnotationITextAnnotation_ptr
 
typedef std::shared_ptr< IHighlightAnnotationIHighlightAnnotation_ptr
 
typedef std::shared_ptr< ILinkAnnotationILinkAnnotation_ptr
 
typedef std::shared_ptr< ICaretAnnotationICaretAnnotation_ptr
 
typedef std::shared_ptr< IDocumentIDocument_ptr
 Shared pointer to a document.
 
typedef std::shared_ptr< IFormFieldIFormField_ptr
 A shared pointer to a IFormField.
 
template<typename T>
using TOCEntryLevelT = QVector<TOCEntryT<T>>
 A list of table of contents entries.
 
using TOCEntryLevel_t = TOCEntryLevelT<NavigationAction>
 
using TOCEntry = TOCEntryT<NavigationAction>
 
using TOCEntryIDLevel = TOCEntryLevelT<QByteArray>
 
using TOCEntryID = TOCEntryT<QByteArray>
 
using CustomAction = std::function<void ()>
 
using LinkAction = std::variant<NoAction, NavigationAction, ExternalNavigationAction, UrlAction, CustomAction>
 
typedef std::shared_ptr< ILinkILink_ptr
 
typedef QList< IFormField_ptrIFormFields_t
 

Enumerations

enum class  Relativity : std::uint8_t { PageRelative , PageAbsolute , SceneAbsolute , ViewAbsolute }
 
enum class  AnnotationType {
  Text , Highlight , Link , Caret ,
  Other
}
 Defines an annotation type. More...
 
enum class  FormType { Text , Choice , Button }
 Describes the possible types of a form field. More...
 
enum class  NextSpaceKind : std::uint8_t { None , Space , NewLine , NewPara }
 
enum class  LinkType { PageLink , URL , Command , OtherLink }
 Describes various link types known to Monocle. More...
 

Typedef Documentation

◆ CustomAction

using LC::Monocle::CustomAction = std::function<void ()>

Definition at line 103 of file ilink.h.

◆ IAnnotation_ptr

typedef std::shared_ptr< IAnnotation > LC::Monocle::IAnnotation_ptr

Definition at line 178 of file iannotation.h.

◆ ICaretAnnotation_ptr

Definition at line 182 of file iannotation.h.

◆ IDocument_ptr

typedef std::shared_ptr<IDocument> LC::Monocle::IDocument_ptr

Shared pointer to a document.

Definition at line 197 of file idocument.h.

◆ IFormField_ptr

typedef std::shared_ptr< IFormField > LC::Monocle::IFormField_ptr

A shared pointer to a IFormField.

Definition at line 112 of file iformfield.h.

◆ IFormFields_t

Definition at line 21 of file isupportforms.h.

◆ IHighlightAnnotation_ptr

Definition at line 180 of file iannotation.h.

◆ ILink_ptr

typedef std::shared_ptr<ILink> LC::Monocle::ILink_ptr

Definition at line 146 of file ilink.h.

◆ ILinkAnnotation_ptr

Definition at line 181 of file iannotation.h.

◆ ITextAnnotation_ptr

Definition at line 179 of file iannotation.h.

◆ LinkAction

◆ TOCEntry

Definition at line 43 of file ihavetoc.h.

◆ TOCEntryID

using LC::Monocle::TOCEntryID = TOCEntryT<QByteArray>

Definition at line 46 of file ihavetoc.h.

◆ TOCEntryIDLevel

Definition at line 45 of file ihavetoc.h.

◆ TOCEntryLevel_t

◆ TOCEntryLevelT

template<typename T>
using LC::Monocle::TOCEntryLevelT = QVector<TOCEntryT<T>>

A list of table of contents entries.

Definition at line 22 of file ihavetoc.h.

Enumeration Type Documentation

◆ AnnotationType

enum class LC::Monocle::AnnotationType
strong

Defines an annotation type.

Enumerator
Text 

A simple text annotation.

The corresponding interface is ITextAnnotation.

Highlight 

A highlighted block in the text.

The corresponding interface is IHighlightAnnotation.

Link 

An annotation with a link.

The corresponding interface is ILinkAnnotation.

Caret 

A caret pointing to some text inserted.

The corresponding interface is ICaretAnnotation.

Other 

Another type of annotation.

Definition at line 25 of file iannotation.h.

◆ FormType

enum class LC::Monocle::FormType
strong

Describes the possible types of a form field.

See also
IFormField
Enumerator
Text 

A text entry field.

Fields of this type should also implement IFormFieldText.

See also
IFormFieldText
Choice 

A single- and multiple choice field.

Fields of this type should also implement IFormFieldChoice.

See also
IFormFieldChoice
Button 

A push button, radio button or check box.

Fields of this type should also implement IFormFieldButton.

See also
IFormFieldButton

Definition at line 21 of file iformfield.h.

◆ LinkType

enum class LC::Monocle::LinkType
strong

Describes various link types known to Monocle.

All links implement the ILink interface.

See also
ILink
Enumerator
PageLink 

A link to a page.

The link may refer both the document it belongs to as well as some other document.

The ILink::GetLinkAction() for PageLinks is supposed to return a NavigationAction.

See also
NavigationAction
URL 

A link to an URL.

Command 

Some standard command like printing.

OtherLink 

Other link type.

Definition at line 25 of file ilink.h.

◆ NextSpaceKind

enum class LC::Monocle::NextSpaceKind : std::uint8_t
strong
Enumerator
None 
Space 
NewLine 
NewPara 

Definition at line 18 of file ihavetextcontent.h.

◆ Relativity

enum class LC::Monocle::Relativity : std::uint8_t
strong
Enumerator
PageRelative 
PageAbsolute 
SceneAbsolute 
ViewAbsolute 

Definition at line 16 of file coordsbase.h.