Закрытая функция
01 QString Spreadsheet::text(int row, int column) const
02 {
03 Cell *c = cell(row, column);
04 if (с) {
05 return c->text();
06 } else {
07 return "";
08 }
09 }
Закрытая функция
01 QString Spreadsheet::formula(int row, int column) const
02 {
03 Cell *c = cell(row, column);
04 if (с) {
05 return c->formula();
06 } else {
07 return "";
08 }
09 }
Функция
• Если формула представлена числом, именно оно и будет отображаться. Например, формула «1.50» обозначает значение 1.5 типа
• Если формула начинается с одиночной кавычки, остальная часть формулы интерпретируется как текст. Например, результатом формулы «'12345» будет строка «12345».
• Если формула начинается со знака равенства («=»), то ее значение интерпретируется как арифметическое выражение. Например, если ячейка A1 содержит «12» и ячейка A2 содержит «6», то результатом формулы «=A1+A2» будет 18. Задача преобразования формулы в значение выполняется классом
01 void Spreadsheet::setFormula(int row, int column,
const QString &formula)
02 {
03 Cell *c = cell(row, column);
04 if (!c) {
05 с = new Cell;
06 setItem(row, column, с);
07 }
08 c->setFormula(formula);
09 }
Закрытая функция
01 QString Spreadsheet::currentLocation() const
02 {
03 return QChar('A' + currentColumn())
04 + QString::number(currentRow() + 1);
05 }
Функция
01 QString Spreadsheet::currentFormula() const
02 {
03 return formula(currentRow(), currentColumn());
04 }
Функция
01 void Spreadsheet::somethingChanged()
02 {
03 if (autoRecalc)
04 recalculate();
05 emit modified();
06 }
Закрытый слот
Загрузка и сохранение