mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-19 05:40:38 +01:00
[apps/graph] Fix CurveParamCtrlr relayouting bug
Scenario: f(x) = 1, g(theta) = 2, go to Graph. Press ok on the polar curve, then Back, then OK on the cartesian curve : the menu is drawn as if the curve was still polar.
This commit is contained in:
@@ -76,6 +76,13 @@ int CurveParameterController::reusableCellCount() {
|
||||
return 1 + (shouldDisplayCalculationAndDerivative() ? 2 : 0);
|
||||
}
|
||||
|
||||
void CurveParameterController::viewDidDisappear() {
|
||||
/* Deselect the table properly because it needs to be relayouted the next time
|
||||
* it appears: the number of rows might change according to the plot type. */
|
||||
m_selectableTableView.deselectTable(false);
|
||||
m_selectableTableView.setFrame(KDRectZero);
|
||||
}
|
||||
|
||||
bool CurveParameterController::shouldDisplayCalculationAndDerivative() const {
|
||||
Shared::ExpiringPointer<CartesianFunction> f = App::app()->functionStore()->modelForRecord(m_record);
|
||||
return f->plotType() == CartesianFunction::PlotType::Cartesian;
|
||||
|
||||
@@ -18,6 +18,7 @@ public:
|
||||
HighlightCell * reusableCell(int index) override;
|
||||
int reusableCellCount() override;
|
||||
void willDisplayCellForIndex(HighlightCell * cell, int index) override;
|
||||
void viewDidDisappear() override;
|
||||
private:
|
||||
bool shouldDisplayCalculationAndDerivative() const;
|
||||
int cellIndex(int visibleCellIndex) const;
|
||||
|
||||
Reference in New Issue
Block a user