@@ -0,0 +1,1138 @@
+import tkinter as Tk%0Aimport tkinter.ttk as ttk%0A%0Aclass observable(object):%0A%09def __init__(self,var):%0A%09%09self._var = var%0A%09%09self._observers = %5B%5D%0A%0A%09def __getitem__(self, index):%0A%09%09return self._var%5Bindex%5D%0A%0A%09def __setitem__(self, index, value):%0A%09%09self._var%5Bindex%5D = value%0A%09%09for callback in self._observers:%0A%09%09%09callback(self._var)%0A%0A%09def erase(self):%0A%09%09self._var = %5B%5D%0A%0A%09def get(self):%0A%09%09return self._var%0A%0A%09def set(self, value):%0A%09%09self._var = value%0A%09%09for callback in self._observers:%0A%09%09%09callback(self._var)%0A%0A%09def append(self, value):%0A%09%09self._var.append(value)%0A%09%09for callback in self._observers:%0A%09%09%09callback(self._var)%0A%0A%09def bind(self, callback):%0A%09%09self._observers.append(callback)%0A%0Aclass View(object):%0A%0A    def __init__(self):%0A        self.root = Tk.Tk()%0A        self.root.wm_title(%22PGM Model Constructor%22)%0A%0A    def main_loop(self):%0A        self.root.mainloop()%0A%0Aclass Model(object):%0A%0A%09def __init__(self):%0A%09%09pass%0A%0Aclass Controller(object):%0A%0A%09def __init__(self, Model, View):%0A%09%09self.Model = Model%0A%09%09self.View = View%0A%0A%0A%0A%0Aif (__name__ == %22__main__%22):%0A    view = View()%0A    model = Model()%0A    controller = Controller(model, view)%0A%0A    view.main_loop()%0A

Add gui2.py that uses MVC pattern with TK