Files
Upsilon/apps/code/editor_controller.h
Léa Saviot 344ea5a67a [apps/code] Handle Home event when in the toolbox
If editing a script, the empty space at the end of the script should be
moved to the end of the storage.
2020-02-12 15:13:18 +01:00

48 lines
1.3 KiB
C++

#ifndef CODE_EDITOR_CONTROLLER_H
#define CODE_EDITOR_CONTROLLER_H
#include <escher.h>
#include "script.h"
#include "editor_view.h"
#include "variable_box_controller.h"
#include "../shared/input_event_handler_delegate.h"
namespace Code {
class MenuController;
class ScriptParameterController;
class App;
class EditorController : public ViewController, public TextAreaDelegate, public Shared::InputEventHandlerDelegate {
public:
EditorController(MenuController * menuController, App * pythonDelegate);
void setScript(Script script);
void willExitApp();
/* ViewController */
View * view() override { return &m_editorView; }
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 textAreaDidReceiveEvent(TextArea * textArea, Ion::Events::Event event) override;
/* InputEventHandlerDelegate */
VariableBoxController * variableBoxForInputEventHandler(InputEventHandler * textInput) override;
private:
void cleanStorageEmptySpace();
StackViewController * stackController();
EditorView m_editorView;
Script m_script;
MenuController * m_menuController;
};
}
#endif