mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
[apps/shared] Namespace shared
Change-Id: I6dec7ce900bb4e801a25c567fe5e242cb744cf29
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
#include "calculation_icon.h"
|
||||
using namespace Poincare;
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Calculation {
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
namespace Calculation {
|
||||
|
||||
class App : public TextFieldDelegateApp {
|
||||
class App : public Shared::TextFieldDelegateApp {
|
||||
public:
|
||||
App(Container * container, Poincare::Context * context);
|
||||
Poincare::Context * localContext() override;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "app.h"
|
||||
#include "graph_icon.h"
|
||||
|
||||
using namespace Poincare;
|
||||
using namespace Shared;
|
||||
|
||||
namespace Graph {
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
namespace Graph {
|
||||
|
||||
class App : public TextFieldDelegateApp {
|
||||
class App : public Shared::TextFieldDelegateApp {
|
||||
public:
|
||||
App(Container * container, Poincare::Context * context);
|
||||
InputViewController * inputViewController();
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
namespace Graph {
|
||||
|
||||
class BannerView : public ::BannerView {
|
||||
class BannerView : public Shared::BannerView {
|
||||
public:
|
||||
BannerView();
|
||||
void setDisplayDerivative(bool displayDerivative);
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "curve_parameter_controller.h"
|
||||
#include <assert.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Graph {
|
||||
|
||||
CurveParameterController::CurveParameterController(InteractiveCurveViewRange * graphRange, BannerView * bannerView, CurveViewCursor * cursor) :
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace Graph {
|
||||
|
||||
class CurveParameterController : public ViewController, public SimpleListViewDataSource {
|
||||
public:
|
||||
CurveParameterController(InteractiveCurveViewRange * graphRange, BannerView * bannerView, CurveViewCursor * cursor);
|
||||
CurveParameterController(Shared::InteractiveCurveViewRange * graphRange, BannerView * bannerView, Shared::CurveViewCursor * cursor);
|
||||
|
||||
View * view() override;
|
||||
const char * title() const override;
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include "../../apps_container.h"
|
||||
#include <assert.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Graph {
|
||||
|
||||
GoToParameterController::GoToParameterController(Responder * parentResponder, InteractiveCurveViewRange * graphRange, CurveViewCursor * cursor) :
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
#include "../../shared/interactive_curve_view_range.h"
|
||||
|
||||
namespace Graph {
|
||||
class GoToParameterController : public FloatParameterController {
|
||||
class GoToParameterController : public Shared::FloatParameterController {
|
||||
public:
|
||||
GoToParameterController(Responder * parentResponder, InteractiveCurveViewRange * graphRange, CurveViewCursor * cursor);
|
||||
GoToParameterController(Responder * parentResponder, Shared::InteractiveCurveViewRange * graphRange, Shared::CurveViewCursor * cursor);
|
||||
const char * title() const override;
|
||||
int numberOfRows() override;
|
||||
TableViewCell * reusableCell(int index) override;
|
||||
@@ -22,8 +22,8 @@ private:
|
||||
void setParameterAtIndex(int parameterIndex, float f) override;
|
||||
char m_draftTextBuffer[EditableTextMenuListCell::k_bufferLength];
|
||||
EditableTextMenuListCell m_abscisseCell;
|
||||
InteractiveCurveViewRange * m_graphRange;
|
||||
CurveViewCursor * m_cursor;
|
||||
Shared::InteractiveCurveViewRange * m_graphRange;
|
||||
Shared::CurveViewCursor * m_cursor;
|
||||
Function * m_function;
|
||||
};
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <float.h>
|
||||
|
||||
using namespace Poincare;
|
||||
using namespace Shared;
|
||||
|
||||
namespace Graph {
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "../function_store.h"
|
||||
|
||||
namespace Graph {
|
||||
class GraphController : public InteractiveCurveViewController, public InteractiveCurveViewRangeDelegate {
|
||||
class GraphController : public Shared::InteractiveCurveViewController, public Shared::InteractiveCurveViewRangeDelegate {
|
||||
public:
|
||||
GraphController(Responder * parentResponder, FunctionStore * functionStore, HeaderViewController * header);
|
||||
void didBecomeFirstResponder() override;
|
||||
@@ -19,7 +19,7 @@ public:
|
||||
bool isEmpty() const override;
|
||||
const char * emptyMessage() override;
|
||||
|
||||
bool didChangeRange(InteractiveCurveViewRange * interactiveCurveViewRange) override;
|
||||
bool didChangeRange(Shared::InteractiveCurveViewRange * interactiveCurveViewRange) override;
|
||||
private:
|
||||
constexpr static float k_cursorTopMarginRatio = 0.025f; // (cursorHeight/2)/graphViewHeight
|
||||
constexpr static float k_cursorRightMarginRatio = 0.015f; // (cursorWidth/2)/graphViewWidth
|
||||
@@ -41,11 +41,11 @@ private:
|
||||
bool moveCursorVertically(int direction) override;
|
||||
uint32_t modelVersion() override;
|
||||
uint32_t rangeVersion() override;
|
||||
InteractiveCurveViewRange * interactiveCurveViewRange() override;
|
||||
CurveView * curveView() override;
|
||||
Shared::InteractiveCurveViewRange * interactiveCurveViewRange() override;
|
||||
Shared::CurveView * curveView() override;
|
||||
BannerView m_bannerView;
|
||||
GraphView m_view;
|
||||
InteractiveCurveViewRange m_graphRange;
|
||||
Shared::InteractiveCurveViewRange m_graphRange;
|
||||
InitialisationParameterController m_initialisationParameterController;
|
||||
CurveParameterController m_curveParameterController;
|
||||
FunctionStore * m_functionStore;
|
||||
|
||||
@@ -3,11 +3,12 @@
|
||||
#include <math.h>
|
||||
#include <float.h>
|
||||
using namespace Poincare;
|
||||
using namespace Shared;
|
||||
|
||||
namespace Graph {
|
||||
|
||||
GraphView::GraphView(FunctionStore * functionStore, InteractiveCurveViewRange * graphRange,
|
||||
CurveViewCursor * cursor, ::BannerView * bannerView, View * cursorView) :
|
||||
CurveViewCursor * cursor, BannerView * bannerView, View * cursorView) :
|
||||
CurveView(graphRange, cursor, bannerView, cursorView),
|
||||
m_functionStore(functionStore),
|
||||
m_context(nullptr),
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
|
||||
namespace Graph {
|
||||
|
||||
class GraphView : public CurveView {
|
||||
class GraphView : public Shared::CurveView {
|
||||
public:
|
||||
GraphView(FunctionStore * functionStore, InteractiveCurveViewRange * graphRange,
|
||||
CurveViewCursor * cursor, ::BannerView * bannerView, View * cursorView);
|
||||
GraphView(FunctionStore * functionStore, Shared::InteractiveCurveViewRange * graphRange,
|
||||
Shared::CurveViewCursor * cursor, Shared::BannerView * bannerView, View * cursorView);
|
||||
void drawRect(KDContext * ctx, KDRect rect) const override;
|
||||
void setContext(Poincare::Context * context);
|
||||
void setPreferences(Preferences * preferences);
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Graph {
|
||||
|
||||
InitialisationParameterController::InitialisationParameterController(Responder * parentResponder, InteractiveCurveViewRange * graphRange) :
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Graph {
|
||||
|
||||
class InitialisationParameterController : public ViewController, public SimpleListViewDataSource {
|
||||
public:
|
||||
InitialisationParameterController(Responder * parentResponder, InteractiveCurveViewRange * graphRange);
|
||||
InitialisationParameterController(Responder * parentResponder, Shared::InteractiveCurveViewRange * graphRange);
|
||||
View * view() override;
|
||||
const char * title() const override;
|
||||
bool handleEvent(Ion::Events::Event event) override;
|
||||
@@ -22,7 +22,7 @@ private:
|
||||
constexpr static int k_totalNumberOfCells = 4;
|
||||
MenuListCell m_cells[k_totalNumberOfCells];
|
||||
SelectableTableView m_selectableTableView;
|
||||
InteractiveCurveViewRange * m_graphRange;
|
||||
Shared::InteractiveCurveViewRange * m_graphRange;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#include "../app.h"
|
||||
#include <assert.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Graph {
|
||||
|
||||
IntervalParameterController::IntervalParameterController(Responder * parentResponder, Interval * interval) :
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
namespace Graph {
|
||||
|
||||
class IntervalParameterController : public FloatParameterController {
|
||||
class IntervalParameterController : public Shared::FloatParameterController {
|
||||
public:
|
||||
IntervalParameterController(Responder * parentResponder, Interval * interval);
|
||||
Interval * interval();
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
namespace Graph {
|
||||
|
||||
class ValuesController : public EditableCellTableViewController, public HeaderViewDelegate, public AlternateEmptyViewDelegate {
|
||||
class ValuesController : public Shared::EditableCellTableViewController, public HeaderViewDelegate, public AlternateEmptyViewDelegate {
|
||||
public:
|
||||
ValuesController(Responder * parentResponder, FunctionStore * functionStore, HeaderViewController * header);
|
||||
const char * title() const override;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "app.h"
|
||||
#include "probability_icon.h"
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Probability {
|
||||
|
||||
App::App(Container * container) :
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
namespace Probability {
|
||||
|
||||
class App : public TextFieldDelegateApp {
|
||||
class App : public Shared::TextFieldDelegateApp {
|
||||
public:
|
||||
App(Container * container);
|
||||
private:
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
namespace Probability {
|
||||
|
||||
class Law : public CurveViewRange {
|
||||
class Law : public Shared::CurveViewRange {
|
||||
public:
|
||||
enum class Type : uint8_t{
|
||||
Binomial,
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Probability {
|
||||
|
||||
LawCurveView::LawCurveView() :
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
namespace Probability {
|
||||
|
||||
class LawCurveView : public CurveView {
|
||||
class LawCurveView : public Shared::CurveView {
|
||||
public:
|
||||
LawCurveView();
|
||||
void setLaw(Law * law);
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
namespace Probability {
|
||||
|
||||
class ParametersController : public FloatParameterController {
|
||||
class ParametersController : public Shared::FloatParameterController {
|
||||
public:
|
||||
ParametersController(Responder * parentResponder);
|
||||
View * view() override;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "app.h"
|
||||
#include "regression_icon.h"
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Regression {
|
||||
|
||||
App::App(Container * container) :
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
namespace Regression {
|
||||
|
||||
class App : public TextFieldDelegateApp {
|
||||
class App : public Shared::TextFieldDelegateApp {
|
||||
public:
|
||||
App(Container * container);
|
||||
private:
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
namespace Regression {
|
||||
|
||||
class BannerView : public ::BannerView {
|
||||
class BannerView : public Shared::BannerView {
|
||||
public:
|
||||
BannerView();
|
||||
private:
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "go_to_parameter_controller.h"
|
||||
#include <assert.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Regression {
|
||||
|
||||
GoToParameterController::GoToParameterController(Responder * parentResponder, Store * store, CurveViewCursor * cursor) :
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
namespace Regression {
|
||||
|
||||
class GoToParameterController : public FloatParameterController {
|
||||
class GoToParameterController : public Shared::FloatParameterController {
|
||||
public:
|
||||
GoToParameterController(Responder * parentResponder, Store * store, CurveViewCursor * cursor);
|
||||
GoToParameterController(Responder * parentResponder, Store * store, Shared::CurveViewCursor * cursor);
|
||||
void setXPrediction(bool xPrediction);
|
||||
const char * title() const override;
|
||||
int numberOfRows() override;
|
||||
@@ -24,7 +24,7 @@ private:
|
||||
char m_draftTextBuffer[EditableTextMenuListCell::k_bufferLength];
|
||||
EditableTextMenuListCell m_abscisseCell;
|
||||
Store * m_store;
|
||||
CurveViewCursor * m_cursor;
|
||||
Shared::CurveViewCursor * m_cursor;
|
||||
bool m_xPrediction;
|
||||
};
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "../apps_container.h"
|
||||
|
||||
using namespace Poincare;
|
||||
using namespace Shared;
|
||||
|
||||
namespace Regression {
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
namespace Regression {
|
||||
|
||||
class GraphController : public InteractiveCurveViewController {
|
||||
class GraphController : public Shared::InteractiveCurveViewController {
|
||||
|
||||
public:
|
||||
GraphController(Responder * parentResponder, HeaderViewController * headerViewController, Store * store);
|
||||
@@ -26,8 +26,8 @@ private:
|
||||
|
||||
constexpr static int k_maxNumberOfCharacters = 8;
|
||||
BannerView * bannerView() override;
|
||||
CurveView * curveView() override;
|
||||
InteractiveCurveViewRange * interactiveCurveViewRange() override;
|
||||
Shared::CurveView * curveView() override;
|
||||
Shared::InteractiveCurveViewRange * interactiveCurveViewRange() override;
|
||||
bool handleEnter() override;
|
||||
void reloadBannerView() override;
|
||||
void initRangeParameters() override;
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Regression {
|
||||
|
||||
GraphView::GraphView(Store * store, CurveViewCursor * cursor, ::BannerView * bannerView, View * cursorView) :
|
||||
GraphView::GraphView(Store * store, CurveViewCursor * cursor, BannerView * bannerView, View * cursorView) :
|
||||
CurveView(store, cursor, bannerView, cursorView),
|
||||
m_store(store)
|
||||
{
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
namespace Regression {
|
||||
|
||||
class GraphView : public CurveView {
|
||||
class GraphView : public Shared::CurveView {
|
||||
public:
|
||||
GraphView(Store * store, CurveViewCursor * cursor, ::BannerView * bannerView, View * cursorView);
|
||||
GraphView(Store * store, Shared::CurveViewCursor * cursor, Shared::BannerView * bannerView, View * cursorView);
|
||||
void drawRect(KDContext * ctx, KDRect rect) const override;
|
||||
private:
|
||||
char * label(Axis axis, int index) const override;
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Regression {
|
||||
|
||||
InitialisationParameterController::InitialisationParameterController(Responder * parentResponder, Store * store) :
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "prediction_parameter_controller.h"
|
||||
#include <assert.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Regression {
|
||||
|
||||
PredictionParameterController::PredictionParameterController(Responder * parentResponder, Store * store, CurveViewCursor * cursor) :
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace Regression {
|
||||
|
||||
class PredictionParameterController : public ViewController, public SimpleListViewDataSource {
|
||||
public:
|
||||
PredictionParameterController(Responder * parentResponder, Store * store, CurveViewCursor * cursor);
|
||||
PredictionParameterController(Responder * parentResponder, Store * store, Shared::CurveViewCursor * cursor);
|
||||
View * view() override;
|
||||
const char * title() const override;
|
||||
bool handleEvent(Ion::Events::Event event) override;
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Regression {
|
||||
|
||||
Store::Store() :
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
|
||||
namespace Regression {
|
||||
|
||||
class Store : public InteractiveCurveViewRange, public FloatPairStore, public InteractiveCurveViewRangeDelegate {
|
||||
class Store : public Shared::InteractiveCurveViewRange, public Shared::FloatPairStore, public Shared::InteractiveCurveViewRangeDelegate {
|
||||
public:
|
||||
Store();
|
||||
bool didChangeRange(InteractiveCurveViewRange * interactiveCurveViewRange) override;
|
||||
bool didChangeRange(Shared::InteractiveCurveViewRange * interactiveCurveViewRange) override;
|
||||
|
||||
// Dots
|
||||
/* Return the closest dot to x above the regression curve if direction > 0,
|
||||
|
||||
@@ -7,11 +7,12 @@
|
||||
#include <assert.h>
|
||||
|
||||
using namespace Poincare;
|
||||
using namespace Shared;
|
||||
|
||||
namespace Regression {
|
||||
|
||||
StoreController::StoreController(Responder * parentResponder, Store * store, HeaderViewController * header) :
|
||||
::StoreController(parentResponder, store, header),
|
||||
Shared::StoreController(parentResponder, store, header),
|
||||
m_titleCells{EvenOddExpressionCell(0.5f, 0.5f), EvenOddExpressionCell(0.5f, 0.5f)}
|
||||
{
|
||||
m_titleLayout[0] = new BaselineRelativeLayout(new StringLayout("X", 1, KDText::FontSize::Small), new StringLayout("i", 1, KDText::FontSize::Small), BaselineRelativeLayout::Type::Subscript);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
namespace Regression {
|
||||
|
||||
class StoreController : public ::StoreController {
|
||||
class StoreController : public Shared::StoreController {
|
||||
public:
|
||||
StoreController(Responder * parentResponder, Store * store, HeaderViewController * header);
|
||||
void willDisplayCellAtLocation(TableViewCell * cell, int i, int j) override;
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
void BannerView::setLegendAtIndex(char * text, int index) {
|
||||
/* The layout of the banner's subviews depends on their content.
|
||||
* Indeed, we're using a "centered text" algorithm to layout the subviews.
|
||||
@@ -83,3 +85,5 @@ int BannerView::numberOfLines() {
|
||||
}
|
||||
return lineNumber+1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include <escher.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class BannerView : public View {
|
||||
public:
|
||||
void setLegendAtIndex(char * text, int index);
|
||||
@@ -15,4 +17,6 @@ private:
|
||||
virtual TextView * textViewAtIndex(int i) = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
#include "cursor_view.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
void CursorView::drawRect(KDContext * ctx, KDRect rect) const {
|
||||
KDCoordinate width = bounds().width();
|
||||
KDCoordinate height = bounds().height();
|
||||
ctx->fillRect(KDRect(width/2, 0, 1, height), KDColorBlack);
|
||||
ctx->fillRect(KDRect(0, height/2, width, 1), KDColorBlack);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,10 +3,14 @@
|
||||
|
||||
#include <escher.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class CursorView : public View {
|
||||
public:
|
||||
using View::View;
|
||||
void drawRect(KDContext * ctx, KDRect rect) const override;
|
||||
};
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Shared {
|
||||
|
||||
CurveView::CurveView(CurveViewRange * curveViewRange, CurveViewCursor * curveViewCursor, BannerView * bannerView,
|
||||
View * cursorView) :
|
||||
View(),
|
||||
@@ -418,3 +420,5 @@ View * CurveView::subviewAtIndex(int index) {
|
||||
}
|
||||
return m_cursorView;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
#include "banner_view.h"
|
||||
#include <math.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class CurveView : public View {
|
||||
public:
|
||||
typedef void Model;
|
||||
@@ -80,4 +82,6 @@ private:
|
||||
uint32_t m_drawnRangeVersion;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "curve_view_cursor.h"
|
||||
#include <math.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
CurveViewCursor::CurveViewCursor() :
|
||||
m_x(NAN),
|
||||
m_y(NAN)
|
||||
@@ -19,3 +21,5 @@ void CurveViewCursor::moveTo(float x, float y) {
|
||||
m_x = x;
|
||||
m_y = y;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef SHARED_CURVE_VIEW_CURSOR_H
|
||||
#define SHARED_CURVE_VIEW_CURSOR_H
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class CurveViewCursor {
|
||||
public:
|
||||
@@ -13,4 +14,6 @@ private:
|
||||
float m_y;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
#include <stddef.h>
|
||||
#include <float.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
uint32_t CurveViewRange::rangeChecksum() {
|
||||
float data[4] = {xMin(), xMax(), yMin(), yMax()};
|
||||
size_t dataLengthInBytes = 4*sizeof(float);
|
||||
@@ -36,3 +38,5 @@ float CurveViewRange::computeGridUnit(Axis axis, float min, float max) {
|
||||
}
|
||||
return a*powf(10,b);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class CurveViewRange {
|
||||
public:
|
||||
enum class Axis {
|
||||
@@ -31,4 +33,6 @@ private:
|
||||
constexpr static float k_largeGridUnitMantissa = 5.0f;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Shared {
|
||||
|
||||
EditableCellTableViewController::EditableCellTableViewController(Responder * parentResponder, KDCoordinate topMargin,
|
||||
KDCoordinate rightMargin, KDCoordinate bottomMargin, KDCoordinate leftMargin) :
|
||||
ViewController(parentResponder),
|
||||
@@ -100,3 +102,5 @@ void EditableCellTableViewController::didBecomeFirstResponder() {
|
||||
}
|
||||
app()->setFirstResponder(&m_selectableTableView);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include <escher.h>
|
||||
#include <poincare.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class EditableCellTableViewController : public ViewController, public TableViewDataSource, public SelectableTableViewDelegate, public TextFieldDelegate {
|
||||
public:
|
||||
EditableCellTableViewController(Responder * parentResponder, KDCoordinate topMargin,
|
||||
@@ -32,4 +34,6 @@ private:
|
||||
virtual int maxNumberOfElements() const = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Shared {
|
||||
|
||||
const char * ExpressionTextFieldDelegate::XNT() {
|
||||
return "x";
|
||||
}
|
||||
@@ -77,3 +79,5 @@ bool ExpressionTextFieldDelegate::textFieldDidReceiveEvent(TextField * textField
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include <escher.h>
|
||||
#include <poincare.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class ExpressionTextFieldDelegate : public TextFieldDelegate {
|
||||
public:
|
||||
virtual Poincare::Context * localContext() = 0;
|
||||
@@ -13,4 +15,6 @@ private:
|
||||
bool cursorInToken(TextField * textField, const char * token);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include <stddef.h>
|
||||
#include <ion.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
FloatPairStore::FloatPairStore() :
|
||||
m_numberOfPairs(0)
|
||||
{
|
||||
@@ -65,3 +67,5 @@ uint32_t FloatPairStore::storeChecksum() {
|
||||
float FloatPairStore::defaultValue(int i) {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class FloatPairStore {
|
||||
public:
|
||||
FloatPairStore();
|
||||
@@ -23,4 +25,6 @@ protected:
|
||||
float m_data[2][k_maxNumberOfPairs];
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Shared {
|
||||
|
||||
FloatParameterController::FloatParameterController(Responder * parentResponder) :
|
||||
ViewController(parentResponder),
|
||||
m_selectableTableView(SelectableTableView(this, this, Metric::TopMargin, Metric::RightMargin,
|
||||
@@ -58,3 +60,5 @@ void FloatParameterController::tableViewDidChangeSelection(SelectableTableView *
|
||||
KDCoordinate FloatParameterController::cellHeight() {
|
||||
return Metric::ParameterCellHeight;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include <escher.h>
|
||||
#include "expression_text_field_delegate.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
/* This controller edits float parameter of any model (given through
|
||||
* parameterAtIndex and setParameterAtIndex). */
|
||||
|
||||
@@ -25,4 +27,6 @@ private:
|
||||
virtual void setParameterAtIndex(int parameterIndex, float f) = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Shared {
|
||||
|
||||
InteractiveCurveViewController::InteractiveCurveViewController(Responder * parentResponder, HeaderViewController * header, InteractiveCurveViewRange * interactiveRange, CurveView * curveView) :
|
||||
ViewController(parentResponder),
|
||||
HeaderViewDelegate(header),
|
||||
@@ -153,3 +155,5 @@ Responder * InteractiveCurveViewController::tabController() const{
|
||||
StackViewController * InteractiveCurveViewController::stackController() const{
|
||||
return (StackViewController *)(parentResponder()->parentResponder()->parentResponder());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
#include "range_parameter_controller.h"
|
||||
#include "zoom_parameter_controller.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class InteractiveCurveViewController : public ViewController, public HeaderViewDelegate, public AlternateEmptyViewDelegate {
|
||||
public:
|
||||
InteractiveCurveViewController(Responder * parentResponder, HeaderViewController * header, InteractiveCurveViewRange * interactiveRange, CurveView * curveView);
|
||||
@@ -56,4 +58,6 @@ private:
|
||||
Poincare::Expression::DisplayMode m_displayModeVersion;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Shared {
|
||||
|
||||
InteractiveCurveViewRange::InteractiveCurveViewRange(CurveViewCursor * cursor, InteractiveCurveViewRangeDelegate * delegate) :
|
||||
MemoizedCurveViewRange(),
|
||||
m_yAuto(true),
|
||||
@@ -163,3 +165,5 @@ void InteractiveCurveViewRange::panToMakePointVisible(float x, float y, float to
|
||||
m_yAuto = false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
#include "curve_view_cursor.h"
|
||||
#include "interactive_curve_view_range_delegate.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class InteractiveCurveViewRange : public MemoizedCurveViewRange {
|
||||
public:
|
||||
InteractiveCurveViewRange(CurveViewCursor * cursor, InteractiveCurveViewRangeDelegate * delegate);
|
||||
@@ -39,4 +41,6 @@ typedef void (InteractiveCurveViewRange::*ParameterSetterPointer)(float);
|
||||
typedef float (InteractiveCurveViewRange::*ParameterGetterPointer)();
|
||||
typedef void (InteractiveCurveViewRange::*RangeMethodPointer)();
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef SHARED_INTERACTIVE_CURVE_VIEW_DELEGATE_H
|
||||
#define SHARED_INTERACTIVE_CURVE_VIEW_DELEGATE_H
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class InteractiveCurveViewRange;
|
||||
|
||||
class InteractiveCurveViewRangeDelegate {
|
||||
@@ -8,4 +10,6 @@ public:
|
||||
virtual bool didChangeRange(InteractiveCurveViewRange * interactiveCurveViewRange) = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include <assert.h>
|
||||
#include <ion.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
MemoizedCurveViewRange::MemoizedCurveViewRange() :
|
||||
m_xMin(-10.0f),
|
||||
m_xMax(10.0f),
|
||||
@@ -68,3 +70,5 @@ void MemoizedCurveViewRange::setYMax(float yMax) {
|
||||
}
|
||||
m_yGridUnit = computeGridUnit(Axis::Y, m_yMin, m_yMax);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "curve_view_range.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class MemoizedCurveViewRange : public CurveViewRange {
|
||||
public:
|
||||
@@ -29,4 +30,6 @@ protected:
|
||||
float m_yGridUnit;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Shared {
|
||||
|
||||
RangeParameterController::RangeParameterController(Responder * parentResponder, InteractiveCurveViewRange * interactiveRange) :
|
||||
FloatParameterController(parentResponder),
|
||||
m_interactiveRange(interactiveRange),
|
||||
@@ -104,3 +106,5 @@ TableViewCell * RangeParameterController::reusableCell(int index) {
|
||||
int RangeParameterController::reusableCellCount() {
|
||||
return k_numberOfTextCell+1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
#include "interactive_curve_view_range.h"
|
||||
#include "float_parameter_controller.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class RangeParameterController : public FloatParameterController {
|
||||
public:
|
||||
RangeParameterController(Responder * parentResponder, InteractiveCurveViewRange * interactiveCurveViewRange);
|
||||
@@ -26,4 +28,6 @@ private:
|
||||
SwitchMenuListCell m_yAutoCell;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Shared {
|
||||
|
||||
StoreController::StoreController(Responder * parentResponder, FloatPairStore * store, HeaderViewController * header) :
|
||||
EditableCellTableViewController(parentResponder, Metric::TopMargin, Metric::RightMargin, Metric::BottomMargin, Metric::LeftMargin),
|
||||
HeaderViewDelegate(header),
|
||||
@@ -116,3 +118,5 @@ int StoreController::numberOfElements() {
|
||||
int StoreController::maxNumberOfElements() const {
|
||||
return FloatPairStore::k_maxNumberOfPairs;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
#include "store_parameter_controller.h"
|
||||
#include "editable_cell_table_view_controller.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class StoreController : public EditableCellTableViewController, public HeaderViewDelegate {
|
||||
public:
|
||||
StoreController(Responder * parentResponder, FloatPairStore * store, HeaderViewController * header);
|
||||
@@ -36,4 +38,6 @@ protected:
|
||||
StoreParameterController m_storeParameterController;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "store_parameter_controller.h"
|
||||
#include <assert.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
StoreParameterController::StoreParameterController(Responder * parentResponder, FloatPairStore * store) :
|
||||
ViewController(parentResponder),
|
||||
m_deleteColumn(MenuListCell((char*)"Effacer la colonne")),
|
||||
@@ -74,3 +76,5 @@ int StoreParameterController::reusableCellCount() {
|
||||
KDCoordinate StoreParameterController::cellHeight() {
|
||||
return Metric::ParameterCellHeight;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include <escher.h>
|
||||
#include "float_pair_store.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class StoreParameterController : public ViewController, public SimpleListViewDataSource {
|
||||
public:
|
||||
StoreParameterController(Responder * parentResponder, FloatPairStore * store);
|
||||
@@ -26,4 +28,6 @@ private:
|
||||
bool m_xColumnSelected;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
using namespace Poincare;
|
||||
|
||||
namespace Shared {
|
||||
|
||||
TextFieldDelegateApp::TextFieldDelegateApp(Container * container, ViewController * rootViewController, const char * name,
|
||||
const char * upperName, const Image * icon) :
|
||||
::App(container, rootViewController, name, upperName, icon),
|
||||
@@ -15,3 +17,4 @@ Context * TextFieldDelegateApp::localContext() {
|
||||
return appsContainer->globalContext();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,10 +4,14 @@
|
||||
#include <escher.h>
|
||||
#include "expression_text_field_delegate.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class TextFieldDelegateApp : public ::App, public ExpressionTextFieldDelegate {
|
||||
public:
|
||||
TextFieldDelegateApp(Container * container, ViewController * rootViewController, const char * name = nullptr, const char * upperName = nullptr, const Image * icon = nullptr);
|
||||
virtual Poincare::Context * localContext() override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
ZoomParameterController::ZoomParameterController(Responder * parentResponder, InteractiveCurveViewRange * interactiveRange, CurveView * curveView) :
|
||||
ViewController(parentResponder),
|
||||
m_contentView(ContentView(curveView)),
|
||||
@@ -117,3 +119,5 @@ void ZoomParameterController::ContentView::LegendView::layoutSubviews() {
|
||||
m_legends[3+row].setFrame(KDRect(width/2, row*heigth/3, width/2 - k_tokenWidth, heigth/3));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
#include "interactive_curve_view_range.h"
|
||||
#include "curve_view.h"
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class ZoomParameterController : public ViewController {
|
||||
public:
|
||||
ZoomParameterController(Responder * parentResponder, InteractiveCurveViewRange * interactiveCurveViewRange, CurveView * curveView);
|
||||
@@ -41,4 +43,6 @@ private:
|
||||
InteractiveCurveViewRange * m_interactiveRange;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#include "app.h"
|
||||
#include "stat_icon.h"
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
App::App(Container * container) :
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class App : public TextFieldDelegateApp {
|
||||
class App : public Shared::TextFieldDelegateApp {
|
||||
public:
|
||||
App(Container * container);
|
||||
private:
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class BoxBannerView : public ::BannerView {
|
||||
class BoxBannerView : public Shared::BannerView {
|
||||
public:
|
||||
BoxBannerView();
|
||||
private:
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class BoxRange : public CurveViewRange {
|
||||
class BoxRange : public Shared::CurveViewRange {
|
||||
public:
|
||||
BoxRange(Store * store);
|
||||
float xMin() override;
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
BoxView::BoxView(Store * store, ::BannerView * bannerView) :
|
||||
BoxView::BoxView(Store * store, BannerView * bannerView) :
|
||||
CurveView(&m_boxRange, nullptr, bannerView, nullptr),
|
||||
m_store(store),
|
||||
m_boxRange(BoxRange(store)),
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class BoxView : public CurveView {
|
||||
class BoxView : public Shared::CurveView {
|
||||
public:
|
||||
enum class Quantile : int {
|
||||
None = -1,
|
||||
@@ -19,7 +19,7 @@ public:
|
||||
ThirdQuartile = 3,
|
||||
Max = 4
|
||||
};
|
||||
BoxView(Store * store, ::BannerView * bannerView);
|
||||
BoxView(Store * store, Shared::BannerView * bannerView);
|
||||
void reload() override;
|
||||
Quantile selectedQuantile();
|
||||
bool selectQuantile(int selectedQuantile);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class HistogramBannerView : public ::BannerView {
|
||||
class HistogramBannerView : public Shared::BannerView {
|
||||
public:
|
||||
HistogramBannerView();
|
||||
private:
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include <float.h>
|
||||
|
||||
using namespace Poincare;
|
||||
using namespace Shared;
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ private:
|
||||
HistogramView m_view;
|
||||
Button m_settingButton;
|
||||
Store * m_store;
|
||||
CurveViewCursor m_cursor;
|
||||
Shared::CurveViewCursor m_cursor;
|
||||
uint32_t m_storeVersion;
|
||||
uint32_t m_barVersion;
|
||||
uint32_t m_rangeVersion;
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
#include "app.h"
|
||||
#include <assert.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
HistogramParameterController::HistogramParameterController(Responder * parentResponder, Store * store) :
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class HistogramParameterController : public FloatParameterController {
|
||||
class HistogramParameterController : public Shared::FloatParameterController {
|
||||
public:
|
||||
HistogramParameterController(Responder * parentResponder, Store * store);
|
||||
const char * title() const override;
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
HistogramView::HistogramView(Store * store, ::BannerView * bannerView) :
|
||||
HistogramView::HistogramView(Store * store, BannerView * bannerView) :
|
||||
CurveView(store, nullptr, bannerView, nullptr),
|
||||
m_store(store),
|
||||
m_highlightedBarStart(NAN),
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class HistogramView : public CurveView {
|
||||
class HistogramView : public Shared::CurveView {
|
||||
public:
|
||||
HistogramView(Store * store, ::BannerView * bannerView);
|
||||
HistogramView(Store * store, Shared::BannerView * bannerView);
|
||||
void reload() override;
|
||||
void drawRect(KDContext * ctx, KDRect rect) const override;
|
||||
void setHighlight(float start, float end);
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
#include <string.h>
|
||||
#include <ion.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
Store::Store() :
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class Store : public MemoizedCurveViewRange, public FloatPairStore {
|
||||
class Store : public Shared::MemoizedCurveViewRange, public Shared::FloatPairStore {
|
||||
public:
|
||||
Store();
|
||||
uint32_t barChecksum();
|
||||
|
||||
@@ -4,10 +4,12 @@
|
||||
#include "../constant.h"
|
||||
#include <assert.h>
|
||||
|
||||
using namespace Shared;
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
StoreController::StoreController(Responder * parentResponder, Store * store, HeaderViewController * header) :
|
||||
::StoreController(parentResponder, store, header),
|
||||
Shared::StoreController(parentResponder, store, header),
|
||||
m_titleCells{EvenOddPointerTextCell(KDText::FontSize::Small), EvenOddPointerTextCell(KDText::FontSize::Small)}
|
||||
{
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
namespace Statistics {
|
||||
|
||||
class StoreController : public ::StoreController {
|
||||
class StoreController : public Shared::StoreController {
|
||||
public:
|
||||
StoreController(Responder * parentResponder, Store * store, HeaderViewController * header);
|
||||
void willDisplayCellAtLocation(TableViewCell * cell, int i, int j) override;
|
||||
|
||||
Reference in New Issue
Block a user