|
ACF $AcfVersion:0$
|
Document template component supporting only one type of the provided document. More...
#include <CSingleDocumentTemplateComp.h>
Public Types | |
| typedef icomp::CComponentBase | BaseClass |
| typedef CSingleDocumentTemplateBase | BaseClass2 |
Public Types inherited from idoc::IDocumentTemplate | |
| typedef istd::TUniqueInterfacePtr< istd::IPolymorphic > | ViewUniquePtr |
| Type definitions for view smart pointers. | |
| typedef istd::TSharedInterfacePtr< istd::IPolymorphic > | ViewSharedPtr |
Public Types inherited from idoc::IDocumentTypesInfo | |
| enum | SupportedFeatures { SF_NEW_DOCUMENT = 0x0001 , SF_EDIT_DOCUMENT = 0x0010 , SF_DEFAULT = 0xffff } |
| Enumeration for supported types of operations with documents. More... | |
| typedef QVector< QByteArray > | Ids |
| Type definition for document type ID collections. | |
Public Member Functions | |
| virtual ifile::IFilePersistence * | GetFileLoader (const QByteArray &documentTypeId) const override |
| Get file loader/saver for specified document ID. | |
| virtual istd::IChangeableUniquePtr | CreateDocument (QByteArray &documentTypeId, bool initialize=true, bool beQuiet=false, bool *ignoredFlagPtr=NULL) const override |
Creates a document instance for document type documentTypeId. | |
| virtual ViewUniquePtr | CreateView (const QByteArray &documentTypeId, istd::IChangeable *documentPtr, const QByteArray &viewTypeId=QByteArray()) const override |
Creates a view instance for document document of type viewTypeId. | |
| virtual idoc::IUndoManagerUniquePtr | CreateUndoManager (const QByteArray &documentTypeId, istd::IChangeable *documentPtr) const override |
Creates an undo manager for a given document documentPtr. | |
Public Member Functions inherited from icomp::CComponentBase | |
| CComponentBase () | |
| Create component and assign it to specific context. | |
| virtual const icomp::IComponent * | GetParentComponent (bool ownerOnly=false) const override |
| Get parent of this component. | |
| virtual void * | GetInterface (const istd::CClassInfo &interfaceType, const QByteArray &subId="") override |
| Get access to specified component interface. | |
| virtual IComponentContextSharedPtr | GetComponentContext () const override |
| Get access to component context describing all application-specified component information loaded from components registry. | |
| virtual void | SetComponentContext (const IComponentContextSharedPtr &contextPtr, const icomp::IComponent *parentPtr, bool isParentOwner) override |
| Set component context of this component. | |
Public Member Functions inherited from istd::IPolymorphic | |
| virtual | ~IPolymorphic () |
Public Member Functions inherited from idoc::CSingleDocumentTemplateBase | |
| CSingleDocumentTemplateBase () | |
| const QByteArray & | GetDocumentTypeId () const |
| virtual void | SetSupportedFeatures (int featureFlags) |
| virtual void | SetDocumentTypeId (const QByteArray &id) |
| virtual void | SetDocumentTypeName (const QString &name) |
| virtual void | SetViewTypeId (const QByteArray &id) |
| virtual void | SetViewTypeName (const QString &name) |
| virtual void | SetDefaultDirectory (const QString &defaultDirectory) |
| virtual bool | IsFeatureSupported (int featureFlags, const QByteArray &documentTypeId) const override |
Return true, if the feature(s) is supported by this document template. | |
| virtual Ids | GetDocumentTypeIds () const override |
| Get list of supported document type IDs. | |
| virtual QString | GetDocumentTypeName (const QByteArray &documentTypeId) const override |
| Get human readable name of some document type ID. | |
| virtual ifile::IFileTypeInfo * | GetDocumentFileTypeInfo (const QByteArray &documentTypeId) const override |
| Get file type information object for some selected document type. | |
| virtual Ids | GetDocumentTypeIdsForFile (const QString &filePath) const override |
| Get list of supported document IDs that can handle the specified file. | |
| virtual QString | GetDefaultDirectory (const QString &sugestedDir="", const QByteArray *documentTypeIdPtr=NULL) const override |
| Return default directory for specified document type. | |
| virtual Ids | GetViewTypeIds (const QByteArray &documentTypeId) const override |
| Return supported view type IDs for specified document type. | |
| virtual QString | GetViewTypeName (const QByteArray &documentTypeId, const QByteArray &viewTypeId) const override |
| Get human readable name of some view type ID. | |
Protected Member Functions | |
| virtual ViewUniquePtr | ExtractViewInterface (icomp::IComponentUniquePtr &componentPtr) const |
| Extract pointer of view interface from factorisied view component. | |
| virtual void | OnComponentCreated () override |
Protected Member Functions inherited from icomp::CComponentBase | |
| bool | IsComponentActive () const |
| Check if component is active. | |
| virtual void | OnComponentDestroyed () |
| virtual const icomp::IRealComponentStaticInfo & | GetComponentStaticInfo () const =0 |
| Get access to static info of this component. | |
Protected Member Functions inherited from idoc::CSingleDocumentTemplateBase | |
| bool | IsDocumentTypeSupported (const QByteArray &documentTypeId) const |
| bool | IsViewTypeSupported (const QByteArray &viewTypeId) const |
Additional Inherited Members | |
Static Protected Member Functions inherited from icomp::CComponentBase | |
| static const icomp::IRealComponentStaticInfo & | InitStaticInfo (IComponent *componentPtr) |
| static QByteArray | GetComponentId (const icomp::IComponentContext *componentContextPtr, const QByteArray &contextId=QByteArray()) |
Document template component supporting only one type of the provided document.
This is the standard template implementation for applications that work with a single document type. It integrates a document factory, view factory, file loader, and optional undo manager into a cohesive template.
The template handles:
Definition at line 90 of file CSingleDocumentTemplateComp.h.
Definition at line 93 of file CSingleDocumentTemplateComp.h.
Definition at line 94 of file CSingleDocumentTemplateComp.h.
|
overridevirtual |
Creates a document instance for document type documentTypeId.
| documentTypeId | ID of document type, can be empty for default document. If document type is undefined (empty), this field will be used to return ID of used type. |
| initialize | If true, document should be filled with initial data (operation new), otherwise initialization is not needed (e.g., for document loading - filling of data will be done by loader). |
| beQuiet | If true, no user interaction dialogs will be shown. |
| ignoredFlagPtr | Optional output flag indicating that the user canceled this operation. |
Implements idoc::IDocumentTemplate.
|
overridevirtual |
Creates an undo manager for a given document documentPtr.
| documentTypeId | ID of document type. |
| documentPtr | Pointer to document object that will use this undo manager. |
The undo manager tracks changes to the document and allows them to be undone/redone. Not all document types support undo functionality.
Implements idoc::IDocumentTemplate.
|
overridevirtual |
Creates a view instance for document document of type viewTypeId.
| documentTypeId | ID of document type. |
| documentPtr | Pointer to document object that this view will display. |
| viewTypeId | Optional ID specifying view type if more view types are supported. If empty or not provided, the first/default view type for this document type is used. Use GetViewTypeIds() to discover available view types for a document type. |
The view is responsible for displaying the document's content to the user. Some document types support multiple view types (e.g., text view, hex view, preview).
Implements idoc::IDocumentTemplate.
|
protectedvirtual |
Extract pointer of view interface from factorisied view component.
This functionality is provided to allow derrived classes to extract implementation-specific GUI interfaces from created composited instances. Default is instance of interface imod::IObserver extracted, but for composite components it can be inaccurate for some cases.
Reimplemented in iqtdoc::CExtendedDocumentTemplateComp.
|
overridevirtual |
Get file loader/saver for specified document ID.
| documentTypeId | Type ID of document that will be loaded/saved. |
The file persistence object handles reading and writing documents to/from files.
Implements idoc::IDocumentTemplate.
|
overrideprotectedvirtual |
Reimplemented from icomp::CComponentBase.