mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps] Graph/Regression/Sequence::BannerView inherit from new Shared::XYBannerView
This commit is contained in:
committed by
Émilie Feral
parent
236b752f4f
commit
0d34923dd1
@@ -5,20 +5,22 @@
|
||||
namespace Graph {
|
||||
|
||||
BannerView::BannerView() :
|
||||
m_abscissaView(KDFont::SmallFont, 0.5f, 0.5f, KDColorBlack, Palette::GreyMiddle),
|
||||
m_functionView(KDFont::SmallFont, 0.5f, 0.5f, KDColorBlack, Palette::GreyMiddle),
|
||||
Shared::XYBannerView(),
|
||||
m_derivativeView(KDFont::SmallFont, 0.5f, 0.5f, KDColorBlack, Palette::GreyMiddle),
|
||||
m_tangentEquationView(KDFont::SmallFont, I18n::Message::LinearRegressionFormula, 0.0f, 0.5f, KDColorBlack, Palette::GreyMiddle),
|
||||
m_aView(KDFont::SmallFont, 0.5f, 0.5f, KDColorBlack, Palette::GreyMiddle),
|
||||
m_bView(KDFont::SmallFont, 0.5f, 0.5f, KDColorBlack, Palette::GreyMiddle),
|
||||
m_numberOfSubviews(2)
|
||||
m_numberOfSubviews(Shared::XYBannerView::k_numberOfSubviews)
|
||||
{
|
||||
}
|
||||
|
||||
View * BannerView::subviewAtIndex(int index) {
|
||||
assert(0 <= index && index < numberOfSubviews());
|
||||
View * subviews[] = {&m_abscissaView, &m_functionView, &m_derivativeView, &m_tangentEquationView, &m_aView, &m_bView};
|
||||
return subviews[index];
|
||||
if (index < Shared::XYBannerView::k_numberOfSubviews) {
|
||||
return Shared::XYBannerView::subviewAtIndex(index);
|
||||
}
|
||||
View * subviews[] = {&m_derivativeView, &m_tangentEquationView, &m_aView, &m_bView};
|
||||
return subviews[index - Shared::XYBannerView::k_numberOfSubviews];
|
||||
}
|
||||
|
||||
MessageTextView * BannerView::messageTextViewAtIndex(int i) const {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#ifndef GRAPH_BANNER_VIEW_H
|
||||
#define GRAPH_BANNER_VIEW_H
|
||||
|
||||
#include "../../shared/banner_view.h"
|
||||
#include "../../shared/xy_banner_view.h"
|
||||
|
||||
namespace Graph {
|
||||
|
||||
class BannerView : public Shared::BannerView {
|
||||
class BannerView : public Shared::XYBannerView {
|
||||
public:
|
||||
BannerView();
|
||||
void setNumberOfSubviews(int numberOfSubviews) { m_numberOfSubviews = numberOfSubviews; }
|
||||
@@ -13,8 +13,6 @@ private:
|
||||
int numberOfSubviews() const override { return m_numberOfSubviews; }
|
||||
View * subviewAtIndex(int index) override;
|
||||
MessageTextView * messageTextViewAtIndex(int i) const override;
|
||||
BufferTextView m_abscissaView;
|
||||
BufferTextView m_functionView;
|
||||
BufferTextView m_derivativeView;
|
||||
MessageTextView m_tangentEquationView;
|
||||
BufferTextView m_aView;
|
||||
|
||||
@@ -7,9 +7,8 @@ constexpr KDColor BannerView::k_textColor;
|
||||
constexpr KDColor BannerView::k_backgroundColor;
|
||||
|
||||
BannerView::BannerView() :
|
||||
Shared::XYBannerView(),
|
||||
m_dotNameView(k_font, 0.0f, 0.5f, k_textColor, k_backgroundColor),
|
||||
m_xView(k_font, 0.5f, 0.5f, k_textColor, k_backgroundColor),
|
||||
m_yView(k_font, 0.5f, 0.5f, k_textColor, k_backgroundColor),
|
||||
m_regressionTypeView(k_font, (I18n::Message)0, 0.0f, 0.5f, k_textColor,k_backgroundColor),
|
||||
m_subText1(k_font, 0.5f, 0.5f, k_textColor, k_backgroundColor),
|
||||
m_subText2(k_font, 0.5f, 0.5f, k_textColor, k_backgroundColor),
|
||||
@@ -21,7 +20,15 @@ BannerView::BannerView() :
|
||||
|
||||
View * BannerView::subviewAtIndex(int index) {
|
||||
assert(0 <= index && index < numberOfSubviews());
|
||||
View * subviews[] = {&m_dotNameView, &m_xView, &m_yView, &m_regressionTypeView, &m_subText1, &m_subText2, &m_subText3, &m_subText4, &m_subText5};
|
||||
if (index == 0) {
|
||||
return &m_dotNameView;
|
||||
}
|
||||
index--;
|
||||
if (index < Shared::XYBannerView::k_numberOfSubviews) {
|
||||
return Shared::XYBannerView::subviewAtIndex(index);
|
||||
}
|
||||
index -= Shared::XYBannerView::k_numberOfSubviews;
|
||||
View * subviews[] = {&m_regressionTypeView, &m_subText1, &m_subText2, &m_subText3, &m_subText4, &m_subText5};
|
||||
return subviews[index];
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
#ifndef REGRESSION_BANNER_VIEW_H
|
||||
#define REGRESSION_BANNER_VIEW_H
|
||||
|
||||
#include <escher.h>
|
||||
#include "../shared/banner_view.h"
|
||||
#include "../shared/xy_banner_view.h"
|
||||
|
||||
namespace Regression {
|
||||
|
||||
class BannerView : public Shared::BannerView {
|
||||
class BannerView : public Shared::XYBannerView {
|
||||
public:
|
||||
BannerView();
|
||||
int numberOfTextviews() const { return k_numberOfSubviews; }
|
||||
@@ -15,13 +14,11 @@ private:
|
||||
static constexpr const KDFont * k_font = KDFont::SmallFont;
|
||||
static constexpr KDColor k_textColor = KDColorBlack;
|
||||
static constexpr KDColor k_backgroundColor = Palette::GreyMiddle;
|
||||
static constexpr int k_numberOfSubviews = 9;
|
||||
static constexpr int k_numberOfSubviews = Shared::XYBannerView::k_numberOfSubviews + 7;
|
||||
int numberOfSubviews() const override { return k_numberOfSubviews; }
|
||||
View * subviewAtIndex(int index) override;
|
||||
MessageTextView * messageTextViewAtIndex(int i) const override;
|
||||
BufferTextView m_dotNameView;
|
||||
BufferTextView m_xView;
|
||||
BufferTextView m_yView;
|
||||
MessageTextView m_regressionTypeView;
|
||||
BufferTextView m_subText1;
|
||||
BufferTextView m_subText2;
|
||||
|
||||
@@ -3,7 +3,6 @@ app_headers += apps/sequence/app.h
|
||||
|
||||
app_src += $(addprefix apps/sequence/,\
|
||||
app.cpp \
|
||||
graph/banner_view.cpp \
|
||||
graph/curve_parameter_controller.cpp \
|
||||
graph/curve_view_range.cpp \
|
||||
graph/go_to_parameter_controller.cpp \
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
#include "banner_view.h"
|
||||
#include <assert.h>
|
||||
|
||||
namespace Sequence {
|
||||
|
||||
BannerView::BannerView() :
|
||||
m_abscissaView(KDFont::SmallFont, 0.5f, 0.5f, KDColorBlack, Palette::GreyMiddle),
|
||||
m_sequenceView(KDFont::SmallFont, 0.5f, 0.5f, KDColorBlack, Palette::GreyMiddle)
|
||||
{
|
||||
}
|
||||
|
||||
View * BannerView::subviewAtIndex(int index) {
|
||||
assert(0 <= index && index < numberOfSubviews());
|
||||
View * subviews[] = {&m_abscissaView, &m_sequenceView};
|
||||
return subviews[index];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
#ifndef SEQUENCE_BANNER_VIEW_H
|
||||
#define SEQUENCE_BANNER_VIEW_H
|
||||
|
||||
#include <escher.h>
|
||||
#include "../../shared/banner_view.h"
|
||||
|
||||
namespace Sequence {
|
||||
|
||||
class BannerView : public Shared::BannerView {
|
||||
public:
|
||||
BannerView();
|
||||
private:
|
||||
static constexpr int k_numberOfSubviews = 2;
|
||||
int numberOfSubviews() const override { return k_numberOfSubviews; }
|
||||
View * subviewAtIndex(int index) override;
|
||||
BufferTextView m_abscissaView;
|
||||
BufferTextView m_sequenceView;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -2,7 +2,7 @@
|
||||
#define SEQUENCE_GRAPH_CONTROLLER_H
|
||||
|
||||
#include "graph_view.h"
|
||||
#include "banner_view.h"
|
||||
#include "../../shared/xy_banner_view.h"
|
||||
#include "curve_parameter_controller.h"
|
||||
#include "curve_view_range.h"
|
||||
#include "term_sum_controller.h"
|
||||
@@ -21,7 +21,7 @@ public:
|
||||
float interestingXMin() const override;
|
||||
float interestingXHalfRange() const override;
|
||||
private:
|
||||
BannerView * bannerView() override { return &m_bannerView; }
|
||||
Shared::XYBannerView * bannerView() override { return &m_bannerView; }
|
||||
bool handleEnter() override;
|
||||
bool moveCursorHorizontally(int direction) override;
|
||||
double defaultCursorAbscissa() override;
|
||||
@@ -33,7 +33,7 @@ private:
|
||||
}
|
||||
CurveParameterController * curveParameterController() override { return &m_curveParameterController; }
|
||||
Shared::CursorView m_cursorView;
|
||||
BannerView m_bannerView;
|
||||
Shared::XYBannerView m_bannerView;
|
||||
GraphView m_view;
|
||||
CurveViewRange * m_graphRange;
|
||||
CurveParameterController m_curveParameterController;
|
||||
|
||||
@@ -69,5 +69,6 @@ app_src += $(addprefix apps/shared/,\
|
||||
values_function_parameter_controller.cpp \
|
||||
values_parameter_controller.cpp \
|
||||
vertical_cursor_view.cpp \
|
||||
xy_banner_view.cpp\
|
||||
zoom_parameter_controller.cpp \
|
||||
)
|
||||
|
||||
18
apps/shared/xy_banner_view.cpp
Normal file
18
apps/shared/xy_banner_view.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
#include "xy_banner_view.h"
|
||||
#include <assert.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
XYBannerView::XYBannerView() :
|
||||
m_abscissaView(KDFont::SmallFont, 0.5f, 0.5f, KDColorBlack, Palette::GreyMiddle),
|
||||
m_ordinateView(KDFont::SmallFont, 0.5f, 0.5f, KDColorBlack, Palette::GreyMiddle)
|
||||
{
|
||||
}
|
||||
|
||||
View * XYBannerView::subviewAtIndex(int index) {
|
||||
assert(0 <= index && index < numberOfSubviews());
|
||||
View * subviews[] = {&m_abscissaView, &m_ordinateView};
|
||||
return subviews[index];
|
||||
}
|
||||
|
||||
}
|
||||
22
apps/shared/xy_banner_view.h
Normal file
22
apps/shared/xy_banner_view.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#ifndef SHARED_XY_BANNER_VIEW_H
|
||||
#define SHARED_XY_BANNER_VIEW_H
|
||||
|
||||
#include "banner_view.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class XYBannerView : public BannerView {
|
||||
public:
|
||||
XYBannerView();
|
||||
static constexpr int k_numberOfSubviews = 2;
|
||||
protected:
|
||||
View * subviewAtIndex(int index) override;
|
||||
private:
|
||||
int numberOfSubviews() const override { return k_numberOfSubviews; }
|
||||
BufferTextView m_abscissaView;
|
||||
BufferTextView m_ordinateView;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user