10#include <QtCore/QByteArray>
14#include <QtCore/QString>
152 const QByteArray& documentTypeId,
153 bool createView =
true,
154 const QByteArray& viewTypeId =
"",
156 bool beQuiet =
false,
157 bool* ignoredPtr =
nullptr) = 0;
172 const QByteArray* documentTypeIdPtr =
nullptr,
173 const QString* fileNamePtr =
nullptr,
174 bool createView =
true,
175 const QByteArray& viewTypeId =
"",
178 bool beQuiet =
false,
179 bool* ignoredPtr =
nullptr,
191 int documentIndex = -1,
192 bool requestFileName =
false,
194 bool beQuiet =
false,
195 bool* ignoredPtr =
nullptr,
214 virtual bool CloseDocument(
int documentIndex = -1,
bool beQuiet =
false,
bool* ignoredPtr =
nullptr) = 0;
223 virtual bool CloseView(istd::IPolymorphic* viewPtr =
nullptr,
bool beQuiet =
false,
bool* ignoredPtr =
nullptr) = 0;
Provide set of user actions needed to manage documents in MVC (Model View Controller) concept.
virtual idoc::IUndoManager * GetUndoManagerForDocument(const istd::IChangeable *documentPtr) const =0
Return undo mananger for document documenPtr.
ChangeFlags
Possible changes in the mananger data model.
@ CF_VIEW_ACTIVATION_CHANGED
@ CF_DOCUMENT_COUNT_CHANGED
virtual istd::IChangeable & GetDocumentFromIndex(int index, DocumentInfo *documentInfoPtr=nullptr) const =0
Get document at specified index.
virtual void SetActiveView(istd::IPolymorphic *viewPtr)=0
Indicate that some view is active now.
QMap< QString, QByteArray > FileToTypeMap
Map from file path to ducument type ID's.
virtual bool SaveDocument(int documentIndex=-1, bool requestFileName=false, FileToTypeMap *savedMapPtr=nullptr, bool beQuiet=false, bool *ignoredPtr=nullptr, iproc::IProgressManager *progressManagerPtr=nullptr)=0
Save document.
virtual istd::IPolymorphic * GetViewFromIndex(int documentIndex, int viewIndex) const =0
Get single view using its and document indices.
virtual int GetViewsCount(int documentIndex) const =0
Get number of view for specified document.
OperationFlags
Flags describing possible operations.
virtual bool CloseDocument(int documentIndex=-1, bool beQuiet=false, bool *ignoredPtr=nullptr)=0
Close document and all its views.
virtual QByteArray GetDocumentTypeId(const istd::IChangeable &document) const =0
Get ID of document type managed by this object.
virtual bool OpenDocument(const QByteArray *documentTypeIdPtr=nullptr, const QString *fileNamePtr=nullptr, bool createView=true, const QByteArray &viewTypeId="", istd::IChangeable **documentPtr=nullptr, FileToTypeMap *loadedMapPtr=nullptr, bool beQuiet=false, bool *ignoredPtr=nullptr, iproc::IProgressManager *progressManagerPtr=nullptr)=0
Opens document(s) from the file list.
virtual bool SaveDirtyDocuments(bool beQuiet=false, bool *ignoredPtr=nullptr)=0
Ask user (optional) and save all dirty (changed) documents.
virtual int GetAllowedOperationFlags(const istd::IPolymorphic *viewPtr=nullptr) const =0
Get flags of allowed operations.
virtual bool InsertNewDocument(const QByteArray &documentTypeId, bool createView=true, const QByteArray &viewTypeId="", istd::IChangeable **newDocumentPtr=nullptr, bool beQuiet=false, bool *ignoredPtr=nullptr)=0
Creates a new document with the document ID documentTypeId.
virtual istd::IChangeable * GetDocumentFromView(const istd::IPolymorphic &view, DocumentInfo *documentInfoPtr=nullptr) const =0
Return the document assigned to view.
virtual bool CloseView(istd::IPolymorphic *viewPtr=nullptr, bool beQuiet=false, bool *ignoredPtr=nullptr)=0
Close view.
virtual istd::IPolymorphic * AddViewToDocument(const istd::IChangeable &document, const QByteArray &viewTypeId=QByteArray())=0
Add a new view to the document.
virtual int GetDocumentsCount() const =0
Get number of opened documents.
virtual istd::IPolymorphic * GetActiveView() const =0
Return the active document.
Provide information about different document types.
Interface providing UNDO/REDO functionality.
Consume information about progress of some process.
Common interface for data model objects, which can be changed.
Contains the system indenendent basic implementations of Document/View design pattern.
This namespace containes interfaces and implementation of data processing concepts.
QByteArray documentTypeId