eric7/UI/UserInterface.py

branch
eric7
changeset 8610
c9cd21bcbe33
parent 8595
ce2034bc1c6e
child 8614
4a3a68e51b92
equal deleted inserted replaced
8609:fd6b68a0a2df 8610:c9cd21bcbe33
279 self.multiProject = MultiProject(self.project, self) 279 self.multiProject = MultiProject(self.project, self)
280 280
281 # Generate the debug server object 281 # Generate the debug server object
282 logging.debug("Creating Debug Server...") 282 logging.debug("Creating Debug Server...")
283 from Debugger.DebugServer import DebugServer 283 from Debugger.DebugServer import DebugServer
284 debugServer = DebugServer(self.__originalPathString, 284 self.__debugServer = DebugServer(
285 project=self.project, parent=self) 285 self.__originalPathString, project=self.project, parent=self)
286 286
287 # Create the background service object 287 # Create the background service object
288 from Utilities.BackgroundService import BackgroundService 288 from Utilities.BackgroundService import BackgroundService
289 self.backgroundService = BackgroundService(self) 289 self.backgroundService = BackgroundService(self)
290 290
300 self.__webBrowserProcess = None 300 self.__webBrowserProcess = None
301 self.__webBrowserClient = None 301 self.__webBrowserClient = None
302 self.__webBrowserSAName = QUuid.createUuid().toString()[1:-1] 302 self.__webBrowserSAName = QUuid.createUuid().toString()[1:-1]
303 303
304 logging.debug("Creating Application Objects...") 304 logging.debug("Creating Application Objects...")
305 self.__createObjects(debugServer) 305 self.__createObjects()
306 306
307 # Create the main window now so that we can connect QActions to it. 307 # Create the main window now so that we can connect QActions to it.
308 logging.debug("Creating Layout...") 308 logging.debug("Creating Layout...")
309 self.__createLayout() 309 self.__createLayout()
310 self.__currentRightWidget = None 310 self.__currentRightWidget = None
311 self.__currentBottomWidget = None 311 self.__currentBottomWidget = None
312 312
313 # Generate the debugger part of the ui 313 # Generate the debugger part of the ui
314 logging.debug("Creating Debugger UI...") 314 logging.debug("Creating Debugger UI...")
315 from Debugger.DebugUI import DebugUI 315 from Debugger.DebugUI import DebugUI
316 self.debuggerUI = DebugUI(self, self.viewmanager, debugServer, 316 self.debuggerUI = DebugUI(self, self.viewmanager, self.__debugServer,
317 self.debugViewer, self.project) 317 self.debugViewer, self.project)
318 self.debugViewer.setDebugger(self.debuggerUI) 318 self.debugViewer.setDebugger(self.debuggerUI)
319 self.shell.setDebuggerUI(self.debuggerUI) 319 self.shell.setDebuggerUI(self.debuggerUI)
320 320
321 # Generate the redirection helpers 321 # Generate the redirection helpers
451 self.debuggerUI.compileResources.connect( 451 self.debuggerUI.compileResources.connect(
452 self.projectBrowser.prBrowser.compileChangedResources) 452 self.projectBrowser.prBrowser.compileChangedResources)
453 self.debuggerUI.executeMake.connect(self.project.executeMake) 453 self.debuggerUI.executeMake.connect(self.project.executeMake)
454 self.debuggerUI.appendStdout.connect(self.appendToStdout) 454 self.debuggerUI.appendStdout.connect(self.appendToStdout)
455 455
456 debugServer.clientDisassembly.connect( 456 self.__debugServer.clientDisassembly.connect(
457 self.debugViewer.disassemblyViewer.showDisassembly) 457 self.debugViewer.disassemblyViewer.showDisassembly)
458 debugServer.clientProcessStdout.connect(self.appendToStdout) 458 self.__debugServer.clientProcessStdout.connect(self.appendToStdout)
459 debugServer.clientProcessStderr.connect(self.appendToStderr) 459 self.__debugServer.clientProcessStderr.connect(self.appendToStderr)
460 debugServer.appendStdout.connect(self.appendToStdout) 460 self.__debugServer.appendStdout.connect(self.appendToStdout)
461 461
462 self.stdout.appendStdout.connect(self.appendToStdout) 462 self.stdout.appendStdout.connect(self.appendToStdout)
463 self.stderr.appendStderr.connect(self.appendToStderr) 463 self.stderr.appendStderr.connect(self.appendToStderr)
464 464
465 self.preferencesChanged.connect(self.viewmanager.preferencesChanged) 465 self.preferencesChanged.connect(self.viewmanager.preferencesChanged)
486 self.preferencesChanged.connect( 486 self.preferencesChanged.connect(
487 self.projectBrowser.poBrowser.handlePreferencesChanged) 487 self.projectBrowser.poBrowser.handlePreferencesChanged)
488 self.preferencesChanged.connect( 488 self.preferencesChanged.connect(
489 self.taskViewer.handlePreferencesChanged) 489 self.taskViewer.handlePreferencesChanged)
490 self.preferencesChanged.connect(self.pluginManager.preferencesChanged) 490 self.preferencesChanged.connect(self.pluginManager.preferencesChanged)
491 self.preferencesChanged.connect(debugServer.preferencesChanged) 491 self.preferencesChanged.connect(self.__debugServer.preferencesChanged)
492 self.preferencesChanged.connect(self.debugViewer.preferencesChanged) 492 self.preferencesChanged.connect(self.debugViewer.preferencesChanged)
493 self.preferencesChanged.connect( 493 self.preferencesChanged.connect(
494 self.backgroundService.preferencesOrProjectChanged) 494 self.backgroundService.preferencesOrProjectChanged)
495 self.preferencesChanged.connect(self.__previewer.preferencesChanged) 495 self.preferencesChanged.connect(self.__previewer.preferencesChanged)
496 self.preferencesChanged.connect(self.__astViewer.preferencesChanged) 496 self.preferencesChanged.connect(self.__astViewer.preferencesChanged)
519 self.browser.trpreview.connect(self.__TRPreviewer) 519 self.browser.trpreview.connect(self.__TRPreviewer)
520 520
521 self.debuggerUI.debuggingStarted.connect( 521 self.debuggerUI.debuggingStarted.connect(
522 self.browser.handleProgramChange) 522 self.browser.handleProgramChange)
523 523
524 debugServer.clientInterpreterChanged.connect( 524 self.__debugServer.clientInterpreterChanged.connect(
525 self.browser.handleInterpreterChanged) 525 self.browser.handleInterpreterChanged)
526 526
527 self.preferencesChanged.connect( 527 self.preferencesChanged.connect(
528 self.browser.handlePreferencesChanged) 528 self.browser.handlePreferencesChanged)
529 529
595 595
596 # register all relevant objects 596 # register all relevant objects
597 splash.showMessage(self.tr("Registering Objects...")) 597 splash.showMessage(self.tr("Registering Objects..."))
598 ericApp().registerObject("UserInterface", self) 598 ericApp().registerObject("UserInterface", self)
599 ericApp().registerObject("DebugUI", self.debuggerUI) 599 ericApp().registerObject("DebugUI", self.debuggerUI)
600 ericApp().registerObject("DebugServer", debugServer) 600 ericApp().registerObject("DebugServer", self.__debugServer)
601 ericApp().registerObject("BackgroundService", self.backgroundService) 601 ericApp().registerObject("BackgroundService", self.backgroundService)
602 ericApp().registerObject("ViewManager", self.viewmanager) 602 ericApp().registerObject("ViewManager", self.viewmanager)
603 ericApp().registerObject("ProjectBrowser", self.projectBrowser) 603 ericApp().registerObject("ProjectBrowser", self.projectBrowser)
604 ericApp().registerObject("MultiProject", self.multiProject) 604 ericApp().registerObject("MultiProject", self.multiProject)
605 ericApp().registerObject("TaskViewer", self.taskViewer) 605 ericApp().registerObject("TaskViewer", self.taskViewer)
726 726
727 # now start the debug client with the most recently used virtual 727 # now start the debug client with the most recently used virtual
728 # environment 728 # environment
729 splash.showMessage(self.tr("Starting Debugger...")) 729 splash.showMessage(self.tr("Starting Debugger..."))
730 if Preferences.getShell("StartWithMostRecentlyUsedEnvironment"): 730 if Preferences.getShell("StartWithMostRecentlyUsedEnvironment"):
731 debugServer.startClient( 731 self.__debugServer.startClient(
732 False, venvName=Preferences.getShell("LastVirtualEnvironment") 732 False, venvName=Preferences.getShell("LastVirtualEnvironment")
733 ) 733 )
734 else: 734 else:
735 debugServer.startClient(False) 735 self.__debugServer.startClient(False)
736 736
737 # attributes for the network objects 737 # attributes for the network objects
738 self.__networkManager = QNetworkAccessManager(self) 738 self.__networkManager = QNetworkAccessManager(self)
739 self.__networkManager.proxyAuthenticationRequired.connect( 739 self.__networkManager.proxyAuthenticationRequired.connect(
740 proxyAuthenticationRequired) 740 proxyAuthenticationRequired)
777 @return reference to the network access manager object 777 @return reference to the network access manager object
778 @rtype QNetworkAccessManager 778 @rtype QNetworkAccessManager
779 """ 779 """
780 return self.__networkManager 780 return self.__networkManager
781 781
782 def __createObjects(self, debugServer): 782 def __createObjects(self):
783 """ 783 """
784 Private method to create the various objects of the application. 784 Private method to create the various application objects.
785
786 @param debugServer reference to the debug server object
787 @type DebugServer
788 """ 785 """
789 # Create the view manager depending on the configuration setting 786 # Create the view manager depending on the configuration setting
790 logging.debug("Creating Viewmanager...") 787 logging.debug("Creating Viewmanager...")
791 import ViewManager 788 import ViewManager
792 self.viewmanager = ViewManager.factory( 789 self.viewmanager = ViewManager.factory(
793 self, self, debugServer, self.pluginManager) 790 self, self, self.__debugServer, self.pluginManager)
794 791
795 # Create previewer 792 # Create previewer
796 logging.debug("Creating Previewer...") 793 logging.debug("Creating Previewer...")
797 from .Previewer import Previewer 794 from .Previewer import Previewer
798 self.__previewer = Previewer(self.viewmanager) 795 self.__previewer = Previewer(self.viewmanager)
829 self.logViewer = LogViewer(self) 826 self.logViewer = LogViewer(self)
830 827
831 # Create the debug viewer 828 # Create the debug viewer
832 logging.debug("Creating Debug Viewer...") 829 logging.debug("Creating Debug Viewer...")
833 from Debugger.DebugViewer import DebugViewer 830 from Debugger.DebugViewer import DebugViewer
834 self.debugViewer = DebugViewer(debugServer) 831 self.debugViewer = DebugViewer(self.__debugServer)
835 832
836 # Create the shell 833 # Create the shell
837 logging.debug("Creating Shell...") 834 logging.debug("Creating Shell...")
838 from QScintilla.Shell import ShellAssembly 835 from QScintilla.Shell import ShellAssembly
839 self.shellAssembly = ShellAssembly( 836 self.shellAssembly = ShellAssembly(
840 debugServer, self.viewmanager, self.project, True) 837 self.__debugServer, self.viewmanager, self.project, True)
841 self.shell = self.shellAssembly.shell() 838 self.shell = self.shellAssembly.shell()
842 839
843 if Preferences.getUI("ShowTemplateViewer"): 840 if Preferences.getUI("ShowTemplateViewer"):
844 # Create the template viewer part of the user interface 841 # Create the template viewer part of the user interface
845 logging.debug("Creating Template Viewer...") 842 logging.debug("Creating Template Viewer...")
941 from PluginManager.PluginRepositoryDialog import PluginRepositoryWidget 938 from PluginManager.PluginRepositoryDialog import PluginRepositoryWidget
942 self.pluginRepositoryViewer = PluginRepositoryWidget( 939 self.pluginRepositoryViewer = PluginRepositoryWidget(
943 self.pluginManager, integrated=True, parent=self) 940 self.pluginManager, integrated=True, parent=self)
944 self.pluginRepositoryViewer.closeAndInstall.connect( 941 self.pluginRepositoryViewer.closeAndInstall.connect(
945 self.__installDownloadedPlugins) 942 self.__installDownloadedPlugins)
943
944 # Create the virtual environments management widget
945 from VirtualEnv.VirtualenvManagerWidgets import VirtualenvManagerWidget
946 self.__virtualenvManagerWidget = VirtualenvManagerWidget(
947 self.virtualenvManager, self)
946 948
947 def __createLayout(self): 949 def __createLayout(self):
948 """ 950 """
949 Private method to create the layout of the various windows. 951 Private method to create the layout of the various windows.
950 952
1065 1067
1066 self.rToolbox.addItem(self.pluginRepositoryViewer, 1068 self.rToolbox.addItem(self.pluginRepositoryViewer,
1067 UI.PixmapCache.getIcon("pluginRepository"), 1069 UI.PixmapCache.getIcon("pluginRepository"),
1068 self.tr("Plugin Repository")) 1070 self.tr("Plugin Repository"))
1069 1071
1072 self.rToolbox.addItem(self.__virtualenvManagerWidget,
1073 UI.PixmapCache.getIcon("virtualenv"),
1074 self.tr("Virtual Environments"))
1070 if self.pipWidget: 1075 if self.pipWidget:
1071 self.rToolbox.addItem(self.pipWidget, 1076 self.rToolbox.addItem(self.pipWidget,
1072 UI.PixmapCache.getIcon("pypi"), 1077 UI.PixmapCache.getIcon("pypi"),
1073 self.tr("PyPI")) 1078 self.tr("PyPI"))
1074 1079
1203 1208
1204 self.rightSidebar.addTab( 1209 self.rightSidebar.addTab(
1205 self.pluginRepositoryViewer, 1210 self.pluginRepositoryViewer,
1206 UI.PixmapCache.getIcon("sbPluginRepository96"), 1211 UI.PixmapCache.getIcon("sbPluginRepository96"),
1207 self.tr("Plugin Repository")) 1212 self.tr("Plugin Repository"))
1213
1214 self.rightSidebar.addTab(
1215 self.__virtualenvManagerWidget,
1216 UI.PixmapCache.getIcon("sbVirtenvManager96"),
1217 self.tr("Virtual Environments"))
1208 1218
1209 if self.pipWidget: 1219 if self.pipWidget:
1210 self.rightSidebar.addTab( 1220 self.rightSidebar.addTab(
1211 self.pipWidget, UI.PixmapCache.getIcon("sbPyPI96"), 1221 self.pipWidget, UI.PixmapCache.getIcon("sbPyPI96"),
1212 self.tr("PyPI")) 1222 self.tr("PyPI"))
2180 self.pluginRepositoryViewerActivateAct.triggered.connect( 2190 self.pluginRepositoryViewerActivateAct.triggered.connect(
2181 self.activatePluginRepositoryViewer) 2191 self.activatePluginRepositoryViewer)
2182 self.actions.append(self.pluginRepositoryViewerActivateAct) 2192 self.actions.append(self.pluginRepositoryViewerActivateAct)
2183 self.addAction(self.pluginRepositoryViewerActivateAct) 2193 self.addAction(self.pluginRepositoryViewerActivateAct)
2184 2194
2195 self.virtualenvManagerActivateAct = EricAction(
2196 self.tr('Virtual Environments'),
2197 self.tr('Virtual Environments'),
2198 QKeySequence(self.tr("Ctrl+Alt+V")),
2199 0, self,
2200 'virtualenv_manager_activate')
2201 self.virtualenvManagerActivateAct.setStatusTip(self.tr(
2202 "Switch the input focus to the Virtual Environments Manager"
2203 " window."))
2204 self.virtualenvManagerActivateAct.setWhatsThis(self.tr(
2205 """<b>Virtual Environments</b>"""
2206 """<p>This switches the input focus to the Virtual Environments"""
2207 """ Manager window.</p>"""
2208 ))
2209 self.virtualenvManagerActivateAct.triggered.connect(
2210 self.activateVirtualenvManager)
2211 self.actions.append(self.virtualenvManagerActivateAct)
2212 self.addAction(self.virtualenvManagerActivateAct)
2213
2185 self.whatsThisAct = EricAction( 2214 self.whatsThisAct = EricAction(
2186 self.tr('What\'s This?'), 2215 self.tr('What\'s This?'),
2187 UI.PixmapCache.getIcon("whatsThis"), 2216 UI.PixmapCache.getIcon("whatsThis"),
2188 self.tr('&What\'s This?'), 2217 self.tr('&What\'s This?'),
2189 QKeySequence(self.tr("Shift+F1")), 2218 QKeySequence(self.tr("Shift+F1")),
2870 """<p>This opens a dialog, that shows a list of plugins """ 2899 """<p>This opens a dialog, that shows a list of plugins """
2871 """available on the Internet.</p>""" 2900 """available on the Internet.</p>"""
2872 )) 2901 ))
2873 self.pluginRepoAct.triggered.connect(self.__showPluginsAvailable) 2902 self.pluginRepoAct.triggered.connect(self.__showPluginsAvailable)
2874 self.actions.append(self.pluginRepoAct) 2903 self.actions.append(self.pluginRepoAct)
2875
2876 self.virtualenvManagerAct = EricAction(
2877 self.tr('Virtualenv Manager'),
2878 UI.PixmapCache.getIcon("virtualenv"),
2879 self.tr('&Virtualenv Manager...'),
2880 0, 0, self,
2881 'virtualenv_manager')
2882 self.virtualenvManagerAct.setStatusTip(self.tr(
2883 'Virtualenv Manager'))
2884 self.virtualenvManagerAct.setWhatsThis(self.tr(
2885 """<b>Virtualenv Manager</b>"""
2886 """<p>This opens a dialog to manage the defined Python virtual"""
2887 """ environments.</p>"""
2888 ))
2889 self.virtualenvManagerAct.triggered.connect(
2890 self.virtualenvManager.showVirtualenvManagerDialog)
2891 self.actions.append(self.virtualenvManagerAct)
2892
2893 self.virtualenvConfigAct = EricAction(
2894 self.tr('Virtualenv Configurator'),
2895 UI.PixmapCache.getIcon("virtualenvConfig"),
2896 self.tr('Virtualenv &Configurator...'),
2897 0, 0, self,
2898 'virtualenv_configurator')
2899 self.virtualenvConfigAct.setStatusTip(self.tr(
2900 'Virtualenv Configurator'))
2901 self.virtualenvConfigAct.setWhatsThis(self.tr(
2902 """<b>Virtualenv Configurator</b>"""
2903 """<p>This opens a dialog for entering all the parameters"""
2904 """ needed to create a Python virtual environment using"""
2905 """ virtualenv or pyvenv.</p>"""
2906 ))
2907 self.virtualenvConfigAct.triggered.connect(
2908 self.virtualenvManager.createVirtualEnv)
2909 self.actions.append(self.virtualenvConfigAct)
2910 2904
2911 # initialize viewmanager actions 2905 # initialize viewmanager actions
2912 self.viewmanager.initActions() 2906 self.viewmanager.initActions()
2913 2907
2914 # initialize debugger actions 2908 # initialize debugger actions
3188 self.__menus["macros"] = self.viewmanager.initMacroMenu() 3182 self.__menus["macros"] = self.viewmanager.initMacroMenu()
3189 self.__menus["extras"].addMenu(self.__menus["macros"]) 3183 self.__menus["extras"].addMenu(self.__menus["macros"])
3190 self.__menus["extras"].addSeparator() 3184 self.__menus["extras"].addSeparator()
3191 3185
3192 ############################################################## 3186 ##############################################################
3193 ## Extras/VirtualEnv Manager menu entries
3194 ##############################################################
3195
3196 self.__menus["extras"].addAction(self.virtualenvManagerAct)
3197 self.__menus["extras"].addAction(self.virtualenvConfigAct)
3198 self.__menus["extras"].addSeparator()
3199
3200 ##############################################################
3201 ## Extras/Plugins menu 3187 ## Extras/Plugins menu
3202 ############################################################## 3188 ##############################################################
3203 3189
3204 pluginsMenu = QMenu(self.tr('P&lugins'), self) 3190 pluginsMenu = QMenu(self.tr('P&lugins'), self)
3205 pluginsMenu.setIcon(UI.PixmapCache.getIcon("plugin")) 3191 pluginsMenu.setIcon(UI.PixmapCache.getIcon("plugin"))
3325 self.__menus["subwindow"].addAction( 3311 self.__menus["subwindow"].addAction(
3326 self.codeDocumentationViewerActivateAct) 3312 self.codeDocumentationViewerActivateAct)
3327 self.__menus["subwindow"].addAction(self.debugViewerActivateAct) 3313 self.__menus["subwindow"].addAction(self.debugViewerActivateAct)
3328 self.__menus["subwindow"].addAction( 3314 self.__menus["subwindow"].addAction(
3329 self.pluginRepositoryViewerActivateAct) 3315 self.pluginRepositoryViewerActivateAct)
3316 self.__menus["subwindow"].addAction(self.virtualenvManagerActivateAct)
3330 if self.pipWidget is not None: 3317 if self.pipWidget is not None:
3331 self.__menus["subwindow"].addAction(self.pipWidgetActivateAct) 3318 self.__menus["subwindow"].addAction(self.pipWidgetActivateAct)
3332 if self.condaWidget is not None: 3319 if self.condaWidget is not None:
3333 self.__menus["subwindow"].addAction(self.condaWidgetActivateAct) 3320 self.__menus["subwindow"].addAction(self.condaWidgetActivateAct)
3334 if self.cooperation is not None: 3321 if self.cooperation is not None:
3472 toolstb.addSeparator() 3459 toolstb.addSeparator()
3473 toolstb.addAction(self.miniEditorAct) 3460 toolstb.addAction(self.miniEditorAct)
3474 toolstb.addAction(self.hexEditorAct) 3461 toolstb.addAction(self.hexEditorAct)
3475 toolstb.addAction(self.iconEditorAct) 3462 toolstb.addAction(self.iconEditorAct)
3476 toolstb.addAction(self.snapshotAct) 3463 toolstb.addAction(self.snapshotAct)
3477 toolstb.addSeparator()
3478 toolstb.addAction(self.virtualenvManagerAct)
3479 toolstb.addAction(self.virtualenvConfigAct)
3480 if self.webBrowserAct: 3464 if self.webBrowserAct:
3481 toolstb.addSeparator() 3465 toolstb.addSeparator()
3482 toolstb.addAction(self.webBrowserAct) 3466 toolstb.addAction(self.webBrowserAct)
3483 self.toolbarManager.addToolBar(toolstb, toolstb.windowTitle()) 3467 self.toolbarManager.addToolBar(toolstb, toolstb.windowTitle())
3484 3468
5014 Private slot to generate the unit test dialog on demand. 4998 Private slot to generate the unit test dialog on demand.
5015 """ 4999 """
5016 if self.unittestDialog is None: 5000 if self.unittestDialog is None:
5017 from PyUnit.UnittestDialog import UnittestDialog 5001 from PyUnit.UnittestDialog import UnittestDialog
5018 self.unittestDialog = UnittestDialog( 5002 self.unittestDialog = UnittestDialog(
5019 None, self.debuggerUI.debugServer, self) 5003 None, self.__debugServer, self)
5020 self.unittestDialog.unittestFile.connect( 5004 self.unittestDialog.unittestFile.connect(
5021 self.viewmanager.setFileLine) 5005 self.viewmanager.setFileLine)
5022 self.unittestDialog.unittestStopped.connect(self.__unittestStopped) 5006 self.unittestDialog.unittestStopped.connect(self.__unittestStopped)
5023 5007
5024 def __unittestStopped(self): 5008 def __unittestStopped(self):
6505 """ 6489 """
6506 Private slot to handle the projectOpened signal. 6490 Private slot to handle the projectOpened signal.
6507 """ 6491 """
6508 from Debugger.DebugClientCapabilities import HasUnittest 6492 from Debugger.DebugClientCapabilities import HasUnittest
6509 self.__setWindowCaption(project=self.project.name) 6493 self.__setWindowCaption(project=self.project.name)
6510 cap = ericApp().getObject("DebugServer").getClientCapabilities( 6494 cap = self.__debugServer.getClientCapabilities(
6511 self.project.getProjectLanguage()) 6495 self.project.getProjectLanguage())
6512 self.utProjectAct.setEnabled(cap & HasUnittest) 6496 self.utProjectAct.setEnabled(cap & HasUnittest)
6513 self.utProjectOpen = cap & HasUnittest 6497 self.utProjectOpen = cap & HasUnittest
6514 6498
6515 def __projectClosed(self): 6499 def __projectClosed(self):
6557 """ 6541 """
6558 self.wizardsMenuAct.setEnabled( 6542 self.wizardsMenuAct.setEnabled(
6559 len(self.__menus["wizards"].actions()) > 0) 6543 len(self.__menus["wizards"].actions()) > 0)
6560 6544
6561 if fn and str(fn) != "None": 6545 if fn and str(fn) != "None":
6562 dbs = ericApp().getObject("DebugServer") 6546 dbs = self.__debugServer
6563 for language in dbs.getSupportedLanguages(): 6547 for language in dbs.getSupportedLanguages():
6564 exts = dbs.getExtensions(language) 6548 exts = dbs.getExtensions(language)
6565 if fn.endswith(exts): 6549 if fn.endswith(exts):
6566 from Debugger.DebugClientCapabilities import HasUnittest 6550 from Debugger.DebugClientCapabilities import HasUnittest
6567 cap = dbs.getClientCapabilities(language) 6551 cap = dbs.getClientCapabilities(language)
6580 @param editor editor window 6564 @param editor editor window
6581 """ 6565 """
6582 fn = editor.getFileName() if editor else None 6566 fn = editor.getFileName() if editor else None
6583 6567
6584 if fn: 6568 if fn:
6585 dbs = ericApp().getObject("DebugServer") 6569 dbs = self.__debugServer
6586 for language in dbs.getSupportedLanguages(): 6570 for language in dbs.getSupportedLanguages():
6587 exts = dbs.getExtensions(language) 6571 exts = dbs.getExtensions(language)
6588 if fn.endswith(exts): 6572 if fn.endswith(exts):
6589 from Debugger.DebugClientCapabilities import HasUnittest 6573 from Debugger.DebugClientCapabilities import HasUnittest
6590 cap = dbs.getClientCapabilities(language) 6574 cap = dbs.getClientCapabilities(language)
7103 7087
7104 if self.cooperation is not None: 7088 if self.cooperation is not None:
7105 self.cooperation.shutdown() 7089 self.cooperation.shutdown()
7106 7090
7107 self.pluginManager.doShutdown() 7091 self.pluginManager.doShutdown()
7108
7109 self.virtualenvManager.shutdown()
7110 7092
7111 if self.SAServer is not None: 7093 if self.SAServer is not None:
7112 self.SAServer.shutdown() 7094 self.SAServer.shutdown()
7113 self.SAServer = None 7095 self.SAServer = None
7114 7096
7700 manager.cancel() 7682 manager.cancel()
7701 else: 7683 else:
7702 # We did not get permission to interact, play it safe and 7684 # We did not get permission to interact, play it safe and
7703 # save all data. 7685 # save all data.
7704 self.viewmanager.saveAllEditors() 7686 self.viewmanager.saveAllEditors()
7687
7688 ############################################################
7689 ## Interface to the virtual environment manager widget below
7690 ############################################################
7691
7692 @pyqtSlot()
7693 def activateVirtualenvManager(self):
7694 """
7695 Public slot to activate the virtual environments manager widget.
7696 """
7697 if self.__layoutType == "Toolboxes":
7698 self.rToolboxDock.show()
7699 self.rToolbox.setCurrentWidget(self.__virtualenvManagerWidget)
7700 elif self.__layoutType == "Sidebars":
7701 self.rightSidebar.show()
7702 self.rightSidebar.setCurrentWidget(self.__virtualenvManagerWidget)
7703 self.__virtualenvManagerWidget.setFocus(
7704 Qt.FocusReason.ActiveWindowFocusReason)

eric ide

mercurial