Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Models
diff options
context:
space:
mode:
Commit28c22b23863ff82581e934be8c0d26b93f51abbb (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-05-30 19:58:13 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-05-30 19:58:13 +0300
Filescbe8f64d82da3bbca20dd935dfee0ccbdb9424b7 /src/Models
FMI-OOP-P2_Tables-28c22b23863ff82581e934be8c0d26b93f51abbb.tar
FMI-OOP-P2_Tables-28c22b23863ff82581e934be8c0d26b93f51abbb.tar.gz
FMI-OOP-P2_Tables-28c22b23863ff82581e934be8c0d26b93f51abbb.zip
Parent464947e12f06fa040080917c0d18b2d868cfd10e (diff)
Autocommit at 30.05.2022 @ 19:58
2 files changed, 9 insertions, 1 deletions
-rw-r--r--src/Models/Table.cpp7
-rw-r--r--src/Models/Table.h3
diff --git a/src/Models/Table.cpp b/src/Models/Table.cpp
index 8c1f54d..c0fe315 100644
--- a/src/Models/Table.cpp
+++ b/src/Models/Table.cpp
@@ -84,7 +84,14 @@ void Table::readFromFile(std::ifstream& inFile) {
}
res += inFile.get();
}
+
+ if (*res.get_cstr() == '=')
+ cells[cells.get_count() - 1].add(new CellFormula(res.get_cstr(), &cells));
+ else
+ cells[cells.get_count() - 1].add(new CellString(res.get_cstr()));
}
+ else
+ throw std::logic_error(fileLocationExceptionMsg("Error: Could not determine type of value at row ", cells.get_count(), inFile.tellg() % cells.get_count() + 1));
}
}
diff --git a/src/Models/Table.h b/src/Models/Table.h
index ade25d9..41d9d7f 100644
--- a/src/Models/Table.h
+++ b/src/Models/Table.h
@@ -15,8 +15,9 @@ public:
unsigned get_cols() const;
void putCell(unsigned row, unsigned col, const char* rawValue);
+
List<String> getAllCells() const;
- void saveToFile(const char* filePath);
+ void saveToFile(const char* filePath) const;
};
#endif