mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[statistics] Fix histogram_controller and multiple_data_view_controller
life cycle (viewWillAppear, didEnterResponderChain) This fixes the histogram labels when a serie is added
This commit is contained in:
committed by
LeaNumworks
parent
fe3b9ad5ba
commit
737393072e
@@ -27,11 +27,9 @@ Responder * MultipleDataViewController::defaultController() {
|
||||
}
|
||||
|
||||
void MultipleDataViewController::viewWillAppear() {
|
||||
multipleDataView()->setDisplayBanner(true);
|
||||
if (*m_selectedSeriesIndex < 0) {
|
||||
if (*m_selectedSeriesIndex < 0 || m_store->sumOfOccurrences(*m_selectedSeriesIndex) == 0) {
|
||||
*m_selectedSeriesIndex = multipleDataView()->seriesOfSubviewAtIndex(0);
|
||||
}
|
||||
multipleDataView()->selectDataView(*m_selectedSeriesIndex);
|
||||
reloadBannerView();
|
||||
multipleDataView()->reload();
|
||||
}
|
||||
@@ -45,8 +43,8 @@ bool MultipleDataViewController::handleEvent(Ion::Events::Event event) {
|
||||
*m_selectedSeriesIndex = multipleDataView()->seriesOfSubviewAtIndex(currentSelectedSubview+1);
|
||||
*m_selectedBarIndex = MultipleDataView::k_defaultSelectedBar;
|
||||
multipleDataView()->selectDataView(*m_selectedSeriesIndex);
|
||||
highlightSelection();
|
||||
reloadBannerView();
|
||||
app()->setFirstResponder(this);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -58,7 +56,7 @@ bool MultipleDataViewController::handleEvent(Ion::Events::Event event) {
|
||||
*m_selectedSeriesIndex = multipleDataView()->seriesOfSubviewAtIndex(currentSelectedSubview-1);
|
||||
*m_selectedBarIndex = MultipleDataView::k_defaultSelectedBar;
|
||||
multipleDataView()->selectDataView(*m_selectedSeriesIndex);
|
||||
app()->setFirstResponder(this);
|
||||
highlightSelection();
|
||||
} else {
|
||||
app()->setFirstResponder(tabController());
|
||||
}
|
||||
@@ -73,26 +71,18 @@ bool MultipleDataViewController::handleEvent(Ion::Events::Event event) {
|
||||
return false;
|
||||
}
|
||||
|
||||
void MultipleDataViewController::didBecomeFirstResponder() {
|
||||
void MultipleDataViewController::didEnterResponderChain(Responder * firstResponder) {
|
||||
assert(*m_selectedSeriesIndex >= 0);
|
||||
multipleDataView()->setDisplayBanner(true);
|
||||
if (*m_selectedSeriesIndex < 0 || m_store->sumOfOccurrences(*m_selectedSeriesIndex) == 0) {
|
||||
if (*m_selectedSeriesIndex >= 0) {
|
||||
multipleDataView()->deselectDataView(*m_selectedSeriesIndex);
|
||||
}
|
||||
*m_selectedSeriesIndex = multipleDataView()->seriesOfSubviewAtIndex(0);
|
||||
multipleDataView()->selectDataView(*m_selectedSeriesIndex);
|
||||
multipleDataView()->reload();
|
||||
} else {
|
||||
multipleDataView()->dataViewAtIndex(*m_selectedSeriesIndex)->selectMainView(true);
|
||||
}
|
||||
multipleDataView()->selectDataView(*m_selectedSeriesIndex);
|
||||
highlightSelection();
|
||||
}
|
||||
|
||||
void MultipleDataViewController::willExitResponderChain(Responder * nextFirstResponder) {
|
||||
if (nextFirstResponder == nullptr || nextFirstResponder == tabController()) {
|
||||
if (*m_selectedSeriesIndex >= 0) {
|
||||
multipleDataView()->dataViewAtIndex(*m_selectedSeriesIndex)->selectMainView(false);
|
||||
multipleDataView()->setDisplayBanner(false);
|
||||
}
|
||||
assert(*m_selectedSeriesIndex >= 0);
|
||||
multipleDataView()->deselectDataView(*m_selectedSeriesIndex);
|
||||
multipleDataView()->setDisplayBanner(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user