Numworks Epsilon  1.4.1
Graphing Calculator Operating System
interactive_curve_view_controller.h
Go to the documentation of this file.
1 #ifndef SHARED_INTERACTIVE_CURVE_VIEW_CONTROLLER_H
2 #define SHARED_INTERACTIVE_CURVE_VIEW_CONTROLLER_H
3 
5 #include "cursor_view.h"
6 #include "ok_view.h"
9 
10 namespace Shared {
11 
13 public:
15  const char * title() override;
16  bool handleEvent(Ion::Events::Event event) override;
17  void didBecomeFirstResponder() override;
18 
22 
23  int numberOfButtons(ButtonRowController::Position position) const override;
24  Button * buttonAtIndex(int index, ButtonRowController::Position position) const override;
25 
26  Responder * defaultController() override;
27 
28  void viewWillAppear() override;
29  void viewDidDisappear() override;
30  void didEnterResponderChain(Responder * previousFirstResponder) override;
31  void willExitResponderChain(Responder * nextFirstResponder) override;
32 protected:
33  Responder * tabController() const;
34  virtual StackViewController * stackController() const;
35  virtual void initRangeParameters() = 0;
36  virtual void initCursorParameters() = 0;
37  virtual bool moveCursorVertically(int direction) = 0;
38  virtual uint32_t modelVersion() = 0;
39  virtual uint32_t rangeVersion() = 0;
40  virtual bool isCursorVisible() = 0;
42 private:
43  uint32_t * m_modelVersion;
44  uint32_t * m_rangeVersion;
45  RangeParameterController m_rangeParameterController;
46  ZoomParameterController m_zoomParameterController;
47  Button m_rangeButton;
48  Button m_zoomButton;
49  Button m_defaultInitialisationButton;
50 };
51 
52 }
53 
54 #endif
virtual StackViewController * stackController() const
int numberOfButtons(ButtonRowController::Position position) const override
Responder * parentResponder() const
Definition: responder.cpp:12
InteractiveCurveViewController(Responder *parentResponder, ButtonRowController *header, InteractiveCurveViewRange *interactiveRange, CurveView *curveView, CurveViewCursor *cursor, uint32_t *modelVersion, uint32_t *rangeVersion)
Button * buttonAtIndex(int index, ButtonRowController::Position position) const override
void didEnterResponderChain(Responder *previousFirstResponder) override
void willExitResponderChain(Responder *nextFirstResponder) override
ButtonRowController * header()
unsigned int uint32_t
Definition: stdint.h:6
virtual bool moveCursorVertically(int direction)=0
virtual ViewController * initialisationParameterController()=0
bool handleEvent(Ion::Events::Event event) override
Definition: button.h:10