summaryrefslogtreecommitdiffstats
path: root/lib/kofficecore/KoDocumentIface.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kofficecore/KoDocumentIface.h')
-rw-r--r--lib/kofficecore/KoDocumentIface.h157
1 files changed, 157 insertions, 0 deletions
diff --git a/lib/kofficecore/KoDocumentIface.h b/lib/kofficecore/KoDocumentIface.h
new file mode 100644
index 00000000..2713cb43
--- /dev/null
+++ b/lib/kofficecore/KoDocumentIface.h
@@ -0,0 +1,157 @@
+/* This file is part of the KDE project
+ Copyright (C) 2000 David Faure <faure@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+*/
+
+#ifndef __KoDocumentIface_h__
+#define __KoDocumentIface_h__
+
+#include <dcopobject.h>
+#include <qvaluelist.h>
+#include <dcopref.h>
+#include <koffice_export.h>
+class KoDocument;
+class KDCOPActionProxy;
+
+/**
+ * DCOP interface for any KOffice document
+ * Use KoApplicationIface to get hold of an existing document's interface,
+ * or to create a document.
+ *
+ * Note: KOffice Applications may (and should) reimplement KoDocument::dcopObject()
+ * In this case, don't look here... (unless the DCOP interface for the document
+ * inherits KoDocumentIface, which is a good thing to do)
+ */
+class KOFFICECORE_EXPORT KoDocumentIface : public DCOPObject
+{
+ K_DCOP
+public:
+
+ KoDocumentIface( KoDocument * doc, const char * name = 0 );
+ ~KoDocumentIface();
+
+ /**
+ * Generate a name for this interface. Automatically used if name=0 is
+ * passed to the constructor
+ */
+ static QCString newIfaceName();
+
+k_dcop:
+ /**
+ * Returns the URL for this document (empty, real URL, or internal one)
+ */
+ QString url();
+
+ /**
+ * Opens a document stored in @p url
+ * Warning: this is asynchronous. The document might not be loaded yet when
+ * this call returns. See isLoading.
+ */
+ void openURL( QString url );
+
+ /**
+ * @return TRUE is the document is still loading
+ */
+ bool isLoading();
+
+ /**
+ * @return TRUE is the document has been modified
+ */
+ bool isModified();
+
+ /**
+ * @return the number of views this document is displayed in
+ */
+ int viewCount();
+
+ /**
+ * @return a DCOP reference (DCOPRef) to the view with index @p idx
+ */
+ DCOPRef view( int idx );
+
+ /**
+ * DCOP-action proxy
+ */
+ DCOPRef action( const QCString &name );
+ /**
+ * @return list of actions
+ */
+ QCStringList actions();
+ /**
+ * @return a map of (action name, DCOP reference)
+ */
+ QMap<QCString,DCOPRef> actionMap();
+
+ /**
+ * Saves the document under its existing filename
+ */
+ void save();
+
+ /**
+ * Saves the document under a new name
+ */
+ void saveAs( const QString & url );
+
+ void setOutputMimeType( const QCString & mimetype );
+
+ QString documentInfoAuthorName() const;
+ QString documentInfoEmail() const;
+ QString documentInfoCompanyName() const;
+ QString documentInfoTitle() const;
+ QString documentInfoAbstract() const;
+ QString documentInfoKeywords() const;
+ QString documentInfoSubject() const;
+ QString documentInfoTelephone() const;
+ QString documentInfoTelephoneWork() const;
+ QString documentInfoTelephoneHome() const;
+ QString documentInfoFax() const;
+ QString documentInfoCountry() const;
+ QString documentInfoPostalCode() const;
+ QString documentInfoCity() const;
+ QString documentInfoStreet() const;
+ QString documentInfoInitial() const;
+ QString documentInfoAuthorPostion() const;
+ void setDocumentInfoAuthorName(const QString & text);
+ void setDocumentInfoEmail(const QString &text);
+ void setDocumentInfoCompanyName(const QString &text);
+ void setDocumentInfoTelephone(const QString &text);
+ void setDocumentInfoTelephoneWork(const QString &text);
+ void setDocumentInfoTelephoneHome(const QString &text);
+ void setDocumentInfoFax(const QString &text);
+ void setDocumentInfoCountry(const QString &text);
+ void setDocumentInfoTitle(const QString & text);
+ void setDocumentInfoPostalCode(const QString &text);
+ void setDocumentInfoCity(const QString & text);
+ void setDocumentInfoStreet(const QString &text);
+ void setDocumentInfoAbstract(const QString &text);
+ void setDocumentInfoInitial(const QString & text);
+ void setDocumentInfoKeywords(const QString & text );
+ void setDocumentInfoSubject(const QString & text);
+ void setDocumentInfoAuthorPosition(const QString & text);
+
+public:
+ virtual QCStringList functionsDynamic();
+ virtual bool processDynamic( const QCString &fun, const QByteArray &data,
+ QCString& replyType, QByteArray &replyData );
+
+protected:
+ KoDocument * m_pDoc;
+ KDCOPActionProxy *m_actionProxy;
+};
+
+#endif
+