mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-26 17:20:53 +01:00
[apps/statistics] Make data and data controller inherit from classes in
apps/ Change-Id: Ie6a0b95c13a212321c1bf8132c39255f31a71429
This commit is contained in:
@@ -7,57 +7,10 @@
|
||||
namespace Statistics {
|
||||
|
||||
DataController::DataController(Responder * parentResponder, Data * data) :
|
||||
EditableCellTableViewController(parentResponder, Metric::TopMargin, Metric::RightMargin, Metric::BottomMargin, Metric::LeftMargin),
|
||||
m_editableCells{EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer),
|
||||
EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer),
|
||||
EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer),
|
||||
EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer)},
|
||||
m_data(data)
|
||||
::DataController(parentResponder, data)
|
||||
{
|
||||
}
|
||||
|
||||
const char * DataController::title() const {
|
||||
return "Donnees";
|
||||
}
|
||||
|
||||
int DataController::numberOfColumns() {
|
||||
return 2;
|
||||
};
|
||||
|
||||
KDCoordinate DataController::columnWidth(int i) {
|
||||
return k_cellWidth;
|
||||
}
|
||||
|
||||
KDCoordinate DataController::cumulatedWidthFromIndex(int i) {
|
||||
return i*k_cellWidth;
|
||||
}
|
||||
|
||||
int DataController::indexFromCumulatedWidth(KDCoordinate offsetX) {
|
||||
return (offsetX-1) / k_cellWidth;
|
||||
}
|
||||
|
||||
TableViewCell * DataController::reusableCell(int index, int type) {
|
||||
assert(index >= 0);
|
||||
switch (type) {
|
||||
case 0:
|
||||
assert(index < k_numberOfTitleCells);
|
||||
return &m_titleCells[index];
|
||||
case 1:
|
||||
assert(index < k_maxNumberOfEditableCells);
|
||||
return &m_editableCells[index];
|
||||
default:
|
||||
assert(false);
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
int DataController::reusableCellCount(int type) {
|
||||
if (type == 0) {
|
||||
return k_numberOfTitleCells;
|
||||
}
|
||||
return k_maxNumberOfEditableCells;
|
||||
}
|
||||
|
||||
void DataController::willDisplayCellAtLocation(TableViewCell * cell, int i, int j) {
|
||||
EditableCellTableViewController::willDisplayCellAtLocation(cell, i, j);
|
||||
if (cellAtLocationIsEditable(i, j)) {
|
||||
@@ -71,65 +24,4 @@ void DataController::willDisplayCellAtLocation(TableViewCell * cell, int i, int
|
||||
mytitleCell->setText("Effectifs");
|
||||
}
|
||||
|
||||
int DataController::typeAtLocation(int i, int j) {
|
||||
return j!=0;
|
||||
}
|
||||
|
||||
bool DataController::handleEvent(Ion::Events::Event event) {
|
||||
if (event == Ion::Events::Up) {
|
||||
m_selectableTableView.deselectTable();
|
||||
assert(m_selectableTableView.selectedRow() == -1);
|
||||
app()->setFirstResponder(tabController());
|
||||
return true;
|
||||
}
|
||||
if (event == Ion::Events::Clear) {
|
||||
if (m_selectableTableView.selectedColumn() == 0) {
|
||||
m_data->deletePairAtIndex(m_selectableTableView.selectedRow()-1);
|
||||
m_selectableTableView.reloadData();
|
||||
} else {
|
||||
m_data->setSizeAtIndex(1, m_selectableTableView.selectedRow()-1);
|
||||
EvenOddEditableTextCell * myCell = (EvenOddEditableTextCell *)m_selectableTableView.cellAtLocation(m_selectableTableView.selectedColumn(), m_selectableTableView.selectedRow());
|
||||
willDisplayCellAtLocation(myCell, m_selectableTableView.selectedColumn(), m_selectableTableView.selectedRow());
|
||||
myCell->editableTextCell()->textField()->handleEvent(Ion::Events::OK);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Responder * DataController::tabController() const {
|
||||
return (parentResponder()->parentResponder());
|
||||
}
|
||||
|
||||
bool DataController::cellAtLocationIsEditable(int columnIndex, int rowIndex) {
|
||||
if (rowIndex > 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void DataController::setDataAtLocation(float floatBody, int columnIndex, int rowIndex) {
|
||||
if (columnIndex == 0) {
|
||||
m_data->setValueAtIndex(floatBody, rowIndex-1);
|
||||
} else {
|
||||
m_data->setSizeAtIndex(floatBody, rowIndex-1);
|
||||
}
|
||||
}
|
||||
|
||||
float DataController::dataAtLocation(int columnIndex, int rowIndex) {
|
||||
if (columnIndex == 0) {
|
||||
return m_data->valueAtIndex(rowIndex-1);
|
||||
} else {
|
||||
return m_data->sizeAtIndex(rowIndex-1);
|
||||
}
|
||||
}
|
||||
|
||||
int DataController::numberOfElements() {
|
||||
return m_data->numberOfPairs();
|
||||
}
|
||||
|
||||
int DataController::maxNumberOfElements() const {
|
||||
return Data::k_maxNumberOfPairs;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user