mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-18 16:27:34 +01:00
[geometry] Start of graph
This commit is contained in:
@@ -10,6 +10,8 @@ app_geometry_src = $(addprefix apps/geometry/,\
|
||||
list/objects_controller.cpp \
|
||||
list/message_table_cell_with_selector.cpp \
|
||||
figure_store.cpp \
|
||||
graph/graph_controller.cpp \
|
||||
graph/banner_view.cpp \
|
||||
)
|
||||
|
||||
apps_src += $(app_geometry_src)
|
||||
|
||||
@@ -36,7 +36,7 @@ App::App(Snapshot * snapshot) :
|
||||
TextFieldDelegateApp(snapshot, &m_tabViewController),
|
||||
m_figuresController(&m_stackViewController),
|
||||
m_stackViewController(&m_tabViewController, &m_figuresController),
|
||||
m_graphController(&m_graphAlternateEmptyViewController),
|
||||
m_graphController(&m_graphAlternateEmptyViewController, this, &m_graphHeader, nullptr, nullptr, nullptr),
|
||||
m_graphAlternateEmptyViewController(&m_graphHeader, &m_graphController, &m_graphController),
|
||||
m_graphHeader(&m_graphStackViewController, &m_graphAlternateEmptyViewController, &m_graphController),
|
||||
m_graphStackViewController(&m_tabViewController, &m_graphHeader),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
FiguresTab = "Figures"
|
||||
NoFigures = "Aucune figure à dessiner"
|
||||
NoFigures = "Aucune figure à afficher"
|
||||
OtherTab = "TODO"
|
||||
Coordinates = "Coordonnées"
|
||||
Middle = "Milieu"
|
||||
|
||||
15
apps/geometry/graph/banner_view.cpp
Normal file
15
apps/geometry/graph/banner_view.cpp
Normal file
@@ -0,0 +1,15 @@
|
||||
#include "banner_view.h"
|
||||
|
||||
namespace Geometry {
|
||||
|
||||
BannerView::BannerView(
|
||||
Responder * parentResponder,
|
||||
InputEventHandlerDelegate * inputEventHandlerDelegate,
|
||||
TextFieldDelegate * textFieldDelegate
|
||||
) :
|
||||
Shared::XYBannerView(parentResponder, inputEventHandlerDelegate, textFieldDelegate)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
15
apps/geometry/graph/banner_view.h
Normal file
15
apps/geometry/graph/banner_view.h
Normal file
@@ -0,0 +1,15 @@
|
||||
#ifndef GEOMETRY_BANNER_VIEW_H
|
||||
#define GEOMETRY_BANNER_VIEW_H
|
||||
|
||||
#include "../../shared/xy_banner_view.h"
|
||||
|
||||
namespace Geometry {
|
||||
|
||||
class BannerView : public Shared::XYBannerView {
|
||||
public:
|
||||
BannerView(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate, TextFieldDelegate * textFieldDelegate);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
11
apps/geometry/graph/graph_controller.cpp
Normal file
11
apps/geometry/graph/graph_controller.cpp
Normal file
@@ -0,0 +1,11 @@
|
||||
#include "graph_controller.h"
|
||||
|
||||
namespace Geometry {
|
||||
|
||||
GraphController::GraphController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate, ButtonRowController * header, Shared::InteractiveCurveViewRange/*TODO -> Store*/ * store, Shared::CurveViewCursor * cursor, uint32_t * rangeVersion) :
|
||||
InteractiveCurveViewController(parentResponder, inputEventHandlerDelegate, header, store, nullptr, cursor, rangeVersion)
|
||||
{
|
||||
/* WHEREIWAS: Now i must make the app launch again without crash, by replacing the multiples nullptr that I used... */
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,25 +2,30 @@
|
||||
#define GRAPH_VIEW_CONTROLLER_H
|
||||
|
||||
#include "../shared/interactive_curve_view_controller.h"
|
||||
#include "../shared/curve_view_cursor.h"
|
||||
#include "../shared/cursor_view.h"
|
||||
#include "../shared/round_cursor_view.h"
|
||||
|
||||
namespace Geometry {
|
||||
|
||||
class GraphController : public ViewController, public ButtonRowDelegate, public AlternateEmptyViewDefaultDelegate {
|
||||
class GraphController : public Shared::InteractiveCurveViewController {
|
||||
public:
|
||||
GraphController(Responder * parentResponder):
|
||||
ViewController(parentResponder),
|
||||
ButtonRowDelegate(nullptr, nullptr) {}
|
||||
/* ViewController */
|
||||
View * view() override { return nullptr; }
|
||||
const char * title() override { return I18n::translate(I18n::Message::GraphTab); }
|
||||
GraphController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate, ButtonRowController * header, Shared::InteractiveCurveViewRange * store, Shared::CurveViewCursor * cursor, uint32_t * rangeVersion);
|
||||
|
||||
virtual Shared::InteractiveCurveViewRange * interactiveCurveViewRange() override { return nullptr; } //TOIMPLEMENT
|
||||
virtual Shared::CurveView * curveView() override { return nullptr; } //TOIMPLEMENT
|
||||
virtual void reloadBannerView() override { } //TOIMPLEMENT
|
||||
virtual bool handleEnter() override { return false; } //TOIMPLEMENT
|
||||
virtual void initCursorParameters() override { } //TOIMPLEMENT
|
||||
virtual bool moveCursorVertically(int direction) override { return false; } //TOIMPLEMENT
|
||||
virtual uint32_t rangeVersion() override { return 0; } //TOIMPLEMENT
|
||||
virtual bool cursorMatchesModel() override { return false; } //TOIMPLEMENT
|
||||
virtual Poincare::Coordinate2D<double> xyValues(int curveIndex, double t, Poincare::Context * context) const override { return Poincare::Coordinate2D<double>(0, 0); } //TOIMPLEMENT
|
||||
virtual bool closestCurveIndexIsSuitable(int newIndex, int currentIndex) const override { return false; }
|
||||
virtual int selectedCurveIndex() const override { return 0; }
|
||||
virtual int numberOfCurves() const override { return 0; }
|
||||
|
||||
/* AlternateEmptyViewDefaultDelegate */
|
||||
virtual bool isEmpty() const override { return true; }
|
||||
virtual Responder * defaultController() override { return nullptr; }
|
||||
virtual bool isEmpty() const override { return false; }
|
||||
virtual I18n::Message emptyMessage() override { return I18n::Message::NoFigures; }
|
||||
private:
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -24,6 +24,12 @@ bool FiguresController::handleEvent(Ion::Events::Event event) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (event == Ion::Events::Up && selectedRow() == 0) {
|
||||
m_selectableTableView.deselectTable();
|
||||
assert(selectedRow() == -1);
|
||||
Container::activeApp()->setFirstResponder(parentResponder()->parentResponder());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user