mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/statistics] Remove duplicate banner views
This commit is contained in:
@@ -10,7 +10,7 @@ using namespace Poincare;
|
||||
namespace Shared {
|
||||
|
||||
CurveView::CurveView(CurveViewRange * curveViewRange, CurveViewCursor * curveViewCursor, BannerView * bannerView,
|
||||
View * cursorView, View * okView) :
|
||||
View * cursorView, View * okView, bool displayBanner) :
|
||||
View(),
|
||||
m_bannerView(bannerView),
|
||||
m_curveViewCursor(curveViewCursor),
|
||||
@@ -18,7 +18,8 @@ CurveView::CurveView(CurveViewRange * curveViewRange, CurveViewCursor * curveVie
|
||||
m_cursorView(cursorView),
|
||||
m_okView(okView),
|
||||
m_mainViewSelected(false),
|
||||
m_drawnRangeVersion(0)
|
||||
m_drawnRangeVersion(0),
|
||||
m_displayBanner(displayBanner)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -27,7 +28,7 @@ void CurveView::reload() {
|
||||
if (m_drawnRangeVersion != rangeVersion) {
|
||||
// FIXME: This should also be called if the *curve* changed
|
||||
m_drawnRangeVersion = rangeVersion;
|
||||
KDCoordinate bannerHeight = m_bannerView != nullptr ? m_bannerView->bounds().height() : 0;
|
||||
KDCoordinate bannerHeight = (m_bannerView != nullptr && m_displayBanner) ? m_bannerView->bounds().height() : 0;
|
||||
markRectAsDirty(KDRect(0, 0, bounds().width(), bounds().height() - bannerHeight));
|
||||
if (label(Axis::Horizontal, 0) != nullptr) {
|
||||
computeLabels(Axis::Horizontal);
|
||||
@@ -514,7 +515,7 @@ void CurveView::layoutSubviews() {
|
||||
if (m_curveViewCursor != nullptr && m_cursorView != nullptr) {
|
||||
m_cursorView->setFrame(cursorFrame());
|
||||
}
|
||||
if (m_bannerView != nullptr) {
|
||||
if (m_bannerView != nullptr && m_displayBanner) {
|
||||
m_bannerView->setFrame(bannerFrame());
|
||||
}
|
||||
if (m_okView != nullptr) {
|
||||
@@ -530,7 +531,7 @@ KDRect CurveView::cursorFrame() {
|
||||
KDCoordinate yCursorPixelPosition = std::round(floatToPixel(Axis::Vertical, m_curveViewCursor->y()));
|
||||
cursorFrame = KDRect(xCursorPixelPosition - (cursorSize.width()-1)/2, yCursorPixelPosition - (cursorSize.height()-1)/2, cursorSize.width(), cursorSize.height());
|
||||
if (cursorSize.height() == 0) {
|
||||
KDCoordinate bannerHeight = m_bannerView != nullptr ? m_bannerView->minimalSizeForOptimalDisplay().height() : 0;
|
||||
KDCoordinate bannerHeight = (m_bannerView != nullptr && m_displayBanner) ? m_bannerView->minimalSizeForOptimalDisplay().height() : 0;
|
||||
cursorFrame = KDRect(xCursorPixelPosition - (cursorSize.width()-1)/2, 0, cursorSize.width(),bounds().height()-bannerHeight);
|
||||
}
|
||||
}
|
||||
@@ -539,7 +540,7 @@ KDRect CurveView::cursorFrame() {
|
||||
|
||||
KDRect CurveView::bannerFrame() {
|
||||
KDRect bannerFrame = KDRectZero;
|
||||
if (m_bannerView && m_mainViewSelected) {
|
||||
if (m_bannerView && m_displayBanner && m_mainViewSelected) {
|
||||
KDCoordinate bannerHeight = m_bannerView->minimalSizeForOptimalDisplay().height();
|
||||
bannerFrame = KDRect(0, bounds().height()- bannerHeight, bounds().width(), bannerHeight);
|
||||
}
|
||||
@@ -550,7 +551,7 @@ KDRect CurveView::okFrame() {
|
||||
KDRect okFrame = KDRectZero;
|
||||
if (m_okView && m_mainViewSelected) {
|
||||
KDCoordinate bannerHeight = 0;
|
||||
if (m_bannerView != nullptr) {
|
||||
if (m_bannerView != nullptr && m_displayBanner) {
|
||||
bannerHeight = m_bannerView->minimalSizeForOptimalDisplay().height();
|
||||
}
|
||||
KDSize okSize = m_okView->minimalSizeForOptimalDisplay();
|
||||
@@ -560,7 +561,7 @@ KDRect CurveView::okFrame() {
|
||||
}
|
||||
|
||||
int CurveView::numberOfSubviews() const {
|
||||
return (m_bannerView != nullptr) + (m_cursorView != nullptr) + (m_okView != nullptr);
|
||||
return (m_bannerView != nullptr && m_displayBanner) + (m_cursorView != nullptr) + (m_okView != nullptr);
|
||||
};
|
||||
|
||||
View * CurveView::subviewAtIndex(int index) {
|
||||
@@ -572,12 +573,12 @@ View * CurveView::subviewAtIndex(int index) {
|
||||
if (m_okView != nullptr) {
|
||||
return m_okView;
|
||||
} else {
|
||||
if (m_bannerView != nullptr) {
|
||||
if (m_bannerView != nullptr && m_displayBanner) {
|
||||
return m_bannerView;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (index == 1 && m_bannerView != nullptr && m_okView != nullptr) {
|
||||
if (index == 1 && m_bannerView != nullptr && m_displayBanner && m_okView != nullptr) {
|
||||
return m_bannerView;
|
||||
}
|
||||
return m_cursorView;
|
||||
|
||||
@@ -17,14 +17,19 @@ public:
|
||||
Horizontal = 0,
|
||||
Vertical = 1
|
||||
};
|
||||
CurveView(CurveViewRange * curveViewRange = nullptr, CurveViewCursor * curveViewCursor = nullptr,
|
||||
BannerView * bannerView = nullptr, View * cursorView = nullptr, View * okView = nullptr);
|
||||
CurveView(CurveViewRange * curveViewRange = nullptr,
|
||||
CurveViewCursor * curveViewCursor = nullptr,
|
||||
BannerView * bannerView = nullptr,
|
||||
View * cursorView = nullptr,
|
||||
View * okView = nullptr,
|
||||
bool displayBanner = true);
|
||||
virtual void reload();
|
||||
// When the main view is selected, the banner view is visible
|
||||
bool isMainViewSelected() const;
|
||||
void selectMainView(bool mainViewSelected);
|
||||
void setCursorView(View * cursorView);
|
||||
void setBannerView(View * bannerView);
|
||||
void setDisplayBannerView(bool display) { m_displayBanner = display; }
|
||||
void setOkView(View * okView);
|
||||
float resolution() const;
|
||||
protected:
|
||||
@@ -86,6 +91,7 @@ private:
|
||||
View * m_okView;
|
||||
bool m_mainViewSelected;
|
||||
uint32_t m_drawnRangeVersion;
|
||||
bool m_displayBanner;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,9 @@ HistogramController::ContentView::ContentView(HistogramController * controller,
|
||||
m_bannerView(),
|
||||
m_store(store)
|
||||
{
|
||||
m_histogramView1.setDisplayBannerView(false);
|
||||
m_histogramView2.setDisplayBannerView(false);
|
||||
m_histogramView3.setDisplayBannerView(false);
|
||||
}
|
||||
|
||||
HistogramView * HistogramController::ContentView::histogramViewAtIndex(int index) {
|
||||
|
||||
Reference in New Issue
Block a user