Open CASCADE Technology  6.5.4
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
TDocStd_Document Class Reference

The contents of a TDocStd_Application, a
document is a container for a data framework
composed of labels and attributes. As such,
TDocStd_Document is the entry point into the data framework.
To gain access to the data, you create a document as follows:
Handle(TDocStd_Document) MyDF = new TDocStd_Document
The document also allows you to manage:
More...

#include <TDocStd_Document.hxx>

Inheritance diagram for TDocStd_Document:
Inheritance graph
[legend]

Public Member Functions

 TDocStd_Document (const TCollection_ExtendedString &astorageformat)
 Constructs a document object defined by the
string astorageformat.

Standard_Boolean IsSaved () const
 the document is saved in a file.

Standard_Boolean IsChanged () const
 returns True if document differs from the state of last saving.
this method have to be called only wroking in the transaction mode

void SetSaved ()
 This method have to be called to show document that it has been saved

void SetSavedTime (const Standard_Integer theTime)
 Say to document what it is not saved.
Use value, returned earlier by GetSavedTime().

Standard_Integer GetSavedTime () const
 Returns value of <mySavedTime> to be used later in SetSavedTime()

TCollection_ExtendedString GetName () const
 raise if <me> is not saved.

TCollection_ExtendedString GetPath () const
 returns the OS path of the file, in wich one <me> is
saved. Raise an exception if <me> is not saved.

void SetData (const Handle< TDF_Data > &data)
Handle_TDF_Data GetData () const
TDF_Label Main () const
 Returns the main label in this data framework.
By definition, this is the label with the entry 0:1.

Standard_Boolean IsEmpty () const
 Returns True if the main label has no attributes

Standard_Boolean IsValid () const
 Returns False if the document has been modified
but not recomputed.

void SetModified (const TDF_Label &L)
 Notify the label as modified, the Document becomes UnValid.
//! returns True if <L> has been notified as modified.

void PurgeModified ()
 Remove all modifications. After this call The document
becomesagain Valid.

const TDF_LabelMapGetModified () const
 Returns the labels which have been modified in
this document.

void NewCommand ()
 Launches a new command. This command may be undone.

Standard_Boolean HasOpenCommand () const
 returns True if a Command transaction is open in the curret .

void OpenCommand ()
 Opens a new command transaction in this document.
You can use HasOpenCommand to see whether a command is already open.
Exceptions
Standard_DomainError if a command is already open in this document.

Standard_Boolean CommitCommand ()
 Commits documents transactions and fills the
transaction manager with documents that have
been changed during the transaction.
If no command transaction is open, nothing is done.
Returns True if a new delta has been added to myUndos.

void AbortCommand ()
 Abort the Command transaction. Does nothing If there is
no Command transaction open.

Standard_Integer GetUndoLimit () const
 The current limit on the number of undos

void SetUndoLimit (const Standard_Integer L)
 Set the limit on the number of Undo Delta stored 0
will disable Undo on the document A negative value
means no limit. Note that by default Undo is disabled.
Enabling it will take effect with the next call to
NewCommand. Of course this limit is the same for Redo

void ClearUndos ()
 Remove all stored Undos and Redos

void ClearRedos ()
 Remove all stored Redos

Standard_Integer GetAvailableUndos () const
 Returns the number of undos stored in this
document. If this figure is greater than 0, the method Undo
can be used.

Standard_Boolean Undo ()
 Will UNDO one step, returns False if no undo was
done (Undos == 0).
Otherwise, true is returned and one step in the
list of undoes is undone.

Standard_Integer GetAvailableRedos () const
 Returns the number of redos stored in this
document. If this figure is greater than 0, the method Redo
can be used.

Standard_Boolean Redo ()
 Will REDO one step, returns False if no redo was
done (Redos == 0).
Otherwise, true is returned, and one step in the list of redoes is done again.

const TDF_DeltaListGetUndos () const
const TDF_DeltaListGetRedos () const
void RemoveFirstUndo ()
 Removes the first undo in the list of document undos.
It is used in the application when the undo limit is exceed.

Standard_Boolean InitDeltaCompaction ()
 Initializes the procedure of delta compaction
Returns false if there is no delta to compact
Marks the last delta as a "from" delta

Standard_Boolean PerformDeltaCompaction ()
 Performs the procedure of delta compaction
Makes all deltas starting from "from" delta
till the last one to be one delta.

void UpdateReferences (const TCollection_AsciiString &aDocEntry)
 Set modifications on labels impacted by external
references to the entry. The document becomes invalid
and must be recomputed.

void Recompute ()
 Recompute if the document was not valid and propagate
the reccorded modification.

virtual void Update (const Handle< CDM_Document > &aToDocument, const Standard_Integer aReferenceIdentifier, const Standard_Address aModifContext)
 This method Update will be called
to signal the end of the modified references list.
The document should be recomputed and
UpdateFromDocuments should be called. Update should
returns True in case of success, false otherwise. In
case of Failure, additional information can be given in
ErrorString.
//! Update the document by propagation
==================================
//! Update the document from internal stored
modifications. If you want to undoing this
operation, please call NewCommand before.
//! to change format (advanced programming)
================

virtual TCollection_ExtendedString StorageFormat () const
 The Storage Format is the key which is used to determine in the
application resources the storage driver plugin, the file
extension and other data used to store the document.

virtual void ChangeStorageFormat (const TCollection_ExtendedString &newStorageFormat)
 methods for the nested transaction mode

void SetNestedTransactionMode (const Standard_Boolean isAllowed=Standard_True)
 Sets nested transaction mode if isAllowed == Standard_True

Standard_Boolean IsNestedTransactionMode () const
 Returns Standard_True if mode is set

void SetModificationMode (const Standard_Boolean theTransactionOnly)
 if theTransactionOnly is True changes is denied outside transactions

Standard_Boolean ModificationMode () const
 returns True if changes allowed only inside transactions

Static Public Member Functions

static Handle_TDocStd_Document Get (const TDF_Label &L)
 Will Abort any execution, and commit the Undo transaction
//! returns the document which contains <L>. raises an
exception if the document is not found.

Protected Member Functions

virtual Standard_Boolean CommitTransaction ()
 Returns Standard_True done

virtual void AbortTransaction ()
virtual void OpenTransaction ()
 methods for protection of changes outside transactions

Protected Attributes

TCollection_ExtendedString myStorageFormat
TDF_DeltaList myUndos
TDF_DeltaList myRedos

Detailed Description


Constructor & Destructor Documentation


Member Function Documentation

virtual void TDocStd_Document::AbortTransaction ( ) [protected, virtual]
virtual Standard_Boolean TDocStd_Document::CommitTransaction ( ) [protected, virtual]
static Handle_TDocStd_Document TDocStd_Document::Get ( const TDF_Label L) [static]
Handle_TDF_Data TDocStd_Document::GetData ( ) const
virtual void TDocStd_Document::OpenTransaction ( ) [protected, virtual]

Implements CDM_Document.

virtual void TDocStd_Document::Update ( const Handle< CDM_Document > &  aToDocument,
const Standard_Integer  aReferenceIdentifier,
const Standard_Address  aModifContext 
) [virtual]

Reimplemented from CDM_Document.


Field Documentation


The documentation for this class was generated from the following file: