Exemple #1
0
class TensorStudio:
    def __init__(self):
        #default location is Home
        self.location = Layouts.HOME

        self.controller = TensorController(self)
        self.content = ContentManager(self)
        self.layouts = LayoutManager(self)
        self.keyBindings = KeyBindingsManager(self)

        #initialize only after all managers have been instantiated due to cyclic dependencies between them
        self.controller.initializeController()
        self.content.initializeContent()
        self.layouts.initializeLayouts()
        self.keyBindings.initializeKeyBinds()

        #the prompt_toolkit Application object
        self.app = self.initializeApp()

    # ------------- Helpers ----------------#

    def initializeApp(self):
        layout = self.layouts.getLayout(self.location)
        style = self.layouts.getStyle()
        keyBindings = self.keyBindings.getGlobalKeyBinds()

        return Application(layout=layout,
                           key_bindings=keyBindings,
                           style=style,
                           full_screen=True)

    def run(self):
        self.app.run()

    def exit(self, event=None):
        self.app.exit()