# Python imports # Lib imports # Application imports class SaveLoadControllerException(Exception): ... class WidgetSaveLoadController: def __init__(self): super(WidgetSaveLoadController, self).__init__() self.saveable_data = [] self.save_collection = { "width": -1, "height": -1, "x": 0, "y": 0, "data": None, "widget_type": None } def register_saveable_data(self, data): self.saveable_data.append(data) def set_saveable_data(self, data): self.save_collection = data def load_saveable_data(self): raise SaveLoadControllerException("WidgetSaveLoadController: load_saveable_data needs to be overridden...") def get_saveable_data(self): return self.save_collection