Blame view

epsilon-master/apps/apps_container.h 2.58 KB
6663b6c9   adorian   projet complet av...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  #ifndef APPS_CONTAINER_H
  #define APPS_CONTAINER_H
  
  #include "home/app.h"
  #include "on_boarding/app.h"
  #include "hardware_test/app.h"
  #include "on_boarding/update_controller.h"
  #include "usb/app.h"
  #include "apps_window.h"
  #include "empty_battery_window.h"
  #include "math_toolbox.h"
  #include "variable_box_controller.h"
  #include "exam_pop_up_controller.h"
  #include "exam_pop_up_controller_delegate.h"
  #include "battery_timer.h"
  #include "suspend_timer.h"
  #include "backlight_dimming_timer.h"
  
  #define USE_PIC_VIEW_APP 0
  #if USE_PIC_VIEW_APP
  #include "picview/picview_app.h"
  #endif
  
  #include <ion/events.h>
  
  class AppsContainer : public Container, ExamPopUpControllerDelegate {
  public:
    AppsContainer();
    static bool poincareCircuitBreaker();
    virtual int numberOfApps() = 0;
    virtual App::Snapshot * appSnapshotAtIndex(int index) = 0;
    App::Snapshot * hardwareTestAppSnapshot();
    App::Snapshot * onBoardingAppSnapshot();
    App::Snapshot * usbConnectedAppSnapshot();
    void reset();
    Poincare::Context * globalContext();
    MathToolbox * mathToolbox();
    VariableBoxController * variableBoxController();
    void suspend(bool checkIfPowerKeyReleased = false);
    virtual bool dispatchEvent(Ion::Events::Event event) override;
    void switchTo(App::Snapshot * snapshot) override;
    void run() override;
    bool updateBatteryState();
    void refreshPreferences();
    void displayExamModePopUp(bool activate);
    void shutdownDueToLowBattery();
    void setShiftAlphaStatus(Ion::Events::ShiftAlphaStatus newStatus);
    OnBoarding::UpdateController * updatePopUpController();
    void redrawWindow();
    // Exam pop-up controller delegate
    void examDeactivatingPopUpIsDismissed() override;
  protected:
    Home::App::Snapshot * homeAppSnapshot() { return &m_homeSnapshot; }
  private:
    Window * window() override;
    int numberOfContainerTimers() override;
    Timer * containerTimerAtIndex(int i) override;
    bool processEvent(Ion::Events::Event event);
    void resetShiftAlphaStatus();
    bool updateAlphaLock();
    AppsWindow m_window;
    EmptyBatteryWindow m_emptyBatteryWindow;
  #if USE_PIC_VIEW_APP
    PicViewApp m_picViewApp;
  #endif
    Poincare::GlobalContext m_globalContext;
    MathToolbox m_mathToolbox;
    VariableBoxController m_variableBoxController;
    ExamPopUpController m_examPopUpController;
    OnBoarding::UpdateController m_updateController;
    BatteryTimer m_batteryTimer;
    SuspendTimer m_suspendTimer;
    BacklightDimmingTimer m_backlightDimmingTimer;
    Home::App::Snapshot m_homeSnapshot;
    OnBoarding::App::Snapshot m_onBoardingSnapshot;
    HardwareTest::App::Snapshot m_hardwareTestSnapshot;
    USB::App::Snapshot m_usbConnectedSnapshot;
  };
  
  #endif