diff --git a/src/TIVarFile.cpp b/src/TIVarFile.cpp index 9cfc912..e80d5bb 100644 --- a/src/TIVarFile.cpp +++ b/src/TIVarFile.cpp @@ -246,6 +246,17 @@ namespace tivars this->refreshMetadataFields(); } + void TIVarFile::setArchived(bool flag) + { + if (this->calcModel.getFlags() >= TIFeatureFlags::hasFlash) + { + this->varEntry.archivedFlag = (uchar)(flag ? 1 : 0); + this->refreshMetadataFields(); + } else { + throw runtime_error("[Error] Archived flag not supported on this calculator model"); + } + } + data_t TIVarFile::getRawContent() { @@ -382,6 +393,7 @@ namespace tivars .function("setContentFromString" , select_overload(&TIVarFile::setContentFromString)) .function("setCalcModel" , &TIVarFile::setCalcModel) .function("setVarName" , &TIVarFile::setVarName) + .function("setArchived" , &TIVarFile::setArchived) .function("getRawContent" , &TIVarFile::getRawContent) .function("getReadableContent" , select_overload(&TIVarFile::getReadableContent)) .function("getReadableContent" , select_overload(&TIVarFile::getReadableContent)) diff --git a/src/TIVarFile.h b/src/TIVarFile.h index 92b6e76..ab22540 100644 --- a/src/TIVarFile.h +++ b/src/TIVarFile.h @@ -73,6 +73,7 @@ namespace tivars void setCalcModel(const TIModel& model); void setVarName(const std::string& name); + void setArchived(bool flag); data_t getRawContent(); diff --git a/src/TypeHandlers/TH_0x21.bc b/src/TypeHandlers/TH_0x21.bc deleted file mode 100644 index c8bc769..0000000 Binary files a/src/TypeHandlers/TH_0x21.bc and /dev/null differ diff --git a/tests.cpp b/tests.cpp index 44ada97..781d359 100644 --- a/tests.cpp +++ b/tests.cpp @@ -118,7 +118,9 @@ newPrgm.saveVarToFile("testData", "Program_new"); testPrgm42.setContentFromString("Grande blabla:Disp \"Grande blabla"); testPrgm42.setVarName("Toto"); assert(testPrgm42.getReadableContent() == "Grande blabla:Disp \"Grande blabla"); - testPrgm42.saveVarToFile("testData", "testMinTok_new"); +testPrgm42.saveVarToFile("testData", "testMinTok_new"); + testPrgm42.setArchived(true); +testPrgm42.saveVarToFile("testData", "testMinTok_archived_new"); TIVarFile testRealList = TIVarFile::loadFromFile("testData/RealList.8xl");