• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdegraphics API Reference
  • KDE Home
  • Contact Us
 

okular

  • Okular
  • Generator
Public Types | Signals | Public Member Functions | Protected Slots | Protected Member Functions | List of all members
Okular::Generator Class Referenceabstract

#include <generator.h>

Inheritance diagram for Okular::Generator:
Inheritance graph
[legend]

Public Types

enum  GeneratorFeature {
  Threaded, TextExtraction, ReadRawData, FontInfo,
  PageSizes, PrintNative, PrintPostscript, PrintToFile,
  TiledRendering
}
 
enum  PageSizeMetric { None, Points, Pixels }
 
enum  PrintError {
  NoPrintError, UnknownPrintError, TemporaryFileOpenPrintError, FileConversionPrintError,
  PrintingProcessCrashPrintError, PrintingProcessStartPrintError, PrintToFilePrintError, InvalidPrinterStatePrintError,
  UnableToFindFilePrintError, NoFileToPrintError, NoBinaryToPrintError, InvalidPageSizePrintError
}
 

Signals

void error (const QString &message, int duration)
 
void notice (const QString &message, int duration)
 
void warning (const QString &message, int duration)
 

Public Member Functions

 Generator (QObject *parent, const QVariantList &args)
 
virtual ~Generator ()
 
virtual bool canGeneratePixmap () const
 
virtual bool canGenerateTextPage () const
 
bool closeDocument ()
 
virtual const QList
< EmbeddedFile * > * 
embeddedFiles () const
 
virtual ExportFormat::List exportFormats () const
 
virtual bool exportTo (const QString &fileName, const ExportFormat &format)
 
virtual FontInfo::List fontsForPage (int page)
 
virtual const DocumentInfo * generateDocumentInfo ()
 
virtual const DocumentSynopsis * generateDocumentSynopsis ()
 
virtual void generatePixmap (PixmapRequest *request)
 
virtual void generateTextPage (Page *page)
 
bool hasFeature (GeneratorFeature feature) const
 
virtual bool isAllowed (Permission action) const
 
virtual bool loadDocument (const QString &fileName, QVector< Page * > &pagesVector)
 
virtual bool loadDocumentFromData (const QByteArray &fileData, QVector< Page * > &pagesVector)
 
virtual Document::OpenResult loadDocumentFromDataWithPassword (const QByteArray &fileData, QVector< Page * > &pagesVector, const QString &password)
 
virtual Document::OpenResult loadDocumentWithPassword (const QString &fileName, QVector< Page * > &pagesVector, const QString &password)
 
virtual QVariant metaData (const QString &key, const QVariant &option) const
 
virtual void pageSizeChanged (const PageSize &pageSize, const PageSize &oldPageSize)
 
virtual PageSize::List pageSizes () const
 
virtual PageSizeMetric pagesSizeMetric () const
 
virtual bool print (QPrinter &printer)
 
virtual void rotationChanged (Rotation orientation, Rotation oldOrientation)
 
void setDPI (const QSizeF &dpi)
 
virtual void walletDataForFile (const QString &fileName, QString *walletName, QString *walletFolder, QString *walletKey) const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual  ~QObject ()
 
bool blockSignals (bool block)
 
