Files
Upsilon/apps/code/editor_controller.h
Léa Saviot 681be23c30 [code] Auto indentation in the script editor.
Change-Id: I7066c41fa53068e6f18a5ad226b5e72f591f02e2
2017-11-17 11:59:50 +01:00

37 lines
1005 B
C++

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