mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[app/stats] Prevent histogram blinking
This commit is contained in:
@@ -10,6 +10,7 @@ namespace Statistics {
|
||||
|
||||
class MultipleDataView : public View {
|
||||
public:
|
||||
static constexpr int k_defaultSelectedBar = 0;
|
||||
MultipleDataView(Store * store) :
|
||||
m_store(store),
|
||||
m_displayBanner(false)
|
||||
|
||||
@@ -43,7 +43,7 @@ bool MultipleDataViewController::handleEvent(Ion::Events::Event event) {
|
||||
if (currentSelectedSubview < m_store->numberOfNonEmptySeries() - 1) {
|
||||
multipleDataView()->deselectDataView(m_selectedSeries);
|
||||
m_selectedSeries = multipleDataView()->seriesOfSubviewAtIndex(currentSelectedSubview+1);
|
||||
*m_selectedBarIndex = 0;
|
||||
*m_selectedBarIndex = MultipleDataView::k_defaultSelectedBar;
|
||||
multipleDataView()->selectDataView(m_selectedSeries);
|
||||
reloadBannerView();
|
||||
app()->setFirstResponder(this);
|
||||
@@ -56,7 +56,7 @@ bool MultipleDataViewController::handleEvent(Ion::Events::Event event) {
|
||||
if (currentSelectedSubview > 0) {
|
||||
multipleDataView()->deselectDataView(m_selectedSeries);
|
||||
m_selectedSeries = multipleDataView()->seriesOfSubviewAtIndex(currentSelectedSubview-1);
|
||||
*m_selectedBarIndex = 0;
|
||||
*m_selectedBarIndex = MultipleDataView::k_defaultSelectedBar;
|
||||
multipleDataView()->selectDataView(m_selectedSeries);
|
||||
app()->setFirstResponder(this);
|
||||
} else {
|
||||
|
||||
@@ -48,6 +48,10 @@ void MultipleHistogramsView::layoutSubviews() {
|
||||
void MultipleHistogramsView::changeDataViewSelection(int index, bool select) {
|
||||
MultipleDataView::changeDataViewSelection(index, select);
|
||||
dataViewAtIndex(index)->setDisplayLabels(select);
|
||||
if (select == false) {
|
||||
// Set the hightlight to default selected bar to prevent blinking
|
||||
dataViewAtIndex(index)->setHighlight(m_store->startOfBarAtIndex(index, k_defaultSelectedBar), m_store->endOfBarAtIndex(index, k_defaultSelectedBar));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user