lib

KoDocument Class Reference

#include <KoDocument.h>

Inheritance diagram for KoDocument:

KParts::ReadWritePart KParts::ReadOnlyPart KParts::Part KParts::PartBase KXMLGUIClient

List of all members.


Detailed Description

The KOffice document class.

This class provides some functionality each KOffice document should have.

The KOffice document class

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 KActionaction (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 ()
KoViewcreateView (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::ParthitTest (QWidget *widget, const QPoint &globalPos)
virtual KoDocumenthitTest (const QPoint &pos, const QWMatrix &matrix=QWMatrix())
KoViewhitTestView ()
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
KoDocumentChildchild (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 DCOPObjectdcopObject ()
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 KoXmlWritercreateOasisXmlWriter (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 KoViewcreateViewInstance (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 of parentWidget. 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

Is the document embedded?

Definition at line 310 of file KoDocument.cpp.

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.

See also:
KXMLGUIClient

KXMLGUIClient::actionCollection

KoView::action

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

Returns the actual mimetype of the document.

Definition at line 471 of file KoDocument.cpp.

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 
)

Create a new view for the document.

Definition at line 315 of file KoDocument.cpp.

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]

Removes a view of the document.

Definition at line 635 of file KoDocument.cpp.

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]

Returns:
true if the document is empty.

Definition at line 489 of file KoDocument.h.

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.
Once done with writing the contents of the root element, you will need to call endElement(); endDocument(); before destroying the KoXmlWriter.
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

Returns:
the list of shells for the main window

Definition at line 2331 of file KoDocument.cpp.

int KoDocument::shellCount (  )  const

Returns:
the number of shells for the main window

Definition at line 2336 of file KoDocument.cpp.

static QPtrList<KoDocument>* KoDocument::documentList (  )  [inline, static]

Returns:
the list of all the currently opened documents

Definition at line 712 of file KoDocument.h.

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 (  ) 

Performs a cleanup of unneeded backup files.

Definition at line 2397 of file KoDocument.cpp.

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  ) 

Sets the backup path of the document.

Definition at line 2419 of file KoDocument.cpp.

QString KoDocument::backupPath (  )  const

Returns:
path to the backup document

Definition at line 2424 of file KoDocument.cpp.

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]

Returns:
returns the number of pages in the document.

Definition at line 866 of file KoDocument.h.

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:
KDE Home | KDE Accessibility Home | Description of Access Keys