Services to store and load data

import app::ui
import app::data_store

class MyWindow
    super Window

    var state = "Simple string or any serializable class"

    redef fun on_save_state do app.data_store["state"] = state

    redef fun on_restore_state
    do
        var state = app.data_store["state"]
        if state isa String then self.state = state
    end
end

Property definitions

app :: data_store $ App :: data_store
	# Services to store and load data
	#
	# ~~~
	# import app::ui
	# import app::data_store
	#
	# class MyWindow
	#     super Window
	#
	#     var state = "Simple string or any serializable class"
	#
	#     redef fun on_save_state do app.data_store["state"] = state
	#
	#     redef fun on_restore_state
	#     do
	#         var state = app.data_store["state"]
	#         if state isa String then self.state = state
	#     end
	# end
	# ~~~
	var data_store = new DataStore is lazy
lib/app/data_store.nit:33,2--53,39