mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/stats] Handle the upperleft cell navigation in calculation
This commit is contained in:
@@ -10,6 +10,7 @@ app_objs += $(addprefix apps/statistics/,\
|
||||
box_view.o\
|
||||
calculation_cell.o\
|
||||
calculation_controller.o\
|
||||
calculation_selectable_table_view.o\
|
||||
histogram_banner_view.o\
|
||||
histogram_controller.o\
|
||||
histogram_parameter_controller.o\
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#include "calculation_controller.h"
|
||||
#include "app.h"
|
||||
#include "calculation_selectable_table_view.h"
|
||||
#include "../constant.h"
|
||||
#include "../apps_container.h"
|
||||
#include "app.h"
|
||||
#include <poincare.h>
|
||||
#include <assert.h>
|
||||
|
||||
@@ -214,10 +215,12 @@ View * CalculationController::loadView() {
|
||||
}
|
||||
m_hideableCell = new HideableEvenOddCell();
|
||||
m_hideableCell->setHide(true);
|
||||
View * result = TabTableController::loadView();
|
||||
SelectableTableView * casterResult = static_cast<SelectableTableView *>(result);
|
||||
casterResult->setMargins(k_margin, k_scrollBarMargin, k_scrollBarMargin, k_margin);
|
||||
return result;
|
||||
|
||||
CalculationSelectableTableView * selectableTableView = new CalculationSelectableTableView(this, this, this);
|
||||
selectableTableView->setBackgroundColor(Palette::WallScreenDark);
|
||||
selectableTableView->setVerticalCellOverlap(0);
|
||||
selectableTableView->setMargins(k_margin, k_scrollBarMargin, k_scrollBarMargin, k_margin);
|
||||
return selectableTableView;
|
||||
}
|
||||
|
||||
|
||||
|
||||
15
apps/statistics/calculation_selectable_table_view.cpp
Normal file
15
apps/statistics/calculation_selectable_table_view.cpp
Normal file
@@ -0,0 +1,15 @@
|
||||
#include "calculation_selectable_table_view.h"
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
bool CalculationSelectableTableView::handleEvent(Ion::Events::Event event) {
|
||||
if (event == Ion::Events::Up && selectedColumn() == 0 && selectedRow() == 1) {
|
||||
return false;
|
||||
}
|
||||
if (event == Ion::Events::Left && selectedColumn() == 1 && selectedRow() == 0) {
|
||||
return selectCellAtLocation(0, 1);
|
||||
}
|
||||
return SelectableTableView::handleEvent(event);
|
||||
}
|
||||
|
||||
}
|
||||
16
apps/statistics/calculation_selectable_table_view.h
Normal file
16
apps/statistics/calculation_selectable_table_view.h
Normal file
@@ -0,0 +1,16 @@
|
||||
#ifndef APPS_STATISTICS_CALCULATION_SELECTABLE_TABLE_VIEW_H
|
||||
#define APPS_STATISTICS_CALCULATION_SELECTABLE_TABLE_VIEW_H
|
||||
|
||||
#include <escher/selectable_table_view.h>
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class CalculationSelectableTableView : public SelectableTableView {
|
||||
public:
|
||||
using SelectableTableView::SelectableTableView;
|
||||
bool handleEvent(Ion::Events::Event event) override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user