Open CASCADE Technology 6.6.0
|
The abstract root class for all application classes.
They are in charge of:
More...
#include <TDocStd_Application.hxx>
Public Member Functions | |
Standard_Boolean | IsDriverLoaded () const |
Check if meta data driver was successfully loaded by the application constructor | |
virtual Handle_Resource_Manager | Resources () |
create (if not done) a Manager using ResourcesName method. | |
virtual Standard_CString | ResourcesName ()=0 |
Returns the name of the file containing the resources of this application. In a resource file, the application associates the schema name of the document with the storage and retrieval plug-ins that are to be loaded for each document. On retrieval, the application reads the schema name in the heading of the CSF file and loads the plug-in indicated in the resource file. This plug-in instantiates the actual driver for transient-persistent conversion. Your application can bring this process into play by defining a class which inherits CDF_Application and redefines the function which returns the appropriate resources file. At this point, the function Retrieve and the class CDF_Store can be called. This allows you to deal with storage and retrieval of - as well as copying and pasting - documents. To implement a class like this, several virtual functions should be redefined. In particular, you must redefine the abstract function Resources inherited from the superclass CDM_Application. | |
Standard_Integer | NbDocuments () const |
returns the number of documents handled by the current applicative session. | |
void | GetDocument (const Standard_Integer index, Handle< TDocStd_Document > &aDoc) const |
Constructs the new document aDoc. aDoc is identified by the index index which is any integer between 1 and n where n is the number of documents returned by NbDocument. Example Handle(TDocStd_Application) anApp; if (!CafTest::Find(A)) return 1; Handle(TDocStd) aDoc; Standard_Integer nbdoc = anApp->NbDocuments(); for (Standard_Integer i = 1; i <= nbdoc; i++) { aApp->GetDocument(i,aDoc); | |
virtual void | Formats (TColStd_SequenceOfExtendedString &Formats)=0 |
Returns the format name Formats representing the format supported for application documents. This virtual function is to be redefined for each specific application. | |
virtual void | NewDocument (const TCollection_ExtendedString &format, Handle< TDocStd_Document > &aDoc) |
Constructs the empty new document aDoc. This document will have the format format. If InitDocument is redefined for a specific application, the new document is handled by the applicative session. | |
virtual void | InitDocument (const Handle< TDocStd_Document > &aDoc) const |
Initialize the document aDoc for the applicative session. This virtual function is called by NewDocument and is to be redefined for each specific application. //! Modified flag (different of disk version) ============= //! to open/save a document ======================= | |
void | Close (const Handle< TDocStd_Document > &aDoc) |
Close the given document. the document is not any more handled by the applicative session. | |
Standard_Integer | IsInSession (const TCollection_ExtendedString &path) const |
Returns an index for the document found in the path path in this applicative session. If the returned value is 0, the document is not present in the applicative session. This method can be used for the interactive part of an application. For instance, on a call to Open, the document to be opened may already be in memory. IsInSession checks to see if this is the case. Open can be made to depend on the value of the index returned: if IsInSession returns 0, the document is opened; if it returns another value, a message is displayed asking the user if he wants to override the version of the document in memory. Example: Standard_Integer insession = A->IsInSession(aDoc); if (insession > 0) { cout << "document " << insession << " is already in session" << endl; return 0; } | |
PCDM_ReaderStatus | Open (const TCollection_ExtendedString &path, Handle< TDocStd_Document > &aDoc) |
Retrieves the document aDoc stored under the name aName in the directory directory. In order not to override a version of aDoc which is already in memory, this method can be made to depend on the value returned by IsInSession. | |
PCDM_StoreStatus | SaveAs (const Handle< TDocStd_Document > &aDoc, const TCollection_ExtendedString &path) |
Save the active document in the file <name> in the path <path> ; o verwrites the file if it already exists. | |
PCDM_StoreStatus | Save (const Handle< TDocStd_Document > &aDoc) |
Save aDoc active document. Exceptions: Standard_NotImplemented if the document was not retrieved in the applicative session by using Open. | |
PCDM_StoreStatus | SaveAs (const Handle< TDocStd_Document > &aDoc, const TCollection_ExtendedString &path, TCollection_ExtendedString &theStatusMessage) |
Save the active document in the file <name> in the path <path> . overwrite the file if it already exist. | |
PCDM_StoreStatus | Save (const Handle< TDocStd_Document > &aDoc, TCollection_ExtendedString &theStatusMessage) |
Save the document overwriting the previous file | |
Protected Member Functions | |
TDocStd_Application () | |
virtual void | OnOpenTransaction (const Handle< TDocStd_Document > &theDoc) |
Notification that is fired at each OpenTransaction event. | |
virtual void | OnCommitTransaction (const Handle< TDocStd_Document > &theDoc) |
Notification that is fired at each CommitTransaction event. | |
virtual void | OnAbortTransaction (const Handle< TDocStd_Document > &theDoc) |
Notification that is fired at each AbortTransaction event. |
TDocStd_Application::TDocStd_Application | ( | ) | [protected] |
void TDocStd_Application::Close | ( | const Handle< TDocStd_Document > & | aDoc | ) |
virtual void TDocStd_Application::Formats | ( | TColStd_SequenceOfExtendedString & | Formats | ) | [pure virtual] |
Implements CDF_Application.
Implemented in AppStdL_Application, AppStd_Application, TObj_Application, and XCAFApp_Application.
void TDocStd_Application::GetDocument | ( | const Standard_Integer | index, |
Handle< TDocStd_Document > & | aDoc | ||
) | const |
virtual void TDocStd_Application::InitDocument | ( | const Handle< TDocStd_Document > & | aDoc | ) | const [virtual] |
Reimplemented in XCAFApp_Application.
Standard_Boolean TDocStd_Application::IsDriverLoaded | ( | ) | const |
Standard_Integer TDocStd_Application::IsInSession | ( | const TCollection_ExtendedString & | path | ) | const |
Standard_Integer TDocStd_Application::NbDocuments | ( | ) | const |
virtual void TDocStd_Application::NewDocument | ( | const TCollection_ExtendedString & | format, |
Handle< TDocStd_Document > & | aDoc | ||
) | [virtual] |
virtual void TDocStd_Application::OnAbortTransaction | ( | const Handle< TDocStd_Document > & | theDoc | ) | [protected, virtual] |
virtual void TDocStd_Application::OnCommitTransaction | ( | const Handle< TDocStd_Document > & | theDoc | ) | [protected, virtual] |
virtual void TDocStd_Application::OnOpenTransaction | ( | const Handle< TDocStd_Document > & | theDoc | ) | [protected, virtual] |
PCDM_ReaderStatus TDocStd_Application::Open | ( | const TCollection_ExtendedString & | path, |
Handle< TDocStd_Document > & | aDoc | ||
) |
virtual Handle_Resource_Manager TDocStd_Application::Resources | ( | ) | [virtual] |
Implements CDM_Application.
virtual Standard_CString TDocStd_Application::ResourcesName | ( | ) | [pure virtual] |
Implemented in AppStdL_Application, AppStd_Application, TObj_Application, and XCAFApp_Application.
PCDM_StoreStatus TDocStd_Application::Save | ( | const Handle< TDocStd_Document > & | aDoc, |
TCollection_ExtendedString & | theStatusMessage | ||
) |
PCDM_StoreStatus TDocStd_Application::Save | ( | const Handle< TDocStd_Document > & | aDoc | ) |
PCDM_StoreStatus TDocStd_Application::SaveAs | ( | const Handle< TDocStd_Document > & | aDoc, |
const TCollection_ExtendedString & | path, | ||
TCollection_ExtendedString & | theStatusMessage | ||
) |
PCDM_StoreStatus TDocStd_Application::SaveAs | ( | const Handle< TDocStd_Document > & | aDoc, |
const TCollection_ExtendedString & | path | ||
) |