From 08a399993f1f0c4d68e365b2e8846008c860f123 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexis=20Laferri=C3=A8re?= Date: Fri, 8 May 2015 12:30:42 -0400 Subject: [PATCH] examples/calculator: implement state saving and loading MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Alexis Laferrière --- examples/calculator/src/calculator.nit | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/examples/calculator/src/calculator.nit b/examples/calculator/src/calculator.nit index 2cc50ec..2e2f437 100644 --- a/examples/calculator/src/calculator.nit +++ b/examples/calculator/src/calculator.nit @@ -24,6 +24,7 @@ app_name "app.nit Calc." end import app::ui +import app::data_store import android::aware import calculator_logic @@ -92,4 +93,22 @@ class CalculatorWindow display.text = context.display_text end end + + redef fun on_save_state + do + app.data_store["context"] = context.to_json + super + end + + redef fun on_restore_state + do + super + + var save = app.data_store["context"] + if save == null then return + assert save isa String + + self.context = new CalculatorContext.from_json(save) + display.text = context.display_text + end end -- 1.7.9.5