diff --git a/apps/regression/app.cpp b/apps/regression/app.cpp index c32091705..0163fb787 100644 --- a/apps/regression/app.cpp +++ b/apps/regression/app.cpp @@ -12,8 +12,9 @@ App::App(Container * container) : m_graphHeader(HeaderViewController(&m_graphAlternateEmptyViewController, &m_graphController, &m_graphController)), m_graphAlternateEmptyViewController(AlternateEmptyViewController(nullptr, &m_graphHeader, &m_graphController)), m_graphStackViewController(StackViewController(&m_tabViewController, &m_graphAlternateEmptyViewController)), - m_storeController(StoreController(nullptr, &m_store)), - m_storeStackViewController(StackViewController(&m_tabViewController, &m_storeController)), + m_storeController(StoreController(&m_storeHeader, &m_store, &m_storeHeader)), + m_storeHeader(HeaderViewController(nullptr, &m_storeController, &m_storeController)), + m_storeStackViewController(StackViewController(&m_tabViewController, &m_storeHeader)), m_tabViewController(&m_modalViewController, &m_storeStackViewController, &m_graphStackViewController, &m_calculationAlternateEmptyViewController) { } diff --git a/apps/regression/app.h b/apps/regression/app.h index 229d6d761..d3d218de1 100644 --- a/apps/regression/app.h +++ b/apps/regression/app.h @@ -22,6 +22,7 @@ private: AlternateEmptyViewController m_graphAlternateEmptyViewController; StackViewController m_graphStackViewController; ::StoreController m_storeController; + HeaderViewController m_storeHeader; StackViewController m_storeStackViewController; TabViewController m_tabViewController; }; diff --git a/apps/statistics/app.cpp b/apps/statistics/app.cpp index 744e0e60c..3a405e52e 100644 --- a/apps/statistics/app.cpp +++ b/apps/statistics/app.cpp @@ -14,7 +14,8 @@ App::App(Container * container) : m_histogramHeader(HeaderViewController(&m_histogramAlternateEmptyViewController, &m_histogramController, &m_histogramController)), m_histogramAlternateEmptyViewController(AlternateEmptyViewController(nullptr, &m_histogramHeader, &m_histogramController)), m_histogramStackViewController(StackViewController(&m_tabViewController, &m_histogramAlternateEmptyViewController)), - m_storeController(nullptr, &m_store), + m_storeController(&m_storeHeader, &m_store, &m_storeHeader), + m_storeHeader(HeaderViewController(nullptr, &m_storeController, &m_storeController)), m_storeStackViewController(StackViewController(&m_tabViewController, &m_storeController)), m_tabViewController(&m_modalViewController, &m_storeStackViewController, &m_histogramStackViewController, &m_boxAlternateEmptyViewController, &m_calculationAlternateEmptyViewController) { diff --git a/apps/statistics/app.h b/apps/statistics/app.h index cc2421377..636f376b7 100644 --- a/apps/statistics/app.h +++ b/apps/statistics/app.h @@ -25,6 +25,7 @@ private: AlternateEmptyViewController m_histogramAlternateEmptyViewController; StackViewController m_histogramStackViewController; StoreController m_storeController; + HeaderViewController m_storeHeader; StackViewController m_storeStackViewController; TabViewController m_tabViewController; }; diff --git a/apps/statistics/store_controller.cpp b/apps/statistics/store_controller.cpp index a9563c975..eabb36c5f 100644 --- a/apps/statistics/store_controller.cpp +++ b/apps/statistics/store_controller.cpp @@ -6,8 +6,8 @@ namespace Statistics { -StoreController::StoreController(Responder * parentResponder, Store * store) : - ::StoreController(parentResponder, store) +StoreController::StoreController(Responder * parentResponder, Store * store, HeaderViewController * header) : + ::StoreController(parentResponder, store, header) { } diff --git a/apps/statistics/store_controller.h b/apps/statistics/store_controller.h index 93e9a69ae..dd921d4f9 100644 --- a/apps/statistics/store_controller.h +++ b/apps/statistics/store_controller.h @@ -9,7 +9,7 @@ namespace Statistics { class StoreController : public ::StoreController { public: - StoreController(Responder * parentResponder, Store * store); + StoreController(Responder * parentResponder, Store * store, HeaderViewController * header); void willDisplayCellAtLocation(TableViewCell * cell, int i, int j) override; }; diff --git a/apps/store_controller.cpp b/apps/store_controller.cpp index 1bb3b02a6..e77752b1e 100644 --- a/apps/store_controller.cpp +++ b/apps/store_controller.cpp @@ -3,8 +3,9 @@ #include "constant.h" #include -StoreController::StoreController(Responder * parentResponder, FloatPairStore * store) : +StoreController::StoreController(Responder * parentResponder, FloatPairStore * store, HeaderViewController * header) : EditableCellTableViewController(parentResponder, Metric::TopMargin, Metric::RightMargin, Metric::BottomMargin, Metric::LeftMargin), + HeaderViewDelegate(header), m_editableCells{EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), EvenOddEditableTextCell(&m_selectableTableView, this, m_draftTextBuffer, KDText::FontSize::Large), @@ -83,7 +84,7 @@ bool StoreController::handleEvent(Ion::Events::Event event) { } if (event == Ion::Events::OK && m_selectableTableView.selectedRow() == 0) { m_storeParameterController.selectXColumn(m_selectableTableView.selectedColumn() == 0); - StackViewController * stack = ((StackViewController *)parentResponder()); + StackViewController * stack = ((StackViewController *)parentResponder()->parentResponder()); stack->push(&m_storeParameterController); return true; } @@ -96,7 +97,7 @@ bool StoreController::handleEvent(Ion::Events::Event event) { } Responder * StoreController::tabController() const { - return (parentResponder()->parentResponder()); + return (parentResponder()->parentResponder()->parentResponder()); } bool StoreController::cellAtLocationIsEditable(int columnIndex, int rowIndex) { diff --git a/apps/store_controller.h b/apps/store_controller.h index 4b62963df..c095b5a55 100644 --- a/apps/store_controller.h +++ b/apps/store_controller.h @@ -6,9 +6,9 @@ #include "store_parameter_controller.h" #include "editable_cell_table_view_controller.h" -class StoreController : public EditableCellTableViewController { +class StoreController : public EditableCellTableViewController, public HeaderViewDelegate { public: - StoreController(Responder * parentResponder, FloatPairStore * store); + StoreController(Responder * parentResponder, FloatPairStore * store, HeaderViewController * header); const char * title() const override; int numberOfColumns() override; void willDisplayCellAtLocation(TableViewCell * cell, int i, int j) override;