Blame view

Modif/epsilon-master/apps/code/python_toolbox.h 1.07 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
  #ifndef CODE_PYTHON_TOOLBOX_H
  #define CODE_PYTHON_TOOLBOX_H
  
  #include <apps/i18n.h>
  #include <escher.h>
  #include <ion/events.h>
  #include <kandinsky/text.h>
  
  namespace Code {
  
  class PythonToolbox : public Toolbox {
  public:
    PythonToolbox();
    bool handleEvent(Ion::Events::Event event) override;
  protected:
    KDCoordinate rowHeight(int j) override;
    bool selectLeaf(ToolboxMessageTree * selectedMessageTree) override;
    const ToolboxMessageTree * rootModel() override;
    MessageTableCellWithMessage * leafCellAtIndex(int index) override;
    MessageTableCellWithChevron* nodeCellAtIndex(int index) override;
    int maxNumberOfDisplayedRows() override;
    constexpr static int k_maxNumberOfDisplayedRows = 13; // = 240/(13+2*3)
    // 13 = minimal string height size
    // 3 = vertical margins
  private:
    constexpr static KDText::FontSize k_fontSize = KDText::FontSize::Small;
    void scrollToLetter(char letter);
    void scrollToAndSelectChild(int i);
    MessageTableCellWithMessage m_leafCells[k_maxNumberOfDisplayedRows];
    MessageTableCellWithChevron m_nodeCells[k_maxNumberOfDisplayedRows];
  };
  
  }
  
  #endif