def initLeo(self): ''' Init the Leo app to which this class gives access. This code is based on leo.run(). ''' trace = False if not self.isValidPython(): return #@+<< initLeo imports >> #@+node:ekr.20070227093629.1: *4* << initLeo imports >> initLeo (leoBridge) # Import leoGlobals, but do NOT set g. try: import leo.core.leoGlobals as leoGlobals except ImportError: print("Error importing leoGlobals.py") # Create the application object. try: leoGlobals.in_bridge = True # Tell leoApp.createDefaultGui not to create a gui. # This module will create the gui later. import leo.core.leoApp as leoApp leoGlobals.app = leoApp.LeoApp() except ImportError: print("Error importing leoApp.py") # NOW we can set g. self.g = g = leoGlobals assert(g.app) g.app.leoID = None g.app.trace_plugins = self.tracePlugins g.app.silentMode = self.silentMode if trace: import sys g.trace(sys.argv) g.trace('g.app.silentMode', g.app.silentMode) # Create the g.app.pluginsController here. import leo.core.leoPlugins as leoPlugins leoPlugins.init() # Necessary. Sets g.app.pluginsController. try: import leo.core.leoNodes as leoNodes except ImportError: print("Error importing leoNodes.py") import traceback; traceback.print_exc() try: import leo.core.leoConfig as leoConfig except ImportError: print("Error importing leoConfig.py") import traceback; traceback.print_exc() # Set leoGlobals.g here, rather than in leoGlobals. leoGlobals.g = leoGlobals #@-<< initLeo imports >> g.app.recentFilesManager = leoApp.RecentFilesManager() g.app.loadManager = lm = leoApp.LoadManager() g.app.loadManager.computeStandardDirectories() if not self.getLeoID(): return g.app.inBridge = True # Added 2007/10/21: support for g.getScript. g.app.nodeIndices = leoNodes.NodeIndices(g.app.leoID) g.app.config = leoConfig.GlobalConfigManager() if self.readSettings: lm.readGlobalSettingsFiles() # reads only standard settings files, using a null gui. # uses lm.files[0] to compute the local directory # that might contain myLeoSettings.leo. else: # Bug fix: 2012/11/26: create default global settings dicts. settings_d, shortcuts_d = lm.createDefaultSettingsDicts() lm.globalSettingsDict = settings_d lm.globalShortcutsDict = shortcuts_d self.createGui() # Create the gui *before* loading plugins. if self.verbose: self.reportDirectories() self.adjustSysPath() # Kill all event handling if plugins not loaded. if not self.loadPlugins: def dummyDoHook(tag, *args, **keys): pass g.doHook = dummyDoHook g.doHook("start1") # Load plugins. g.app.computeSignon() g.app.initing = False g.doHook("start2", c=None, p=None, v=None, fileName=None)
def initLeo(self): ''' Init the Leo app to which this class gives access. This code is based on leo.run(). ''' trace = False if not self.isValidPython(): return #@+<< initLeo imports >> #@+node:ekr.20070227093629.1: *4* << initLeo imports >> initLeo (leoBridge) # Import leoGlobals, but do NOT set g. try: import leo.core.leoGlobals as leoGlobals except ImportError: print("Error importing leoGlobals.py") # Create the application object. try: leoGlobals.in_bridge = True # Tell leoApp.createDefaultGui not to create a gui. # This module will create the gui later. import leo.core.leoApp as leoApp leoGlobals.app = leoApp.LeoApp() except ImportError: print("Error importing leoApp.py") # NOW we can set g. self.g = g = leoGlobals assert (g.app) g.app.leoID = None g.app.trace_plugins = self.tracePlugins g.app.silentMode = self.silentMode if trace: import sys g.trace(sys.argv) g.trace('g.app.silentMode', g.app.silentMode) # Create the g.app.pluginsController here. import leo.core.leoPlugins as leoPlugins leoPlugins.init() # Necessary. Sets g.app.pluginsController. try: import leo.core.leoNodes as leoNodes except ImportError: print("Error importing leoNodes.py") import traceback traceback.print_exc() try: import leo.core.leoConfig as leoConfig except ImportError: print("Error importing leoConfig.py") import traceback traceback.print_exc() # Set leoGlobals.g here, rather than in leoGlobals. leoGlobals.g = leoGlobals #@-<< initLeo imports >> g.app.recentFilesManager = leoApp.RecentFilesManager() g.app.loadManager = lm = leoApp.LoadManager() g.app.loadManager.computeStandardDirectories() if not g.app.setLeoID(useDialog=False, verbose=True): raise ValueError("unable to set LeoID.") g.app.inBridge = True # Added 2007/10/21: support for g.getScript. g.app.nodeIndices = leoNodes.NodeIndices(g.app.leoID) g.app.config = leoConfig.GlobalConfigManager() g.app.setGlobalDb() # Fix #556. if self.readSettings: lm.readGlobalSettingsFiles() # reads only standard settings files, using a null gui. # uses lm.files[0] to compute the local directory # that might contain myLeoSettings.leo. else: # Bug fix: 2012/11/26: create default global settings dicts. settings_d, shortcuts_d = lm.createDefaultSettingsDicts() lm.globalSettingsDict = settings_d lm.globalShortcutsDict = shortcuts_d self.createGui() # Create the gui *before* loading plugins. if self.verbose: self.reportDirectories() self.adjustSysPath() # Kill all event handling if plugins not loaded. if not self.loadPlugins: def dummyDoHook(tag, *args, **keys): pass g.doHook = dummyDoHook g.doHook("start1") # Load plugins. g.app.computeSignon() g.app.initing = False g.doHook("start2", c=None, p=None, v=None, fileName=None)
def initLeo(self): """ Init the Leo app to which this class gives access. This code is based on leo.run(). """ if not self.isValidPython(): return #@+<< initLeo imports >> #@+node:ekr.20070227093629.1: *4* << initLeo imports >> initLeo (leoBridge) try: # #1472: Simplify import of g from leo.core import leoGlobals as g self.g = g except ImportError: print("Error importing leoGlobals.py") # # Create the application object. try: # Tell leoApp.createDefaultGui not to create a gui. # This module will create the gui later. g.in_bridge = self.vs_code_flag # #2098. g.in_vs_code = True # 2098. from leo.core import leoApp g.app = leoApp.LeoApp() except ImportError: print("Error importing leoApp.py") g.app.leoID = None if self.tracePlugins: g.app.debug.append('plugins') g.app.silentMode = self.silentMode # # Create the g.app.pluginsController here. from leo.core import leoPlugins leoPlugins.init() # Necessary. Sets g.app.pluginsController. try: from leo.core import leoNodes except ImportError: print("Error importing leoNodes.py") traceback.print_exc() try: from leo.core import leoConfig except ImportError: print("Error importing leoConfig.py") traceback.print_exc() #@-<< initLeo imports >> g.app.recentFilesManager = leoApp.RecentFilesManager() g.app.loadManager = lm = leoApp.LoadManager() lm.computeStandardDirectories() # #2519: Call sys.exit if leoID does not exist. g.app.setLeoID(useDialog=False, verbose=True) # Can be done early. Uses only g.app.loadDir & g.app.homeDir. lm.createAllImporterData() # #1965. g.app.inBridge = True # Support for g.getScript. g.app.nodeIndices = leoNodes.NodeIndices(g.app.leoID) g.app.config = leoConfig.GlobalConfigManager() if self.useCaches: g.app.setGlobalDb() # #556. else: g.app.db = g.NullObject() g.app.commander_cacher = g.NullObject() g.app.global_cacher = g.NullObject() if self.readSettings: # reads only standard settings files, using a null gui. # uses lm.files[0] to compute the local directory # that might contain myLeoSettings.leo. lm.readGlobalSettingsFiles() else: # Bug fix: 2012/11/26: create default global settings dicts. settings_d, bindings_d = lm.createDefaultSettingsDicts() lm.globalSettingsDict = settings_d lm.globalBindingsDict = bindings_d self.createGui() # Create the gui *before* loading plugins. if self.verbose: self.reportDirectories() self.adjustSysPath() # Kill all event handling if plugins not loaded. if not self.loadPlugins: def dummyDoHook(tag, *args, **keys): pass g.doHook = dummyDoHook g.doHook("start1") # Load plugins. g.app.computeSignon() g.app.initing = False g.doHook("start2", c=None, p=None, v=None, fileName=None)