katedocmanager.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __KATE_DOCMANAGER_H__
00021 #define __KATE_DOCMANAGER_H__
00022
00023 #include "katemain.h"
00024 #include "../interfaces/documentmanager.h"
00025
00026 #include <kate/document.h>
00027
00028 #include <qguardedptr.h>
00029 #include <qptrlist.h>
00030 #include <qobject.h>
00031 #include <qptrdict.h>
00032 #include <qintdict.h>
00033
00034 namespace KParts { class Factory; }
00035
00036 class KConfig;
00037 class DCOPObject;
00038
00039 class KateDocumentInfo
00040 {
00041 public:
00042 KateDocumentInfo ()
00043 : modifiedOnDisc (false),
00044 modifiedOnDiscReason (0)
00045 {
00046 }
00047
00048 bool modifiedOnDisc;
00049 unsigned char modifiedOnDiscReason;
00050 };
00051
00052 class KateDocManager : public QObject
00053 {
00054 Q_OBJECT
00055
00056 public:
00057 KateDocManager (QObject *parent);
00058 ~KateDocManager ();
00059
00060 Kate::DocumentManager *documentManager () { return m_documentManager; };
00061
00062 Kate::Document *createDoc ();
00063 void deleteDoc (Kate::Document *doc);
00064
00065 Kate::Document *document (uint n);
00066
00067 Kate::Document *activeDocument ();
00068 void setActiveDocument (Kate::Document *doc);
00069
00070 Kate::Document *firstDocument ();
00071 Kate::Document *nextDocument ();
00072
00073
00074 Kate::Document *documentWithID (uint id);
00075
00076 const KateDocumentInfo *documentInfo (Kate::Document *doc);
00077
00078 int findDocument (Kate::Document *doc);
00080 int findDocument (KURL url);
00081
00082 Kate::Document *findDocumentByUrl( KURL url );
00083
00084 bool isOpen(KURL url);
00085
00086 uint documents ();
00087
00088 QPtrList<Kate::Document> &documentList () { return m_docList; };
00089
00090 Kate::Document *openURL(const KURL&,const QString &encoding=QString::null,uint *id =0);
00091
00092 bool closeDocument(class Kate::Document *);
00093 bool closeDocument(uint);
00094 bool closeDocumentWithID(uint);
00095 bool closeAllDocuments();
00096
00097 bool queryCloseDocuments(KateMainWindow *w);
00098
00099 void saveDocumentList (class KConfig *config);
00100 void restoreDocumentList (class KConfig *config);
00101
00102 DCOPObject *dcopObject () { return m_dcop; };
00103
00104 signals:
00105 void documentCreated (Kate::Document *doc);
00106 void documentDeleted (uint documentNumber);
00107 void documentChanged ();
00108
00109 private slots:
00110 void slotModifiedOnDisc (Kate::Document *doc, bool b, unsigned char reason);
00111
00112 private:
00113 Kate::DocumentManager *m_documentManager;
00114 QPtrList<Kate::Document> m_docList;
00115 QIntDict<Kate::Document> m_docDict;
00116 QPtrDict<KateDocumentInfo> m_docInfos;
00117 QGuardedPtr<Kate::Document> m_currentDoc;
00118
00119 DCOPObject *m_dcop;
00120
00121 KParts::Factory *m_factory;
00122 };
00123
00124 #endif
This file is part of the documentation for kate Library Version 3.2.2.