QObject * child (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArray > dynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
T findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObject * metaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObject * parent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThread * thread () const
 

Protected Slots

const SourceReference * dynamicSourceReference (int pageNr, double absX, double absY)
 
Okular::Generator::PrintError printError () const
 
void requestFontData (const Okular::FontInfo &font, QByteArray *data)
 

Protected Member Functions

virtual bool doCloseDocument ()=0
 
const Document * document () const
 
QVariant documentMetaData (const QString &key, const QVariant &option=QVariant()) const
 
QSizeF dpi () const
 
virtual QImage image (PixmapRequest *page)
 
void setFeature (GeneratorFeature feature, bool on=true)
 
void signalPixmapRequestDone (PixmapRequest *request)
 
void signalTextGenerationDone (Page *page, TextPage *textPage)
 
virtual TextPage * textPage (Page *page)
 
void updatePageBoundingBox (int page, const NormalizedRect &boundingBox)
 
QMutex * userMutex () const
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObject * sender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

[Abstract Class] The information generator.

Most of class members are virtuals and some of them pure virtual. The pure virtuals provide the minimal functionalities for a Generator, that is being able to generate QPixmap for the Page 's of the Document.

Implementing the other functions will make the Generator able to provide more contents and/or functionalities (like text extraction).

Generation/query is requested by the Document class only, and that class stores the resulting data into Page s. The data will then be displayed by the GUI components (PageView, ThumbnailList, etc..).

See also
PrintInterface, ConfigInterface, GuiInterface

Definition at line 186 of file generator.h.

Member Enumeration Documentation

enum Okular::Generator::GeneratorFeature

Describe the possible optional features that a Generator can provide.

Enumerator
Threaded 
TextExtraction 

Whether the Generator can extract text from the document in the form of TextPage's.

ReadRawData 

Whether the Generator can read a document directly from its raw data.

FontInfo 

Whether the Generator can provide information about the fonts used in the document.

PageSizes 

Whether the Generator can change the size of the document pages.

PrintNative 

Whether the Generator supports native cross-platform printing (QPainter-based).

PrintPostscript 

Whether the Generator supports postscript-based file printing.

PrintToFile 

Whether the Generator supports export to PDF & PS through the Print Dialog.

TiledRendering 

Whether the Generator can render tiles.

Since
0.16 (KDE 4.10)

Definition at line 200 of file generator.h.

enum Okular::Generator::PageSizeMetric

This enum identifies the metric of the page size.

Enumerator
None 

The page size is not defined in a physical metric.

Points 

The page size is given in 1/72 inches.

Pixels 

The page size is given in screen pixels.

Since
0.19 (KDE 4.13)

Definition at line 340 of file generator.h.

enum Okular::Generator::PrintError

Possible print errors.

Since
0.11 (KDE 4.5)
Enumerator
NoPrintError 

There was no print error.

UnknownPrintError 
TemporaryFileOpenPrintError 
FileConversionPrintError 
PrintingProcessCrashPrintError 
PrintingProcessStartPrintError 
PrintToFilePrintError 
InvalidPrinterStatePrintError 
UnableToFindFilePrintError 
NoFileToPrintError 
NoBinaryToPrintError 
InvalidPageSizePrintError 
Since
0.18.2 (KDE 4.12.2)

Definition at line 382 of file generator.h.

Constructor & Destructor Documentation

Generator::Generator ( QObject *  parent,
const QVariantList &  args 
)

Creates a new generator.

Definition at line 160 of file generator.cpp.

Generator::~Generator ( )
virtual

Destroys the generator.

Definition at line 174 of file generator.cpp.

Member Function Documentation

bool Generator::canGeneratePixmap ( ) const
virtual

This method returns whether the generator is ready to handle a new pixmap request.

Reimplemented in Okular::TextDocumentGenerator.

Definition at line 229 of file generator.cpp.

bool Generator::canGenerateTextPage ( ) const
virtual

This method returns whether the generator is ready to handle a new text page request.

Definition at line 269 of file generator.cpp.

bool Generator::closeDocument ( )

This method is called when the document is closed and not used any longer.

Returns
true on success, false otherwise.

Definition at line 199 of file generator.cpp.

virtual bool Okular::Generator::doCloseDocument ( )
protectedpure virtual

This method is called when the document is closed and not used any longer.

Returns
true on success, false otherwise.

Implemented in Okular::TextDocumentGenerator.

const Document * Generator::document ( ) const
protected

Returns a pointer to the document.

Definition at line 395 of file generator.cpp.

QVariant Generator::documentMetaData ( const QString &  key,
const QVariant &  option = QVariant() 
) const
protected

Request a meta data of the Document, if available, like an internal setting.

Definition at line 414 of file generator.cpp.

QSizeF Generator::dpi ( ) const
protected

Returns DPI, previously set via setDPI()

Since
0.19 (KDE 4.13)

Definition at line 456 of file generator.cpp.

const SourceReference * Generator::dynamicSourceReference ( int  pageNr,
double  absX,
double  absY 
)
protectedslot

Asks the generator to dynamically generate a SourceReference for a given page number and absolute X and Y position on this page.

Attention
Ownership of the returned SourceReference is transferred to the caller.
Since
0.10 (KDE 4.4)

Definition at line 445 of file generator.cpp.

const QList< EmbeddedFile * > * Generator::embeddedFiles ( ) const
virtual

Returns the 'list of embedded files' object of the document or 0 if no list of embedded files is available.

Definition at line 308 of file generator.cpp.

void Okular::Generator::error ( const QString &  message,
int  duration 
)
signal

This signal should be emitted whenever an error occurred in the generator.

Parameters
messageThe message which should be shown to the user.
durationThe time that the message should be shown to the user.
ExportFormat::List Generator::exportFormats ( ) const
virtual

Returns the list of additional supported export formats.

Reimplemented in Okular::TextDocumentGenerator.

Definition at line 352 of file generator.cpp.

bool Generator::exportTo ( const QString &  fileName,
const ExportFormat &  format 
)
virtual

This method is called to export the document in the given format and save it under the given fileName.

The format must be one of the supported export formats.

Reimplemented in Okular::TextDocumentGenerator.

Definition at line 357 of file generator.cpp.

FontInfo::List Generator::fontsForPage ( int  page)
virtual

Definition at line 303 of file generator.cpp.

const DocumentInfo * Generator::generateDocumentInfo ( )
virtual

Returns the general information object of the document or 0 if no information are available.

Reimplemented in Okular::TextDocumentGenerator.

Definition at line 293 of file generator.cpp.

const DocumentSynopsis * Generator::generateDocumentSynopsis ( )
virtual

Returns the 'table of content' object of the document or 0 if no table of content is available.

Reimplemented in Okular::TextDocumentGenerator.

Definition at line 298 of file generator.cpp.

void Generator::generatePixmap ( PixmapRequest *  request)
virtual

This method can be called to trigger the generation of a new pixmap as described by request.

We create the text page for every page that is visible to the user, so he can use the text extraction tools without a delay.

Reimplemented in Okular::TextDocumentGenerator.

Definition at line 235 of file generator.cpp.

void Generator::generateTextPage ( Page *  page)
virtual

This method can be called to trigger the generation of a text page for the given page.

The generation is done synchronous or asynchronous, depending on the type parameter and the capabilities of the generator (e.g. multithreading).

See also
TextPage

Definition at line 275 of file generator.cpp.

bool Generator::hasFeature ( GeneratorFeature  feature) const

Query for the specified feature.

Definition at line 369 of file generator.cpp.

QImage Generator::image ( PixmapRequest *  page)
protectedvirtual

Returns the image of the page as specified in the passed pixmap request.

Warning
this method may be executed in its own separated thread if the Threaded is enabled!

Definition at line 282 of file generator.cpp.

bool Generator::isAllowed ( Permission  action) const
virtual

This method returns whether given action (Permission) is allowed in this document.

Definition at line 318 of file generator.cpp.

bool Generator::loadDocument ( const QString &  fileName,
QVector< Page * > &  pagesVector 
)
virtual

Loads the document with the given fileName and fills the pagesVector with the parsed pages.

Note
If you implement the WithPassword variants you don't need to implement this one
Returns
true on success, false otherwise.

Definition at line 179 of file generator.cpp.

bool Generator::loadDocumentFromData ( const QByteArray &  fileData,
QVector< Page * > &  pagesVector 
)
virtual

Loads the document from the raw data fileData and fills the pagesVector with the parsed pages.

Note
If you implement the WithPassword variants you don't need to implement this one
the Generator has to have the feature ReadRawData enabled
Returns
true on success, false otherwise.

Definition at line 184 of file generator.cpp.

Document::OpenResult Generator::loadDocumentFromDataWithPassword ( const QByteArray &  fileData,
QVector< Page * > &  pagesVector,
const QString &  password 
)
virtual

Loads the document from the raw data fileData and password and fills the pagesVector with the parsed pages.

Note
Do not implement this if your format doesn't support passwords, it'll cleanly call loadDocumentFromData()
the Generator has to have the feature ReadRawData enabled
Since
0.20 (KDE 4.14)
Returns
a LoadResult defining the result of the operation

Definition at line 194 of file generator.cpp.

Document::OpenResult Generator::loadDocumentWithPassword ( const QString &  fileName,
QVector< Page * > &  pagesVector,
const QString &  password 
)
virtual

Loads the document with the given fileName and password and fills the pagesVector with the parsed pages.

Note
Do not implement this if your format doesn't support passwords, it'll cleanly call loadDocument()
Since
0.20 (KDE 4.14)
Returns
a LoadResult defining the result of the operation

Reimplemented in Okular::TextDocumentGenerator.

Definition at line 189 of file generator.cpp.

QVariant Generator::metaData ( const QString &  key,
const QVariant &  option 
) const
virtual

This method returns the meta data of the given key with the given option of the document.

Definition at line 346 of file generator.cpp.

void Okular::Generator::notice ( const QString &  message,
int  duration 
)
signal

This signal should be emitted whenever the user should be noticed.

Parameters
messageThe message which should be shown to the user.
durationThe time that the message should be shown to the user.
void Generator::pageSizeChanged ( const PageSize &  pageSize,
const PageSize &  oldPageSize 
)
virtual

This method is called when the page size has been changed by the user.

Definition at line 332 of file generator.cpp.

PageSize::List Generator::pageSizes ( ) const
virtual

Returns the list of supported page sizes.

Definition at line 327 of file generator.cpp.

Generator::PageSizeMetric Generator::pagesSizeMetric ( ) const
virtual

This method returns the metric of the page size.

Default is None.

Definition at line 313 of file generator.cpp.

bool Generator::print ( QPrinter &  printer)
virtual

This method is called to print the document to the given printer.

Reimplemented in Okular::TextDocumentGenerator.

Definition at line 336 of file generator.cpp.

Generator::PrintError Generator::printError ( ) const
protectedslot

Returns the last print error in case print() failed.

Since
0.11 (KDE 4.5)

Definition at line 341 of file generator.cpp.

void Generator::requestFontData ( const Okular::FontInfo &  font,
QByteArray *  data 
)
protectedslot

Gets the font data for the given font.

Since
0.8 (KDE 4.1)

Definition at line 440 of file generator.cpp.

void Generator::rotationChanged ( Rotation  orientation,
Rotation  oldOrientation 
)
virtual

This method is called when the orientation has been changed by the user.

Definition at line 323 of file generator.cpp.

void Generator::setDPI ( const QSizeF &  dpi)

Update DPI of the generator.

Since
0.19 (KDE 4.13)

Definition at line 450 of file generator.cpp.

void Generator::setFeature ( GeneratorFeature  feature,
bool  on = true 
)
protected

Toggle the feature .

Definition at line 405 of file generator.cpp.

void Generator::signalPixmapRequestDone ( PixmapRequest *  request)
protected

This method must be called when the pixmap request triggered by generatePixmap() has been finished.

Definition at line 375 of file generator.cpp.

void Generator::signalTextGenerationDone ( Page *  page,
TextPage *  textPage 
)
protected

This method must be called when a text generation has been finished.

Definition at line 386 of file generator.cpp.

TextPage * Generator::textPage ( Page *  page)
protectedvirtual

Returns the text page for the given page.

Warning
this method may be executed in its own separated thread if the Threaded is enabled!

Reimplemented in Okular::TextDocumentGenerator.

Definition at line 288 of file generator.cpp.

void Generator::updatePageBoundingBox ( int  page,
const NormalizedRect &  boundingBox 
)
protected

Set the bounding box of a page after the page has already been handed to the Document.

Call this instead of Page::setBoundingBox() to ensure that all observers are notified.

Since
0.7 (KDE 4.1)

Definition at line 433 of file generator.cpp.

QMutex * Generator::userMutex ( ) const
protected

Return the pointer to a mutex the generator can use freely.

Definition at line 423 of file generator.cpp.

void Generator::walletDataForFile ( const QString &  fileName,
QString *  walletName,
QString *  walletFolder,
QString *  walletKey 
) const
virtual

This method is called to know which wallet data should be used for the given file name.

Unless you have very special requirements to where wallet data should be stored you don't need to reimplement this method.

Definition at line 362 of file generator.cpp.

void Okular::Generator::warning ( const QString &  message,
int  duration 
)
signal

This signal should be emitted whenever the user should be warned.

Parameters
messageThe message which should be shown to the user.
durationThe time that the message should be shown to the user.

The documentation for this class was generated from the following files:
  • generator.h
  • generator.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:19:26 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

okular

Skip menu "okular"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdegraphics API Reference

Skip menu "kdegraphics API Reference"
  •     libkdcraw
  •     libkexiv2
  •     libkipi
  •     libksane
  • okular

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal