lib
KoDocument Class Reference
#include <KoDocument.h>
Inheritance diagram for KoDocument:

Detailed Description
The KOffice document classThe KOffice document class.This class provides some functionality each KOffice document should have.
Definition at line 61 of file KoDocument.h.
Public Types | |
enum | { SaveAsDirectoryStore = 2, SaveAsFlatXML = 4 } |
enum | InitDocFlags { InitDocAppStarting, InitDocFileNew, InitDocFileClose, InitDocEmbedded, InitDocEmpty } |
Public Slots | |
virtual void | initEmpty () |
Signals | |
void | unitChanged (KoUnit::Unit) |
void | childChanged (KoDocumentChild *child) |
void | sigProgress (int value) |
void | sigStatusBarMessage (const QString &text) |
void | sigClearStatusBarMessage () |
void | sigBeginOperation () |
void | sigEndOperation () |
void | modified (bool) |
void | closeEmbedInitDialog () |
Public Member Functions | |
KoDocument (QWidget *parentWidget, const char *widgetName, QObject *parent, const char *name, bool singleViewMode=false) | |
virtual | ~KoDocument () |
bool | isSingleViewMode () const |
bool | isEmbedded () const |
virtual KAction * | action (const QDomElement &element) const |
virtual QDomDocument | domDocument () const |
virtual void | setManager (KParts::PartManager *manager) |
virtual bool | openURL (const KURL &url) |
bool | import (const KURL &url) |
bool | exp0rt (const KURL &url) |
virtual void | setReadWrite (bool readwrite=true) |
virtual QCString | nativeFormatMimeType () const |
QCString | nativeOasisMimeType () const |
bool | isNativeFormat (const QCString &mimetype) const |
virtual QStringList | extraNativeMimeTypes () const |
virtual int | supportedSpecialFormats () const |
QCString | mimeType () const |
void | setMimeType (const QCString &mimeType) |
void | setOutputMimeType (const QCString &mimeType, int specialOutputFlag=0) |
QCString | outputMimeType () const |
int | specialOutputFlag () const |
bool | confirmNonNativeSave (const bool exporting) const |
void | setConfirmNonNativeSave (const bool exporting, const bool on) |
virtual bool | wantExportConfirmation () const |
void | setErrorMessage (const QString &errMsg) |
QString | errorMessage () const |
void | showSavingErrorDialog () |
void | showLoadingErrorDialog () |
KoView * | createView (QWidget *parent=0, const char *name=0) |
virtual void | addView (KoView *view) |
virtual void | removeView (KoView *view) |
const QPtrList< KoView > & | views () const |
int | viewCount () const |
virtual KParts::Part * | hitTest (QWidget *widget, const QPoint &globalPos) |
virtual KoDocument * | hitTest (const QPoint &pos, const QWMatrix &matrix=QWMatrix()) |
KoView * | hitTestView () |
virtual void | paintEverything (QPainter &painter, const QRect &rect, bool transparent=false, KoView *view=0L, double zoomX=1.0, double zoomY=1.0) |
virtual QPixmap | generatePreview (const QSize &size) |
virtual void | paintChildren (QPainter &painter, const QRect &rect, KoView *view, double zoomX=1.0, double zoomY=1.0) |
virtual void | paintChild (KoDocumentChild *child, QPainter &painter, KoView *view, double zoomX=1.0, double zoomY=1.0) |
virtual void | paintContent (QPainter &painter, const QRect &rect, bool transparent=false, double zoomX=1.0, double zoomY=1.0)=0 |
bool | checkAutoSaveFile () |
virtual bool | initDoc (InitDocFlags flags, QWidget *parentWidget=0)=0 |
virtual void | showStartUpWidget (KoMainWindow *parent, bool alwaysShow=false) |
virtual void | setModified (bool _mod) |
virtual void | setTitleModified () |
virtual bool | isEmpty () const |
virtual void | setEmpty () |
virtual bool | loadFromStore (KoStore *store, const QString &url) |
virtual bool | loadOasisFromStore (KoStore *store) |
virtual bool | saveToStore (KoStore *store, const QString &path) |
virtual bool | loadXML (QIODevice *, const QDomDocument &doc)=0 |
virtual bool | loadOasis (const QDomDocument &doc, KoOasisStyles &oasisStyles, const QDomDocument &settings, KoStore *store)=0 |
virtual bool | saveOasis (KoStore *store, KoXmlWriter *manifestWriter)=0 |
virtual QDomDocument | saveXML () |
QDomDocument | createDomDocument (const QString &tagName, const QString &version) const |
virtual bool | saveToStream (QIODevice *dev) |
virtual bool | loadNativeFormat (const QString &file) |
virtual bool | saveNativeFormat (const QString &file) |
void | setAutoSave (int delay) |
bool | isAutosaving () const |
void | setCheckAutoSaveFile (bool b) |
void | setAutoErrorHandlingEnabled (bool b) |
bool | isAutoErrorHandlingEnabled () const |
const QPtrList< KoDocumentChild > & | children () const |
KoDocumentChild * | child (KoDocument *doc) |
KoDocumentInfo * | documentInfo () const |
void | setViewBuildDocument (KoView *view, const QDomDocument &doc) |
QDomDocument | viewBuildDocument (KoView *view) |
virtual void | addShell (KoMainWindow *shell) |
virtual void | removeShell (KoMainWindow *shell) |
const QPtrList< KoMainWindow > & | shells () const |
int | shellCount () const |
virtual DCOPObject * | dcopObject () |
QCString | dcopObjectId () const |
void | emitProgress (int value) |
bool | isInOperation () const |
virtual void | emitBeginOperation () |
virtual void | emitEndOperation () |
virtual bool | isStoredExtern () const |
virtual KoPageLayout | pageLayout (int pageNumber=0) const |
void | removeAutoSaveFiles () |
void | setBackupFile (bool _b) |
bool | backupFile () const |
bool | isModified () const |
bool | isLoading () const |
int | queryCloseExternalChildren () |
int | queryCloseDia () |
void | setDoNotSaveExtDoc (bool on=true) |
void | setBackupPath (const QString &_path) |
QString | backupPath () const |
void | setCurrent (bool on=true) |
void | forceCurrent (bool on) |
bool | isCurrent () const |
void | setTitleModified (const QString caption, bool mod) |
void | resetURL () |
void | setStoreInternal (bool i) |
bool | storeInternal () const |
bool | hasExternURL () const |
void | setURL (const KURL &url) |
QString & | file () |
void | setFile (const QString &file) |
void | setMimeTypeAfterLoading (const QString &mimeType) |
virtual int | pageCount () const |
virtual QValueList< KoTextDocument * > | allTextDocuments () const |
KoUnit::Unit | unit () const |
void | setUnit (KoUnit::Unit u) |
QString | unitName () const |
void | setTemplateType (const QString &_templateType) |
QString | templateType () const |
virtual bool | showEmbedInitDialog (QWidget *parent) |
Static Public Member Functions | |
static QCString | readNativeFormatMimeType (KInstance *instance=0) |
static QStringList | readExtraNativeMimeTypes (KInstance *instance=0) |
static KService::Ptr | readNativeService (KInstance *instance=0) |
static void | setupXmlReader (QXmlSimpleReader &reader, bool namespaceProcessing=false) |
static KoXmlWriter * | createOasisXmlWriter (QIODevice *dev, const char *rootElementName) |
static QDomDocument | createDomDocument (const QString &appName, const QString &tagName, const QString &version) |
static QString | tagNameToDocumentType (const QString &localName) |
static int | defaultAutoSave () |
static QPtrList< KoDocument > * | documentList () |
Protected Slots | |
virtual void | openExistingFile (const QString &file) |
virtual void | openTemplate (const QString &file) |
void | deleteOpenPaneDelayed () |
Protected Member Functions | |
QString | autoSaveFile (const QString &path) const |
virtual KoView * | createViewInstance (QWidget *parent, const char *name)=0 |
virtual bool | openFile () |
virtual bool | saveFile () |
virtual QWidget * | createCustomDocumentWidget (QWidget *parent) |
virtual bool | loadChildren (KoStore *) |
virtual bool | saveChildren (KoStore *store) |
virtual bool | saveChildrenOasis (KoStore *store, KoXmlWriter *manifestWriter) |
virtual bool | completeLoading (KoStore *store) |
virtual bool | completeSaving (KoStore *store) |
virtual void | insertChild (KoDocumentChild *child) |
virtual void | setModified () |
virtual void | insertChild (QObject *o) |
virtual bool | saveExternalChildren () |
bool | isImporting () const |
bool | isExporting () const |
KoOpenPane * | createOpenPane (QWidget *parent, KInstance *instance, const QString &templateType=QString::null) |
Protected Attributes | |
KoPageLayout | m_pageLayout |
Properties | |
QCString | dcopObjectId [] |
bool | backupFile [] |
Member Enumeration Documentation
anonymous enum |
Enum values used by specialOutputFlag - note that it's a bitfield for supportedSpecialFormats.
Definition at line 239 of file KoDocument.h.
This setting indicates who is calling initDoc.
Usually the app will want to
- show the template dialog with 'everything' if InitDocAppStarting, InitDocFileClose or InitDocEmbedded
- show the template dialog with 'templates only' if InitDocFileNew
- create an empty document with default settings if InitDocEmpty
Definition at line 455 of file KoDocument.h.
Constructor & Destructor Documentation
KoDocument::KoDocument | ( | QWidget * | parentWidget, | |
const char * | widgetName, | |||
QObject * | parent, | |||
const char * | name, | |||
bool | singleViewMode = false | |||
) |
Constructor.
The first 4 arguments are the same as the ones passed to KParts::Factory::createPart.
- Parameters:
-
parentWidget the parent widget, in case we create a wrapper widget (in single view mode). Usually the first argument passed by KParts::Factory::createPart. widgetName name of the widget. parent may be another KoDocument, or anything else. Usually the third argument of KParts::Factory::createPart. name is used to identify this document via DCOP so you may want to pass a meaningful name here which matches the pattern [A-Za-z_][A-Za-z_0-9]*. singleViewMode determines whether the document may only have one view. In this case the parent
must be a QWidget derived class. KoDocument will then create a wrapper widget (KoViewWrapperWidget) which is a child ofparentWidget
. This widget can be retrieved by calling widget().
- Todo:
- explain what the purpose of widgetName is.
Definition at line 225 of file KoDocument.cpp.
KoDocument::~KoDocument | ( | ) | [virtual] |
Destructor.
The destructor does not delete any attached KoView objects and it does not delete the attached widget as returned by widget().
Definition at line 270 of file KoDocument.cpp.
Member Function Documentation
bool KoDocument::isSingleViewMode | ( | ) | const |
Tells whether this document is in singleview mode.
This mode can only be set in the constructor.
Definition at line 305 of file KoDocument.cpp.
bool KoDocument::isEmbedded | ( | ) | const |
KAction * KoDocument::action | ( | const QDomElement & | element | ) | const [virtual] |
Returns the action described action object.
In fact only the "name" attribute of element
is of interest here. The method searches first in the KActionCollection of the first view and then in the KActionCollection of this document. This allows KOffice applications to define actions in both the view and the document. They should only define view-actions (like zooming and stuff) in the view. Every action which changes the document should be defined in the document.
Please notice that KoDocument indirectly inherits KXMLGUIClient.
Reimplemented from KXMLGUIClient.
Definition at line 560 of file KoDocument.cpp.
QDomDocument KoDocument::domDocument | ( | ) | const [virtual] |
Returns the DOM document which describes the GUI of the first view.
Reimplemented from KXMLGUIClient.
Definition at line 575 of file KoDocument.cpp.
bool KoDocument::openURL | ( | const KURL & | url | ) | [virtual] |
Reimplemented from KParts::ReadWritePart for internal reasons (for the autosave functionality).
Reimplemented from KParts::ReadOnlyPart.
Definition at line 1344 of file KoDocument.cpp.
bool KoDocument::import | ( | const KURL & | url | ) |
Opens the document given by url
, without storing the URL in the KoDocument.
Call this instead of openURL() to implement KoMainWindow's File --> Import feature.
- Note:
- This will call openURL(). To differentiate this from an ordinary Open operation (in any reimplementation of openURL() or openFile()) call isImporting().
Definition at line 1320 of file KoDocument.cpp.
bool KoDocument::exp0rt | ( | const KURL & | url | ) |
Saves the document as url
without changing the state of the KoDocument (URL, modified flag etc.
). Call this instead of KParts::ReadWritePart::saveAs() to implement KoMainWindow's File --> Export feature.
- Note:
- This will call KoDocument::saveAs(). To differentiate this from an ordinary Save operation (in any reimplementation of saveFile()) call isExporting().
Definition at line 322 of file KoDocument.cpp.
void KoDocument::setReadWrite | ( | bool | readwrite = true |
) | [virtual] |
Sets whether the document can be edited or is read only.
This recursively applied to all child documents and KoView::updateReadWrite is called for every attached view.
Reimplemented from KParts::ReadWritePart.
Definition at line 601 of file KoDocument.cpp.
QCString KoDocument::readNativeFormatMimeType | ( | KInstance * | instance = 0 |
) | [static] |
Used by KoApplication, and by KoMainWindow, when no document exists yet.
With the help of instance
or KApplication::instance() this method figures out which .desktop file matches this application. In this file it searches for the "X-KDE-NativeMimeType" entry and returns it.
- See also:
- KService
KDesktopFile
Definition at line 2244 of file KoDocument.cpp.
QStringList KoDocument::readExtraNativeMimeTypes | ( | KInstance * | instance = 0 |
) | [static] |
Used by KoMainWindow, when no document exists yet.
With the help of instance
or KApplication::instance() this method figures out which .desktop file matches this application. In this file it searches for the "X-KDE-ExtraNativeMimeTypes" entry and returns it.
- See also:
- KService
KDesktopFile
Definition at line 2265 of file KoDocument.cpp.
KService::Ptr KoDocument::readNativeService | ( | KInstance * | instance = 0 |
) | [static] |
With the help of instance
or KApplication::instance() this method figures out which .desktop file matches this application, and returns the KService instance for it.
Definition at line 2220 of file KoDocument.cpp.
void KoDocument::setupXmlReader | ( | QXmlSimpleReader & | reader, | |
bool | namespaceProcessing = false | |||
) | [static] |
setup the XML reader, so that we don't have to duplicate the code.
Definition at line 2273 of file KoDocument.cpp.
QCString KoDocument::nativeFormatMimeType | ( | ) | const [virtual] |
To be preferred when a document exists.
It is fast when calling it multiple times since it caches the result that readNativeFormatMimeType() delivers. This comes from the X-KDE-NativeMimeType key in the .desktop file You do NOT have to reimplement this (it is only virtual for kounavail).
Definition at line 2194 of file KoDocument.cpp.
QCString KoDocument::nativeOasisMimeType | ( | ) | const |
Returns the OASIS OpenDocument mimetype of the document, if supported This comes from the X-KDE-NativeOasisMimeType key in the .desktop file.
Definition at line 2210 of file KoDocument.cpp.
bool KoDocument::isNativeFormat | ( | const QCString & | mimetype | ) | const |
Checks whether a given mimetype can be handled natively.
Definition at line 2289 of file KoDocument.cpp.
QStringList KoDocument::extraNativeMimeTypes | ( | ) | const [virtual] |
Returns a list of the mimetypes considered "native", i.e.
which can be saved by KoDocument without a filter, in *addition* to the main one
Definition at line 2296 of file KoDocument.cpp.
int KoDocument::supportedSpecialFormats | ( | ) | const [virtual] |
Return the set of SupportedSpecialFormats that the application wants to offer in the "Save" file dialog.
Definition at line 2308 of file KoDocument.cpp.
QCString KoDocument::mimeType | ( | ) | const |
void KoDocument::setMimeType | ( | const QCString & | mimeType | ) |
Sets the mime type for the document.
When choosing "save as" this is also the mime type selected by default.
Definition at line 476 of file KoDocument.cpp.
void KoDocument::setOutputMimeType | ( | const QCString & | mimeType, | |
int | specialOutputFlag = 0 | |||
) |
Set the format in which the document should be saved.
This is called on loading, and in "save as", so you shouldn't have to call it.
- Parameters:
-
mimeType the mime type (format) to use. specialOutputFlag is for "save as older version" etc.
Definition at line 481 of file KoDocument.cpp.
bool KoDocument::confirmNonNativeSave | ( | const bool | exporting | ) | const |
Returns true if this document was the result of opening a foreign file format and if the user hasn't yet saved the document (in any format).
Used by KoMainWindow to warn the user when s/he lazily presses CTRL+S to save in the same foreign format, putting all his/her formatting at risk (normally an export confirmation only comes up with Save As).
- Parameters:
-
exporting specifies whether this is the setting for a File --> Export or File --> Save/Save As operation.
Definition at line 497 of file KoDocument.cpp.
void KoDocument::setErrorMessage | ( | const QString & | errMsg | ) |
Sets the error message to be shown to the user (use i18n()!) when loading or saving fails.
If you asked the user about something and he chose "Cancel", set the message to the magic string "USER_CANCELED", to skip the error dialog.
Definition at line 2353 of file KoDocument.cpp.
QString KoDocument::errorMessage | ( | ) | const |
Return the last error message.
Usually KoDocument takes care of showing it; this method is mostly provided for non-interactive use.
- Since:
- 1.4
Definition at line 2358 of file KoDocument.cpp.
void KoDocument::showSavingErrorDialog | ( | ) |
Show the last error message in a message box.
The dialog box will mention a saving problem. Note that save/saveFile takes care of doing it.
- Since:
- 1.4
Definition at line 2363 of file KoDocument.cpp.
void KoDocument::showLoadingErrorDialog | ( | ) |
Show the last error message in a message box.
The dialog box will mention a loading problem. openURL/openFile takes care of doing it, but not loadNativeFormat itself, so this is often called after loadNativeFormat returned false.
- Since:
- 1.4
Definition at line 2375 of file KoDocument.cpp.
KoView * KoDocument::createView | ( | QWidget * | parent = 0 , |
|
const char * | name = 0 | |||
) |
void KoDocument::addView | ( | KoView * | view | ) | [virtual] |
Adds a view to the document.
This calls KoView::updateReadWrite to tell the new view whether the document is readonly or not.
Definition at line 626 of file KoDocument.cpp.
void KoDocument::removeView | ( | KoView * | view | ) | [virtual] |
const QPtrList< KoView > & KoDocument::views | ( | ) | const |
- Returns:
- a list of views this document is displayed in
Definition at line 640 of file KoDocument.cpp.
int KoDocument::viewCount | ( | ) | const |
- Returns:
- number of views this document is displayed in
Definition at line 645 of file KoDocument.cpp.
KParts::Part * KoDocument::hitTest | ( | QWidget * | widget, | |
const QPoint & | globalPos | |||
) | [virtual] |
Reimplemented from KParts::Part.
Reimplemented from KParts::Part.
Definition at line 692 of file KoDocument.cpp.
KoDocument * KoDocument::hitTest | ( | const QPoint & | pos, | |
const QWMatrix & | matrix = QWMatrix() | |||
) | [virtual] |
Find the most nested child document which contains the requested point.
The point is in the coordinate system of this part. If no child document contains this point, then a pointer to this document is returned.
This function has to be overloaded if the document features child documents.
- Parameters:
-
pos is in (unzoomed) document coordinates matrix transforms points from the documents coordinate system to the coordinate system of the requested point. This is used by transformed child documents, see KoDocumentChild/KoChild.
- Returns:
- Pointer to the document under the mouse at that position
Definition at line 718 of file KoDocument.cpp.
KoView * KoDocument::hitTestView | ( | ) |
Temporary API for accessing the view that calls hitTest.
Will be passed to hitTest() in 2.x. Only call this from within hitTest()!
Definition at line 713 of file KoDocument.cpp.
void KoDocument::paintEverything | ( | QPainter & | painter, | |
const QRect & | rect, | |||
bool | transparent = false , |
|||
KoView * | view = 0L , |
|||
double | zoomX = 1.0 , |
|||
double | zoomY = 1.0 | |||
) | [virtual] |
Paints the whole document into the given painter object.
- Parameters:
-
painter The painter object onto which will be drawn. rect The rect that should be used in the painter object. transparent If true then the entire rectangle is erased before painting. view The KoView is needed to fiddle about with the active widget, when painting children. zoomX The zoom value to be applied to X coordinates when painting. zoomY The zoom value to be applied to Y coordinates when painting.
Definition at line 781 of file KoDocument.cpp.
QPixmap KoDocument::generatePreview | ( | const QSize & | size | ) | [virtual] |
Generates a preview picture of the document.
- Note:
- The preview is used in the File Dialog and also to create the Thumbnail
Definition at line 1215 of file KoDocument.cpp.
void KoDocument::paintChildren | ( | QPainter & | painter, | |
const QRect & | rect, | |||
KoView * | view, | |||
double | zoomX = 1.0 , |
|||
double | zoomY = 1.0 | |||
) | [virtual] |
Paints all of the documents children into the given painter object.
- Parameters:
-
painter The painter object onto which will be drawn. rect The rect that should be used in the painter object. view The KoView is needed to fiddle about with the active widget. zoomX The zoom value to be applied to X coordinates when painting. zoomY The zoom value to be applied to Y coordinates when painting.
- See also:
- paintChild paintEverything paintContent
Definition at line 787 of file KoDocument.cpp.
void KoDocument::paintChild | ( | KoDocumentChild * | child, | |
QPainter & | painter, | |||
KoView * | view, | |||
double | zoomX = 1.0 , |
|||
double | zoomY = 1.0 | |||
) | [virtual] |
Paint a given child.
Normally called by paintChildren().
- Parameters:
-
child The child to be painted. painter The painter object onto which will be drawn. view The KoView is needed to fiddle about with the active widget. zoomX The zoom value to be applied to X coordinates when painting. zoomY The zoom value to be applied to Y coordinates when painting.
- See also:
- paintEverything paintChildren paintContent
Definition at line 799 of file KoDocument.cpp.
virtual void KoDocument::paintContent | ( | QPainter & | painter, | |
const QRect & | rect, | |||
bool | transparent = false , |
|||
double | zoomX = 1.0 , |
|||
double | zoomY = 1.0 | |||
) | [pure virtual] |
Paints the data itself.
Normally called by paintEverything(). It does not paint the children. It's this method that KOffice Parts have to implement.
- Parameters:
-
painter The painter object onto which will be drawn. rect The rect that should be used in the painter object. transparent If false the implementing method should fill the background. zoomX The zoom value to be applied to X coordinates when painting. zoomY The zoom value to be applied to Y coordinates when painting.
- See also:
- paintEverything
bool KoDocument::checkAutoSaveFile | ( | ) |
Called by koApplication to check for an autosave file in $HOME.
Definition at line 1290 of file KoDocument.cpp.
virtual bool KoDocument::initDoc | ( | InitDocFlags | flags, | |
QWidget * | parentWidget = 0 | |||
) | [pure virtual] |
Initializes an empty document (display the template dialog!).
You have to overload this method to initialize all your document variables.
- Parameters:
-
flags see InitDocFlags parentWidget the widget this document belongs with
void KoDocument::showStartUpWidget | ( | KoMainWindow * | parent, | |
bool | alwaysShow = false | |||
) | [virtual] |
Creates and shows the start up widget.
- Parameters:
-
parent the KoMainWindow used as parent for the widget. alwaysShow always show the widget even if the user has configured it to not show.
- Since:
- 1.5
Definition at line 2545 of file KoDocument.cpp.
void KoDocument::setModified | ( | bool | _mod | ) | [virtual] |
Sets the modified flag on the document.
This means that it has to be saved or not before deleting it.
Reimplemented from KParts::ReadWritePart.
Definition at line 1947 of file KoDocument.cpp.
void KoDocument::setTitleModified | ( | ) | [virtual] |
Tells the document that its title has been modified, either because the modified status changes (this is done by setModified() ) or because the URL or the document-info's title changed.
Definition at line 2075 of file KoDocument.cpp.
virtual bool KoDocument::isEmpty | ( | ) | const [inline, virtual] |
virtual void KoDocument::setEmpty | ( | ) | [inline, virtual] |
Sets the document to empty.
Used after loading a template (which is not empty, but not the user's input).
- See also:
- isEmpty()
Definition at line 499 of file KoDocument.h.
bool KoDocument::loadFromStore | ( | KoStore * | store, | |
const QString & | url | |||
) | [virtual] |
Loads a document from a store.
You should never have to reimplement.
- Parameters:
-
store The store to load from url An internal url, like tar:/1/2
Definition at line 1841 of file KoDocument.cpp.
bool KoDocument::loadOasisFromStore | ( | KoStore * | store | ) | [virtual] |
Loads an OASIS document from a store.
This is used for both the main document and embedded objects.
Definition at line 1882 of file KoDocument.cpp.
bool KoDocument::saveToStore | ( | KoStore * | store, | |
const QString & | path | |||
) | [virtual] |
Saves a document to a store.
You should not have to reimplement this - but call it in saveChildren().
Definition at line 1139 of file KoDocument.cpp.
virtual bool KoDocument::loadXML | ( | QIODevice * | , | |
const QDomDocument & | doc | |||
) | [pure virtual] |
Reimplement this method to load the contents of your KOffice document, from the XML document.
This is for the pre-Oasis file format (maindoc.xml).
You are supposed to use the QDomDocument. The QIODevice is provided only for the cases where some pre-processing is needed, like kpresenter's kprconverter. Note that the QIODevice could be 0L, when called from an import filter.
virtual bool KoDocument::loadOasis | ( | const QDomDocument & | doc, | |
KoOasisStyles & | oasisStyles, | |||
const QDomDocument & | settings, | |||
KoStore * | store | |||
) | [pure virtual] |
Reimplement this method to load the contents of your KOffice document, from the XML document ("content.xml").
The styles have been parsed already, you can find them in the oasisStyles parameter. The store can be used to load images and embedded documents.
virtual bool KoDocument::saveOasis | ( | KoStore * | store, | |
KoXmlWriter * | manifestWriter | |||
) | [pure virtual] |
Reimplement this method to save the contents of your KOffice document, using the OASIS format.
QDomDocument KoDocument::saveXML | ( | ) | [virtual] |
Reimplement this to save the contents of the KOffice document into a QDomDocument.
The framework takes care of saving it to the store.
Definition at line 2179 of file KoDocument.cpp.
QDomDocument KoDocument::createDomDocument | ( | const QString & | tagName, | |
const QString & | version | |||
) | const |
Return a correctly created QDomDocument for this KoDocument, including processing instruction, complete DOCTYPE tag (with systemId and publicId), and root element.
- Parameters:
-
tagName the name of the tag for the root element version the DTD version (usually the application's version).
- Deprecated:
- use createOasisXmlWriter instead
Definition at line 2127 of file KoDocument.cpp.
KoXmlWriter * KoDocument::createOasisXmlWriter | ( | QIODevice * | dev, | |
const char * | rootElementName | |||
) | [static] |
Return an XML writer for saving Oasis XML into the device dev
, including the XML processing instruction, and the root element with all its namespaces.
You can add more namespaces afterwards with addAttribute.
- Parameters:
-
dev the device into which the XML will be written. rootElementName the tag name of the root element. This is either office:document, office:document-content, office:document-styles, office:document-meta or office:document-settings
- Returns:
- the KoXmlWriter instance. It becomes owned by the caller, which must delete it at some point.
- Note:
- OASIS-specific
Definition at line 2147 of file KoDocument.cpp.
QDomDocument KoDocument::createDomDocument | ( | const QString & | appName, | |
const QString & | tagName, | |||
const QString & | version | |||
) | [static] |
Return a correctly created QDomDocument for an old (1.3-style) KOffice document, including processing instruction, complete DOCTYPE tag (with systemId and publicId), and root element.
This static method can be used e.g. by filters.
- Parameters:
-
appName the app's instance name, e.g. kword, kspread, kpresenter etc. tagName the name of the tag for the root element, e.g. DOC for kword/kpresenter. version the DTD version (usually the application's version).
Definition at line 2133 of file KoDocument.cpp.
QString KoDocument::tagNameToDocumentType | ( | const QString & | localName | ) | [static] |
The first thing to do in loadOasis is get hold of the office:body tag, then its child.
If the child isn't the expected one, the error message can indicate what it is instead. This method returns a translated name for the type of document, e.g. i18n("Word Processing") for office:text.
Definition at line 2508 of file KoDocument.cpp.
bool KoDocument::saveToStream | ( | QIODevice * | dev | ) | [virtual] |
Save the document.
The default implementation is to call saveXML(). This method exists only for applications that don't use QDomDocument for saving, i.e. kword and kpresenter.
Definition at line 1125 of file KoDocument.cpp.
bool KoDocument::loadNativeFormat | ( | const QString & | file | ) | [virtual] |
Loads a document in the native format from a given URL.
Reimplement if your native format isn't XML.
- Parameters:
-
file the file to load - usually KReadOnlyPart::m_file or the result of a filter
Definition at line 1648 of file KoDocument.cpp.
bool KoDocument::saveNativeFormat | ( | const QString & | file | ) | [virtual] |
Saves the document in native format, to a given file You should never have to reimplement.
Made public for writing templates.
Definition at line 951 of file KoDocument.cpp.
void KoDocument::setAutoSave | ( | int | delay | ) |
Activate/deactivate/configure the autosave feature.
- Parameters:
-
delay in seconds, 0 to disable
Definition at line 617 of file KoDocument.cpp.
bool KoDocument::isAutosaving | ( | ) | const |
Checks whether the document is currently in the process of autosaving.
Definition at line 2387 of file KoDocument.cpp.
void KoDocument::setCheckAutoSaveFile | ( | bool | b | ) |
Set whether the next openURL call should check for an auto-saved file and offer to open it.
This is usually true, but can be turned off (e.g. for the preview module).
Definition at line 524 of file KoDocument.cpp.
void KoDocument::setAutoErrorHandlingEnabled | ( | bool | b | ) |
Set whether the next openURL call should show error message boxes in case of errors.
This is usually the case, but e.g. not when generating thumbnail previews.
Definition at line 529 of file KoDocument.cpp.
bool KoDocument::isAutoErrorHandlingEnabled | ( | ) | const |
Checks whether error message boxes should be shown.
- Since:
- 1.3.1
Definition at line 534 of file KoDocument.cpp.
static int KoDocument::defaultAutoSave | ( | ) | [inline, static] |
Retrieve the default value for autosave in seconds.
Called by the applications to use the correct default in their config
Definition at line 658 of file KoDocument.h.
const QPtrList< KoDocumentChild > & KoDocument::children | ( | ) | const |
- Returns:
- the list of all children.
Do not modify the returned list.
Definition at line 687 of file KoDocument.cpp.
KoDocumentChild * KoDocument::child | ( | KoDocument * | doc | ) |
- Returns:
- the KoDocumentChild associated with the given Document, but only if
doc
is a direct child of this document.
This is a convenience function. You could get the same result by traversing the list returned by children().
Definition at line 733 of file KoDocument.cpp.
KoDocumentInfo * KoDocument::documentInfo | ( | ) | const |
- Returns:
- the information concerning this document.
- See also:
- KoDocumentInfo
Definition at line 743 of file KoDocument.cpp.
void KoDocument::addShell | ( | KoMainWindow * | shell | ) | [virtual] |
Appends the shell to the list of shells which show this document as their root document.
This method is automatically called from KoMainWindow::setRootDocument, so you dont need to call it.
Definition at line 2316 of file KoDocument.cpp.
void KoDocument::removeShell | ( | KoMainWindow * | shell | ) | [virtual] |
Removes the shell from the list.
That happens automatically if the shell changes its root document. Usually you dont need to call this method.
Definition at line 2325 of file KoDocument.cpp.
const QPtrList< KoMainWindow > & KoDocument::shells | ( | ) | const |
int KoDocument::shellCount | ( | ) | const |
static QPtrList<KoDocument>* KoDocument::documentList | ( | ) | [inline, static] |
DCOPObject * KoDocument::dcopObject | ( | ) | [virtual] |
Return a DCOP interface for this document.
KOffice parts are strongly recommended to reimplement this method, so that their DCOP interface provides more functionality than the basic KoDocumentIface
Definition at line 2341 of file KoDocument.cpp.
QCString KoDocument::dcopObjectId | ( | ) | const |
- Returns:
- the ID of the DCOP interface for this document.
void KoDocument::emitProgress | ( | int | value | ) | [inline] |
Signal the progress of operations such as loading or saving.
Definition at line 730 of file KoDocument.h.
bool KoDocument::isStoredExtern | ( | ) | const [virtual] |
Return true if url() is a real filename, false if url() is an internal url in the store, like "tar:/...".
Definition at line 1942 of file KoDocument.cpp.
KoPageLayout KoDocument::pageLayout | ( | int | pageNumber = 0 |
) | const [virtual] |
- Returns:
- the page layout associated with this document (margins, pageSize, etc).
Override this if you want to provide different sized pages.
- See also:
- KoPageLayout
Definition at line 2521 of file KoDocument.cpp.
void KoDocument::removeAutoSaveFiles | ( | ) |
bool KoDocument::isModified | ( | ) | const |
Returns true if this document or any of its internal child documents are modified.
Reimplemented from KParts::ReadWritePart.
Definition at line 859 of file KoDocument.cpp.
bool KoDocument::isLoading | ( | ) | const |
Returns true during loading (openURL can be asynchronous).
Definition at line 2392 of file KoDocument.cpp.
void KoDocument::setDoNotSaveExtDoc | ( | bool | on = true |
) |
Set when we do not want to save external children when saving our 'main' doc.
This makes it possible to save 'main' doc + all its internal children first, then go on to save external children. Typically used by query close. Use:
doc->setDoNotSaveExtDoc(); doc->save(); // saves doc and its internal children, //also calls saveExternalChildren() which sets setDoNotSaveExtDoc(false) doc->saveExternalChildren();
Definition at line 1984 of file KoDocument.cpp.
void KoDocument::setBackupPath | ( | const QString & | _path | ) |
QString KoDocument::backupPath | ( | ) | const |
void KoDocument::setCurrent | ( | bool | on = true |
) |
Indicates that this document is currently viewed and thus should control the title caption.
Also resets current flag for all parents.
Definition at line 2429 of file KoDocument.cpp.
void KoDocument::forceCurrent | ( | bool | on | ) |
Sets current flag for this document and all its parents.
Definition at line 2456 of file KoDocument.cpp.
void KoDocument::resetURL | ( | ) | [inline] |
Sets the document URL to empty URL KParts doesn't allow this, but KOffice apps have e.g.
templates After using loadNativeFormat on a template, one wants to set the url to KURL()
Definition at line 818 of file KoDocument.h.
void KoDocument::setStoreInternal | ( | bool | i | ) |
Set when you want an external embedded document to be stored internally.
Definition at line 2477 of file KoDocument.cpp.
bool KoDocument::storeInternal | ( | ) | const |
- Returns:
- true when external embedded documents are stored internally
Definition at line 2472 of file KoDocument.cpp.
void KoDocument::setURL | ( | const KURL & | url | ) | [inline] |
Sets the document URL to url
KParts doesn't really allow this, but it is needed for undo of setStoreInternal().
Definition at line 836 of file KoDocument.h.
QString& KoDocument::file | ( | ) | [inline] |
_Only_ use these functions to restore m_file (in KoMainWindow) after a failed save (remember to use setURL() to restore the URL as well).
- Warning:
- Do _not_ use these functions for any other purpose.
Definition at line 846 of file KoDocument.h.
void KoDocument::setFile | ( | const QString & | file | ) | [inline] |
_Only_ use these functions to restore m_file (in KoMainWindow) after a failed save (remember to use setURL() to restore the URL as well).
- Warning:
- Do _not_ use these functions for any other purpose.
Definition at line 856 of file KoDocument.h.
virtual int KoDocument::pageCount | ( | ) | const [inline, virtual] |
QValueList< KoTextDocument * > KoDocument::allTextDocuments | ( | ) | const [virtual] |
- Returns:
- all kotext-based text objects in the document This is used by some text-analyzer plugins.
- Since:
- 1.5
Definition at line 2516 of file KoDocument.cpp.
KoUnit::Unit KoDocument::unit | ( | ) | const |
Returns the unit used to display all measures/distances.
- Since:
- 1.5
Definition at line 2526 of file KoDocument.cpp.
void KoDocument::setUnit | ( | KoUnit::Unit | u | ) |
Sets the unit used to display all measures/distances.
- Since:
- 1.5
Definition at line 2531 of file KoDocument.cpp.
QString KoDocument::unitName | ( | ) | const |
Returns the name of the unit used to display all measures/distances.
Use this method for displaying it in the user interface, but use unit() for everything else (conversions etc.)
- Since:
- 1.5
Definition at line 2540 of file KoDocument.cpp.
void KoDocument::setTemplateType | ( | const QString & | _templateType | ) |
Set the template type used.
This is used by the start up widget to show the correct templates.
- Since:
- 1.5
Definition at line 2622 of file KoDocument.cpp.
QString KoDocument::templateType | ( | ) | const |
Template type used.
This is used by the start up widget to show the correct templates.
- Since:
- 1.5
Definition at line 2627 of file KoDocument.cpp.
bool KoDocument::showEmbedInitDialog | ( | QWidget * | parent | ) | [virtual] |
Shows the init dialog when embeding.
- Parameters:
-
parent the parent widget
- Since:
- 1.5
Definition at line 2655 of file KoDocument.cpp.
void KoDocument::initEmpty | ( | ) | [virtual, slot] |
Initialize an empty document using default values.
- Since:
- 1.5
Definition at line 2593 of file KoDocument.cpp.
void KoDocument::unitChanged | ( | KoUnit::Unit | ) | [signal] |
This signal is emitted when the unit is changed by setUnit() It is common to connect views to it, in order to change the displayed units (e.g.
in the rulers)
void KoDocument::childChanged | ( | KoDocumentChild * | child | ) | [signal] |
This signal is emitted when a direct or indirect child document changes and needs to be updated in all views.
If one of your child documents emits the childChanged signal, then you may usually just want to redraw this child. In this case you can ignore the parameter passed by the signal.
void KoDocument::sigProgress | ( | int | value | ) | [signal] |
Progress info while loading or saving.
The value is in percents (i.e. a number between 0 and 100) Your KoDocument-derived class should emit the signal now and then during load/save. KoMainWindow will take care of displaying a progress bar automatically.
void KoDocument::sigStatusBarMessage | ( | const QString & | text | ) | [signal] |
Emitted e.g.
at the beginning of a save operation This is emitted by KoDocument and used by KoView to display a statusbar message
void KoDocument::sigClearStatusBarMessage | ( | ) | [signal] |
Emitted e.g.
at the end of a save operation This is emitted by KoDocument and used by KoView to clear the statusbar message
void KoDocument::modified | ( | bool | ) | [signal] |
Emitted when the document is modified.
void KoDocument::openExistingFile | ( | const QString & | file | ) | [protected, virtual, slot] |
This slot loads an existing file and deletes the start up widget.
- Parameters:
-
file the file to load (including path)
- Since:
- 1.5
Definition at line 2568 of file KoDocument.cpp.
void KoDocument::openTemplate | ( | const QString & | file | ) | [protected, virtual, slot] |
This slot loads a template and deletes the start up widget.
- Parameters:
-
file the template to load
- Since:
- 1.5
Definition at line 2578 of file KoDocument.cpp.
bool KoDocument::openFile | ( | ) | [protected, virtual] |
Loads a document from KReadOnlyPart::m_file (KParts takes care of downloading remote documents).
Applies a filter if necessary, and calls loadNativeFormat in any case You should not have to reimplement, except for very special cases.
This method is called from the KReadOnlyPart::openURL method.
Implements KParts::ReadOnlyPart.
Definition at line 1403 of file KoDocument.cpp.
bool KoDocument::saveFile | ( | ) | [protected, virtual] |
Saves a document to KReadOnlyPart::m_file (KParts takes care of uploading remote documents) Applies a filter if necessary, and calls saveNativeFormat in any case You should not have to reimplement, except for very special cases.
Implements KParts::ReadWritePart.
Definition at line 372 of file KoDocument.cpp.
QWidget * KoDocument::createCustomDocumentWidget | ( | QWidget * | parent | ) | [protected, virtual] |
Override this method in your derived class to show a widget in the startup 'dialog'.
This widget should allow the user to set settings for a custom document (i.e. one not based on a template). The returned widget should provide its own button (preferrably 'Create') and implement the logic to implement the document instance correctly. After initializing the widget should emit a signal called 'documentSelected()' which will remove the startupWidget and show the document.
- Parameters:
-
parent the parent of the to be created widget.
Definition at line 2651 of file KoDocument.cpp.
bool KoDocument::loadChildren | ( | KoStore * | ) | [protected, virtual] |
OLD XML method.
For OASIS just call KoDocumentChild::loadOasisDocument after KoDocumentChild::loadOasis.
You need to overload this function if your document may contain embedded documents. This function is called to load embedded documents.
An example implementation may look like this:
QPtrListIterator<KoDocumentChild> it( children() ); for( ; it.current(); ++it ) { if ( !it.current()->loadDocument( _store ) ) { return false; } } return true;
Definition at line 2112 of file KoDocument.cpp.
bool KoDocument::saveChildren | ( | KoStore * | store | ) | [protected, virtual] |
Saves all internal children (only!).
- See also:
- saveExternalChildren if you have external children. Returns true on success.
Definition at line 877 of file KoDocument.cpp.
bool KoDocument::saveChildrenOasis | ( | KoStore * | store, | |
KoXmlWriter * | manifestWriter | |||
) | [protected, virtual] |
Saves all internal children (only!), to the store, using the OASIS format.
This is called automatically during saveNativeFormat.
- See also:
- saveExternalChildren if you have external children. Returns true on success.
Definition at line 901 of file KoDocument.cpp.
bool KoDocument::completeLoading | ( | KoStore * | store | ) | [protected, virtual] |
Overload this function if you have to load additional files from a store.
This function is called after loadXML() and after loadChildren() have been called.
Definition at line 2117 of file KoDocument.cpp.
bool KoDocument::completeSaving | ( | KoStore * | store | ) | [protected, virtual] |
If you want to write additional files to a store, then you must do it here.
In the implementation, you should prepend the document url (using url().url()) before the filename, so that everything is kept relative to this document. For instance it will produce urls such as tar:/1/pictures/picture0.png, if the doc url is tar:/1 But do this ONLY if the document is not stored extern (see isStoredExtern() ). If it is, then the pictures should be saved to tar:/pictures.
Definition at line 2122 of file KoDocument.cpp.
void KoDocument::insertChild | ( | KoDocumentChild * | child | ) | [protected, virtual] |
Inserts the new child in the list of children and emits the childChanged() signal.
At the same time this method marks this document as modified.
To remove a child, just delete it. KoDocument will detect this and remove the child from its lists.
- See also:
- isModified
Definition at line 650 of file KoDocument.cpp.
bool KoDocument::saveExternalChildren | ( | ) | [protected, virtual] |
Saves all externally stored children.
Returns true on success.
- See also:
- saveChildren for internal children
Definition at line 918 of file KoDocument.cpp.
bool KoDocument::isImporting | ( | ) | const [protected] |
Returns whether or not the current openURL() or openFile() call is actually an import operation (like File --> Import).
This is for informational purposes only.
Definition at line 514 of file KoDocument.cpp.
bool KoDocument::isExporting | ( | ) | const [protected] |
Returns whether or not the current saveFile() call is actually an export operation (like File --> Export).
If this function returns true during saveFile() and you are changing some sort of state, you _must_ restore it before the end of saveFile(); otherwise, File --> Export will not work properly.
Definition at line 519 of file KoDocument.cpp.
KoOpenPane * KoDocument::createOpenPane | ( | QWidget * | parent, | |
KInstance * | instance, | |||
const QString & | templateType = QString::null | |||
) | [protected] |
Creates the open widget showed at application start up.
- Parameters:
-
parent the parent widget instance the KInstance to be used for KConfig data templateType the template-type (group) that should be selected on creation.
- Since:
- 1.5
Definition at line 2603 of file KoDocument.cpp.
The documentation for this class was generated from the following files: