Files
Upsilon/apps/code/editor_controller.h
Léa Saviot 57633829a9 [code] Split the Menu Controller in two columns.
The scripts names are on the right and open the script edition.
The left cells open the script options.

Change-Id: I3fbab8c3861f3395c3206775c92cda3470963b26
2017-11-17 14:05:23 +01:00

41 lines
1.1 KiB
C++

#ifndef CODE_EDITOR_CONTROLLER_H
#define CODE_EDITOR_CONTROLLER_H
#include <escher.h>
#include "script.h"
namespace Code {
class MenuController;
class ScriptParameterController;
class EditorController : public ViewController, public TextAreaDelegate {
public:
EditorController(MenuController * menuController);
void setScript(Script script);
/* ViewController */
View * view() override { return &m_textArea; }
bool handleEvent(Ion::Events::Event event) override;
void didBecomeFirstResponder() override;
void viewWillAppear() override;
void viewDidDisappear() override;
ViewController::DisplayParameter displayParameter() override { return ViewController::DisplayParameter::WantsMaximumSpace; }
/* TextAreaDelegate */
bool textAreaShouldFinishEditing(TextArea * textArea, Ion::Events::Event event) override;
bool textAreaDidReceiveEvent(TextArea * textArea, Ion::Events::Event event) override;
::Toolbox * toolboxForTextArea(TextArea * textArea) override;
private:
static constexpr int k_indentationSpacesNumber = 2;
StackViewController * stackController();
TextArea m_textArea;
MenuController * m_menuController;
};
}
#endif