[python/turtle] Turtle::m_drawn is false if sandbox not displayed

This way, Turtle::draw() and erase() are more symetrical and no not
perform themselves if the turtle is already drawn / erased.
This commit is contained in:
Léa Saviot
2018-12-17 17:20:25 +01:00
parent ed19d19070
commit 4b306791c0
9 changed files with 49 additions and 23 deletions

View File

@@ -3,10 +3,12 @@
namespace Code {
SandboxController::SandboxController(Responder * parentResponder) :
SandboxController::SandboxController(Responder * parentResponder, MicroPython::ExecutionEnvironment * executionEnvironment) :
ViewController(parentResponder),
m_solidColorView(KDColorWhite)
m_solidColorView(KDColorWhite),
m_executionEnvironment(executionEnvironment)
{
assert(executionEnvironment != nullptr);
}
StackViewController * SandboxController::stackViewController() {
@@ -19,9 +21,16 @@ void SandboxController::reset() {
}
void SandboxController::viewWillAppear() {
assert(m_executionEnvironment != nullptr);
m_executionEnvironment->setSandboxIsDisplayed(true);
redrawWindow();
}
void SandboxController::viewDidDisappear() {
assert(m_executionEnvironment != nullptr);
m_executionEnvironment->setSandboxIsDisplayed(false);
}
bool SandboxController::handleEvent(Ion::Events::Event event) {
// The sandbox handles or "absorbs" all keyboard events except Home and OnOff
if (event == Ion::Events::Home || event == Ion::Events::OnOff) {