mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-09-08 14:17:06 +03:00
0029217: Application Framework - nonsense API method XmlLDrivers::SetStorageVersion()
1. Unification of usage of a storage version of an OCAF document by XML and binary file formats. 2. A new format version enumeration in TDocStd package: TDocStd_FormatVersion. 3. Removal of unnecessary methods for storage version like XmlLDrivers::StorageVersion() and BinLDrivers::StorageVersion(). 4. Support of old documents (storage version <= 9) in binary file format (came from ESA). New files: - TDocStd_FormatVersion.hxx: a new storage format version enumeration for an OCAF document. Modified files: - CDM_Document.hxx and cxx: removal of storage format version property (moved to TDocStd_Document). - TDocStd_Document.hxx and cxx: a storage format version property (moved from CDM_Document). - BinLDrivers_DocumentSection.hxx and cxx: support of old document storage version in binary file format. - BinDrivers_DocumentStorageDriver.hxx and cxx, - BinLDrivers_DocumentStorageDriver.hxx and cxx, - BinLDrivers_DocumentRetrievalDriver.cxx, - XmlLDrivers_DocumentRetrievalDriver.cxx, - XmlLDrivers_DocumentStorageDriver.cxx: usage of document storage version from TDocStd_Document in storage and retrieval drivers. - DDocStd_ApplicationCommands.cxx: draw-command name StorageVersion is replaced by StorageFormatVersion (to be the same everywhere). A corresponding script is corrected too. New test: - bugs caf bug29217: a test case for old document storage version in binary file format. It checks several attributes saved by the version TDocStd_FormatVersion_VERSION_7 (old) and the latest version. Modified test: - caf presentation M1: the test used a file in the current folder, not in {imagedir} like all other tests. - bugs caf bug28691 Documentation: - dox/upgrade/upgrade.md // All remarks are fixed.
This commit is contained in:
@@ -269,18 +269,16 @@ Standard_Boolean XmlLDrivers_DocumentStorageDriver::WriteToDomDocument
|
||||
// anInfoElem.setAttribute("appv", anAppVersion.ToCString());
|
||||
|
||||
// Document version
|
||||
Standard_Integer aFormatVersion(XmlLDrivers::StorageVersion());// the last version of the format
|
||||
if (theDocument->StorageFormatVersion() > 0)
|
||||
Handle(TDocStd_Document) aDoc = Handle(TDocStd_Document)::DownCast (theDocument);
|
||||
Standard_Integer aFormatVersion = TDocStd_Document::CurrentStorageFormatVersion(); // the last version of the format
|
||||
if (TDocStd_Document::CurrentStorageFormatVersion() < aDoc->StorageFormatVersion())
|
||||
{
|
||||
if (XmlLDrivers::StorageVersion() < theDocument->StorageFormatVersion())
|
||||
{
|
||||
TCollection_ExtendedString anErrorString("Unacceptable storage format version, the last verson is used");
|
||||
aMessageDriver->Send(anErrorString.ToExtString(), Message_Warning);
|
||||
}
|
||||
else
|
||||
aFormatVersion = theDocument->StorageFormatVersion();
|
||||
TCollection_ExtendedString anErrorString("Unacceptable storage format version, the last verson is used");
|
||||
aMessageDriver->Send (anErrorString.ToExtString(), Message_Warning);
|
||||
}
|
||||
anInfoElem.setAttribute("DocVersion", aFormatVersion);
|
||||
else
|
||||
aFormatVersion = aDoc->StorageFormatVersion();
|
||||
anInfoElem.setAttribute ("DocVersion", aFormatVersion);
|
||||
|
||||
// User info with Copyright
|
||||
TColStd_SequenceOfAsciiString aUserInfo;
|
||||
|
Reference in New Issue
Block a user