Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Models
diff options
context:
space:
mode:
Commit4b6cd3e44eca28dfbad22e67cecc8faddcae2e1f (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-05-28 15:43:53 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-05-28 15:43:53 +0300
Filescef3f0cf7f90889bab02bc67c492ed1ce3e59b78 /src/Models
FMI-OOP-P2_Tables-4b6cd3e44eca28dfbad22e67cecc8faddcae2e1f.tar
FMI-OOP-P2_Tables-4b6cd3e44eca28dfbad22e67cecc8faddcae2e1f.tar.gz
FMI-OOP-P2_Tables-4b6cd3e44eca28dfbad22e67cecc8faddcae2e1f.zip
Parentc6d8d83010d2c669d53909d00cf3d2f1fa6c4130 (diff)
Autocommit at 28.05.2022 @ 15:43
4 files changed, 61 insertions, 4 deletions
-rw-r--r--src/Models/CellDouble.cpp18
-rw-r--r--src/Models/CellDouble.h18
-rw-r--r--src/Models/CellFormula.cpp21
-rw-r--r--src/Models/CellInt.cpp8
diff --git a/src/Models/CellDouble.cpp b/src/Models/CellDouble.cpp
new file mode 100644
index 0000000..9cb6eea
--- /dev/null
+++ b/src/Models/CellDouble.cpp
@@ -0,0 +1,18 @@
+#include "CellDouble.h"
+#include <cstring>
+
+String CellDouble::getValueForPrint() {
+ return String() += value;
+}
+
+void CellDouble::parseAndSetValue(const char* str) {
+ value = atof(str);
+}
+
+void CellDouble::readFromFile(std::ifstream& file) {
+ file >> value;
+}
+
+void CellDouble::writeToFile(std::ofstream& file) {
+ file << value;
+}
diff --git a/src/Models/CellDouble.h b/src/Models/CellDouble.h
new file mode 100644
index 0000000..508d561
--- /dev/null
+++ b/src/Models/CellDouble.h
@@ -0,0 +1,18 @@
+#ifndef HEADER_CELLDOUBLE
+#define HEADER_CELLDOUBLE
+
+#include "Cell.h"
+
+class CellDouble : public Cell {
+ double value;
+
+public:
+ CellDouble() = default;
+
+ String getValueForPrint() override;
+ void parseAndSetValue(const char* str) override;
+ void readFromFile(std::ifstream& file) override;
+ void writeToFile(std::ofstream& file) override;
+};
+
+#endif
diff --git a/src/Models/CellFormula.cpp b/src/Models/CellFormula.cpp
new file mode 100644
index 0000000..d3c3304
--- /dev/null
+++ b/src/Models/CellFormula.cpp
@@ -0,0 +1,21 @@
+#ifndef HEADER_CELLFORMULA
+#define HEADER_CELLFORMULA
+
+#include "Cell.h"
+#include "../Generic/List/List.hpp"
+
+class CellFormula : public Cell {
+ List<Cell*> referencedCells;
+ String rawFormula;
+ double value;
+
+public:
+ CellFormula() = default;
+
+ String getValueForPrint() override;
+ void parseAndSetValue(const char* str) override;
+ void readFromFile(std::ifstream& file) override;
+ void writeToFile(std::ofstream& file) override;
+};
+
+#endif
diff --git a/src/Models/CellInt.cpp b/src/Models/CellInt.cpp
index 01b262b..b2e4578 100644
--- a/src/Models/CellInt.cpp
+++ b/src/Models/CellInt.cpp
@@ -2,17 +2,17 @@
#include <cstring>
String CellInt::getValueForPrint() {
- return value;
+ return String() += value;
}
void CellInt::parseAndSetValue(const char* str) {
- value = String(str);
+ value = atoi(str);
}
void CellInt::readFromFile(std::ifstream& file) {
- value.read(file);
+ file >> value;
}
void CellInt::writeToFile(std::ofstream& file) {
- value.write(file);
+ file << value;
}