diff --git a/apps/regression/store_parameter_controller.cpp b/apps/regression/store_parameter_controller.cpp index bfa4ed3f2..5c2583f0f 100644 --- a/apps/regression/store_parameter_controller.cpp +++ b/apps/regression/store_parameter_controller.cpp @@ -9,6 +9,12 @@ StoreParameterController::StoreParameterController(Responder * parentResponder, m_changeRegressionCell(I18n::Message::ChangeRegression), m_regressionController(this, store) { + static_cast(m_changeRegressionCell.subAccessoryView())->setHorizontalMargin(5); +} + +void StoreParameterController::viewWillAppear() { + m_selectableTableView.reloadData(); + Shared::StoreParameterController::viewWillAppear(); } bool StoreParameterController::handleEvent(Ion::Events::Event event) { @@ -56,10 +62,10 @@ int StoreParameterController::typeAtLocation(int i, int j) { } void StoreParameterController::willDisplayCellForIndex(HighlightCell * cell, int index) { - Shared::StoreParameterController::willDisplayCellForIndex(cell, index); - if (index == numberOfRows() - 1) { + if (index == numberOfRows() -1) { m_changeRegressionCell.setExpressionLayout(static_cast(m_store)->modelForSeries(m_series)->layout()); } + Shared::StoreParameterController::willDisplayCellForIndex(cell, index); } } diff --git a/apps/regression/store_parameter_controller.h b/apps/regression/store_parameter_controller.h index ee810fea4..91c79b0e0 100644 --- a/apps/regression/store_parameter_controller.h +++ b/apps/regression/store_parameter_controller.h @@ -13,6 +13,7 @@ class StoreParameterController : public Shared::StoreParameterController { public: StoreParameterController(Responder * parentResponder, Store * store, StoreController * storeController); bool handleEvent(Ion::Events::Event event) override; + void viewWillAppear() override; // ListViewDataSource int numberOfRows() override { return Shared::StoreParameterController::numberOfRows() + 1; } KDCoordinate rowHeight(int j) override; diff --git a/apps/shared/store_parameter_controller.cpp b/apps/shared/store_parameter_controller.cpp index e3d0bfeb2..4a0362ead 100644 --- a/apps/shared/store_parameter_controller.cpp +++ b/apps/shared/store_parameter_controller.cpp @@ -8,13 +8,13 @@ StoreParameterController::StoreParameterController(Responder * parentResponder, ViewController(parentResponder), m_store(store), m_series(0), + m_selectableTableView(this, this, this), m_deleteColumn(I18n::Message::ClearColumn), m_fillWithFormula(I18n::Message::FillWithFormula), #if COPY_IMPORT_LIST m_copyColumn(I18n::Message::CopyColumnInList), m_importList(I18n::Message::ImportList), #endif - m_selectableTableView(this, this, this), m_storeController(storeController), m_xColumnSelected(true) { diff --git a/apps/shared/store_parameter_controller.h b/apps/shared/store_parameter_controller.h index 943f3e1a9..602ffd7aa 100644 --- a/apps/shared/store_parameter_controller.h +++ b/apps/shared/store_parameter_controller.h @@ -32,6 +32,7 @@ protected: static constexpr int k_standardCellType = 0; DoublePairStore * m_store; int m_series; + SelectableTableView m_selectableTableView; private: #if COPY_IMPORT_LIST constexpr static int k_totalNumberOfCell = 4; @@ -42,7 +43,6 @@ private: #endif MessageTableCell m_deleteColumn; MessageTableCell m_fillWithFormula; - SelectableTableView m_selectableTableView; StoreController * m_storeController; bool m_xColumnSelected; }; diff --git a/escher/include/escher/expression_view.h b/escher/include/escher/expression_view.h index c6104debc..f97de571a 100644 --- a/escher/include/escher/expression_view.h +++ b/escher/include/escher/expression_view.h @@ -21,6 +21,7 @@ public: void setBackgroundColor(KDColor backgroundColor); void setTextColor(KDColor textColor); void setAlignment(float horizontalAlignment, float verticalAlignment); + void setHorizontalMargin(KDCoordinate horizontalMargin) { m_horizontalMargin = horizontalMargin; } int numberOfLayouts() const; KDSize minimalSizeForOptimalDisplay() const override; KDPoint drawingOrigin() const; @@ -36,6 +37,7 @@ private: float m_verticalAlignment; KDColor m_textColor; KDColor m_backgroundColor; + KDCoordinate m_horizontalMargin; }; #endif diff --git a/escher/include/escher/list_view_data_source.h b/escher/include/escher/list_view_data_source.h index f2c5a174d..7af0648d0 100644 --- a/escher/include/escher/list_view_data_source.h +++ b/escher/include/escher/list_view_data_source.h @@ -15,4 +15,4 @@ public: virtual void willDisplayCellForIndex(HighlightCell * cell, int index); }; -#endif \ No newline at end of file +#endif diff --git a/escher/src/expression_view.cpp b/escher/src/expression_view.cpp index 0bcd59b7e..1baee35d1 100644 --- a/escher/src/expression_view.cpp +++ b/escher/src/expression_view.cpp @@ -7,7 +7,8 @@ ExpressionView::ExpressionView(float horizontalAlignment, float verticalAlignmen m_horizontalAlignment(horizontalAlignment), m_verticalAlignment(verticalAlignment), m_textColor(textColor), - m_backgroundColor(backgroundColor) + m_backgroundColor(backgroundColor), + m_horizontalMargin(0) { } @@ -48,12 +49,13 @@ KDSize ExpressionView::minimalSizeForOptimalDisplay() const { if (m_expressionLayout == nullptr) { return KDSizeZero; } - return m_expressionLayout->size(); + KDSize expressionSize = m_expressionLayout->size(); + return KDSize(expressionSize.width() + 2*m_horizontalMargin, expressionSize.height()); } KDPoint ExpressionView::drawingOrigin() const { KDSize expressionSize = m_expressionLayout->size(); - return KDPoint(m_horizontalAlignment*(m_frame.width() - expressionSize.width()), max(0, (m_frame.height() - expressionSize.height())/2)); + return KDPoint(m_horizontalMargin + m_horizontalAlignment*(m_frame.width() - 2*m_horizontalMargin - expressionSize.width()), max(0, (m_frame.height() - expressionSize.height())/2)); } KDPoint ExpressionView::absoluteDrawingOrigin() const {