5899:0516f6548ca6 | 5900:cd90bfdc1247 |
---|---|
529 e5App().registerObject("ToolbarManager", self.toolbarManager) | 529 e5App().registerObject("ToolbarManager", self.toolbarManager) |
530 e5App().registerObject("Cooperation", self.cooperation) | 530 e5App().registerObject("Cooperation", self.cooperation) |
531 e5App().registerObject("IRC", self.irc) | 531 e5App().registerObject("IRC", self.irc) |
532 e5App().registerObject("Symbols", self.symbolsViewer) | 532 e5App().registerObject("Symbols", self.symbolsViewer) |
533 e5App().registerObject("Numbers", self.numbersViewer) | 533 e5App().registerObject("Numbers", self.numbersViewer) |
534 e5App().registerObject("DocuViewer", self.codeDocumentationViewer) | |
534 | 535 |
535 # list of web addresses serving the versions file | 536 # list of web addresses serving the versions file |
536 self.__httpAlternatives = Preferences.getUI("VersionsUrls6") | 537 self.__httpAlternatives = Preferences.getUI("VersionsUrls6") |
537 self.__inVersionCheck = False | 538 self.__inVersionCheck = False |
538 self.__versionCheckProgress = None | 539 self.__versionCheckProgress = None |
640 | 641 |
641 # set the keyboard input interval | 642 # set the keyboard input interval |
642 interval = Preferences.getUI("KeyboardInputInterval") | 643 interval = Preferences.getUI("KeyboardInputInterval") |
643 if interval > 0: | 644 if interval > 0: |
644 QApplication.setKeyboardInputInterval(interval) | 645 QApplication.setKeyboardInputInterval(interval) |
646 | |
647 # finalize the initialization of the code documentation viewer | |
648 self.codeDocumentationViewer.finalizeSetup() | |
645 | 649 |
646 def __createLayout(self, debugServer): | 650 def __createLayout(self, debugServer): |
647 """ | 651 """ |
648 Private method to create the layout of the various windows. | 652 Private method to create the layout of the various windows. |
649 | 653 |
699 | 703 |
700 @param debugServer reference to the debug server object | 704 @param debugServer reference to the debug server object |
701 """ | 705 """ |
702 from E5Gui.E5ToolBox import E5VerticalToolBox, E5HorizontalToolBox | 706 from E5Gui.E5ToolBox import E5VerticalToolBox, E5HorizontalToolBox |
703 | 707 |
708 logging.debug("Creating Toolboxes Layout...") | |
709 | |
704 # Create the left toolbox | 710 # Create the left toolbox |
705 self.lToolboxDock = self.__createDockWindow("lToolboxDock") | 711 self.lToolboxDock = self.__createDockWindow("lToolboxDock") |
706 self.lToolbox = E5VerticalToolBox(self.lToolboxDock) | 712 self.lToolbox = E5VerticalToolBox(self.lToolboxDock) |
707 self.__setupDockWindow(self.lToolboxDock, Qt.LeftDockWidgetArea, | 713 self.__setupDockWindow(self.lToolboxDock, Qt.LeftDockWidgetArea, |
708 self.lToolbox, self.tr("Left Toolbox")) | 714 self.lToolbox, self.tr("Left Toolbox")) |
719 self.rToolbox = E5VerticalToolBox(self.rToolboxDock) | 725 self.rToolbox = E5VerticalToolBox(self.rToolboxDock) |
720 self.__setupDockWindow(self.rToolboxDock, Qt.RightDockWidgetArea, | 726 self.__setupDockWindow(self.rToolboxDock, Qt.RightDockWidgetArea, |
721 self.rToolbox, self.tr("Right Toolbox")) | 727 self.rToolbox, self.tr("Right Toolbox")) |
722 | 728 |
723 # Create the project browser | 729 # Create the project browser |
730 logging.debug("Creating Project Browser...") | |
724 from Project.ProjectBrowser import ProjectBrowser | 731 from Project.ProjectBrowser import ProjectBrowser |
725 self.projectBrowser = ProjectBrowser( | 732 self.projectBrowser = ProjectBrowser( |
726 self.project, None, | 733 self.project, None, |
727 embeddedBrowser=(self.embeddedFileBrowser == 2)) | 734 embeddedBrowser=(self.embeddedFileBrowser == 2)) |
728 self.lToolbox.addItem(self.projectBrowser, | 735 self.lToolbox.addItem(self.projectBrowser, |
729 UI.PixmapCache.getIcon("projectViewer.png"), | 736 UI.PixmapCache.getIcon("projectViewer.png"), |
730 self.tr("Project-Viewer")) | 737 self.tr("Project-Viewer")) |
731 | 738 |
732 # Create the multi project browser | 739 # Create the multi project browser |
740 logging.debug("Creating Multiproject Browser...") | |
733 from MultiProject.MultiProjectBrowser import MultiProjectBrowser | 741 from MultiProject.MultiProjectBrowser import MultiProjectBrowser |
734 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject, | 742 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject, |
735 self.project) | 743 self.project) |
736 self.lToolbox.addItem(self.multiProjectBrowser, | 744 self.lToolbox.addItem(self.multiProjectBrowser, |
737 UI.PixmapCache.getIcon("multiProjectViewer.png"), | 745 UI.PixmapCache.getIcon("multiProjectViewer.png"), |
738 self.tr("Multiproject-Viewer")) | 746 self.tr("Multiproject-Viewer")) |
739 | 747 |
740 # Create the template viewer part of the user interface | 748 # Create the template viewer part of the user interface |
749 logging.debug("Creating Template Viewer...") | |
741 from Templates.TemplateViewer import TemplateViewer | 750 from Templates.TemplateViewer import TemplateViewer |
742 self.templateViewer = TemplateViewer(None, | 751 self.templateViewer = TemplateViewer(None, |
743 self.viewmanager) | 752 self.viewmanager) |
744 self.lToolbox.addItem(self.templateViewer, | 753 self.lToolbox.addItem(self.templateViewer, |
745 UI.PixmapCache.getIcon("templateViewer.png"), | 754 UI.PixmapCache.getIcon("templateViewer.png"), |
746 self.tr("Template-Viewer")) | 755 self.tr("Template-Viewer")) |
747 | 756 |
757 # Create the code documentation viewer | |
758 logging.debug("Creating Code Documentation Viewer...") | |
759 from .CodeDocumentationViewer import CodeDocumentationViewer | |
760 self.codeDocumentationViewer = CodeDocumentationViewer(self) | |
761 self.rToolbox.addItem(self.codeDocumentationViewer, | |
762 UI.PixmapCache.getIcon("codeDocuViewer.png"), | |
763 self.tr("Code Documentation Viewer")) | |
764 | |
748 # Create the debug viewer maybe without the embedded shell | 765 # Create the debug viewer maybe without the embedded shell |
766 logging.debug("Creating Debug Viewer...") | |
749 from Debugger.DebugViewer import DebugViewer | 767 from Debugger.DebugViewer import DebugViewer |
750 self.debugViewer = DebugViewer( | 768 self.debugViewer = DebugViewer( |
751 debugServer, True, self.viewmanager, None, | 769 debugServer, True, self.viewmanager, None, |
752 embeddedShell=self.embeddedShell, | 770 embeddedShell=self.embeddedShell, |
753 embeddedBrowser=(self.embeddedFileBrowser == 1)) | 771 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
754 self.rToolbox.addItem(self.debugViewer, | 772 self.rToolbox.addItem(self.debugViewer, |
755 UI.PixmapCache.getIcon("debugViewer.png"), | 773 UI.PixmapCache.getIcon("debugViewer.png"), |
756 self.tr("Debug-Viewer")) | 774 self.tr("Debug-Viewer")) |
757 | 775 |
758 # Create the chat part of the user interface | 776 # Create the chat part of the user interface |
777 logging.debug("Creating Chat Widget...") | |
759 from Cooperation.ChatWidget import ChatWidget | 778 from Cooperation.ChatWidget import ChatWidget |
760 self.cooperation = ChatWidget(self) | 779 self.cooperation = ChatWidget(self) |
761 self.rToolbox.addItem(self.cooperation, | 780 self.rToolbox.addItem(self.cooperation, |
762 UI.PixmapCache.getIcon("cooperation.png"), | 781 UI.PixmapCache.getIcon("cooperation.png"), |
763 self.tr("Cooperation")) | 782 self.tr("Cooperation")) |
764 | 783 |
765 # Create the IRC part of the user interface | 784 # Create the IRC part of the user interface |
785 logging.debug("Creating IRC Widget...") | |
766 from Network.IRC.IrcWidget import IrcWidget | 786 from Network.IRC.IrcWidget import IrcWidget |
767 self.irc = IrcWidget(self) | 787 self.irc = IrcWidget(self) |
768 self.rToolbox.addItem(self.irc, | 788 self.rToolbox.addItem(self.irc, |
769 UI.PixmapCache.getIcon("irc.png"), | 789 UI.PixmapCache.getIcon("irc.png"), |
770 self.tr("IRC")) | 790 self.tr("IRC")) |
771 | 791 |
772 # Create the task viewer part of the user interface | 792 # Create the task viewer part of the user interface |
793 logging.debug("Creating Task Viewer...") | |
773 from Tasks.TaskViewer import TaskViewer | 794 from Tasks.TaskViewer import TaskViewer |
774 self.taskViewer = TaskViewer(None, self.project) | 795 self.taskViewer = TaskViewer(None, self.project) |
775 self.hToolbox.addItem(self.taskViewer, | 796 self.hToolbox.addItem(self.taskViewer, |
776 UI.PixmapCache.getIcon("task.png"), | 797 UI.PixmapCache.getIcon("task.png"), |
777 self.tr("Task-Viewer")) | 798 self.tr("Task-Viewer")) |
778 | 799 |
779 # Create the log viewer part of the user interface | 800 # Create the log viewer part of the user interface |
801 logging.debug("Creating Log Viewer...") | |
780 from .LogView import LogViewer | 802 from .LogView import LogViewer |
781 self.logViewer = LogViewer(self) | 803 self.logViewer = LogViewer(self) |
782 self.hToolbox.addItem(self.logViewer, | 804 self.hToolbox.addItem(self.logViewer, |
783 UI.PixmapCache.getIcon("logViewer.png"), | 805 UI.PixmapCache.getIcon("logViewer.png"), |
784 self.tr("Log-Viewer")) | 806 self.tr("Log-Viewer")) |
785 | 807 |
786 if self.embeddedShell: | 808 if self.embeddedShell: |
787 self.shell = self.debugViewer.shell | 809 self.shell = self.debugViewer.shell |
788 else: | 810 else: |
789 # Create the shell | 811 # Create the shell |
812 logging.debug("Creating Shell...") | |
790 from QScintilla.Shell import ShellAssembly | 813 from QScintilla.Shell import ShellAssembly |
791 self.shellAssembly = \ | 814 self.shellAssembly = \ |
792 ShellAssembly(debugServer, self.viewmanager, True) | 815 ShellAssembly(debugServer, self.viewmanager, True) |
793 self.shell = self.shellAssembly.shell() | 816 self.shell = self.shellAssembly.shell() |
794 self.hToolbox.insertItem(0, self.shellAssembly, | 817 self.hToolbox.insertItem(0, self.shellAssembly, |
795 UI.PixmapCache.getIcon("shell.png"), | 818 UI.PixmapCache.getIcon("shell.png"), |
796 self.tr("Shell")) | 819 self.tr("Shell")) |
797 | 820 |
798 if self.embeddedFileBrowser == 0: # separate window | 821 if self.embeddedFileBrowser == 0: # separate window |
799 # Create the file browser | 822 # Create the file browser |
823 logging.debug("Creating File Browser...") | |
800 from .Browser import Browser | 824 from .Browser import Browser |
801 self.browser = Browser() | 825 self.browser = Browser() |
802 self.lToolbox.addItem(self.browser, | 826 self.lToolbox.addItem(self.browser, |
803 UI.PixmapCache.getIcon("browser.png"), | 827 UI.PixmapCache.getIcon("browser.png"), |
804 self.tr("File-Browser")) | 828 self.tr("File-Browser")) |
806 self.browser = self.debugViewer.browser | 830 self.browser = self.debugViewer.browser |
807 else: # embedded in project browser | 831 else: # embedded in project browser |
808 self.browser = self.projectBrowser.fileBrowser | 832 self.browser = self.projectBrowser.fileBrowser |
809 | 833 |
810 # Create the symbols viewer | 834 # Create the symbols viewer |
835 logging.debug("Creating Symbols Viewer...") | |
811 from .SymbolsWidget import SymbolsWidget | 836 from .SymbolsWidget import SymbolsWidget |
812 self.symbolsViewer = SymbolsWidget() | 837 self.symbolsViewer = SymbolsWidget() |
813 self.lToolbox.addItem(self.symbolsViewer, | 838 self.lToolbox.addItem(self.symbolsViewer, |
814 UI.PixmapCache.getIcon("symbols.png"), | 839 UI.PixmapCache.getIcon("symbols.png"), |
815 self.tr("Symbols")) | 840 self.tr("Symbols")) |
816 | 841 |
817 # Create the numbers viewer | 842 # Create the numbers viewer |
843 logging.debug("Creating Numbers Viewer...") | |
818 from .NumbersWidget import NumbersWidget | 844 from .NumbersWidget import NumbersWidget |
819 self.numbersViewer = NumbersWidget() | 845 self.numbersViewer = NumbersWidget() |
820 self.hToolbox.addItem(self.numbersViewer, | 846 self.hToolbox.addItem(self.numbersViewer, |
821 UI.PixmapCache.getIcon("numbers.png"), | 847 UI.PixmapCache.getIcon("numbers.png"), |
822 self.tr("Numbers")) | 848 self.tr("Numbers")) |
828 Private method to create the Sidebars layout. | 854 Private method to create the Sidebars layout. |
829 | 855 |
830 @param debugServer reference to the debug server object | 856 @param debugServer reference to the debug server object |
831 """ | 857 """ |
832 from E5Gui.E5SideBar import E5SideBar | 858 from E5Gui.E5SideBar import E5SideBar |
859 | |
860 logging.debug("Creating Sidebars Layout...") | |
833 | 861 |
834 delay = Preferences.getUI("SidebarDelay") | 862 delay = Preferences.getUI("SidebarDelay") |
835 # Create the left sidebar | 863 # Create the left sidebar |
836 self.leftSidebar = E5SideBar(E5SideBar.West, delay) | 864 self.leftSidebar = E5SideBar(E5SideBar.West, delay) |
837 | 865 |
870 self.leftSidebar.addTab( | 898 self.leftSidebar.addTab( |
871 self.templateViewer, | 899 self.templateViewer, |
872 UI.PixmapCache.getIcon("templateViewer.png"), | 900 UI.PixmapCache.getIcon("templateViewer.png"), |
873 self.tr("Template-Viewer")) | 901 self.tr("Template-Viewer")) |
874 | 902 |
903 # Create the code documentation viewer | |
904 logging.debug("Creating Code Documentation Viewer...") | |
905 from .CodeDocumentationViewer import CodeDocumentationViewer | |
906 self.codeDocumentationViewer = CodeDocumentationViewer(self) | |
907 self.rightSidebar.addTab( | |
908 self.codeDocumentationViewer, | |
909 UI.PixmapCache.getIcon("codeDocuViewer.png"), | |
910 self.tr("Code Documentation Viewer")) | |
911 | |
875 # Create the debug viewer maybe without the embedded shell | 912 # Create the debug viewer maybe without the embedded shell |
876 logging.debug("Creating Debug Viewer...") | 913 logging.debug("Creating Debug Viewer...") |
877 from Debugger.DebugViewer import DebugViewer | 914 from Debugger.DebugViewer import DebugViewer |
878 self.debugViewer = DebugViewer( | 915 self.debugViewer = DebugViewer( |
879 debugServer, True, self.viewmanager, None, | 916 debugServer, True, self.viewmanager, None, |
4163 """ | 4200 """ |
4164 aw = self.viewmanager.activeWindow() | 4201 aw = self.viewmanager.activeWindow() |
4165 if aw is not None: | 4202 if aw is not None: |
4166 aw.setFocus(Qt.ActiveWindowFocusReason) | 4203 aw.setFocus(Qt.ActiveWindowFocusReason) |
4167 | 4204 |
4205 def activateCodeDocumentationViewer(self, switchFocus=True): | |
4206 """ | |
4207 Public slot to handle the activation of the Code Documentation Viewer. | |
4208 | |
4209 @param switchFocus flag indicating to transfer the input focus | |
4210 @type bool | |
4211 """ | |
4212 if self.layoutType == "Toolboxes": | |
4213 self.rToolboxDock.show() | |
4214 self.rToolbox.setCurrentWidget(self.codeDocumentationViewer) | |
4215 elif self.layoutType == "Sidebars": | |
4216 self.rightSidebar.show() | |
4217 self.rightSidebar.setCurrentWidget(self.codeDocumentationViewer) | |
4218 else: | |
4219 self.codeDocumentationViewer.show() | |
4220 if switchFocus: | |
4221 self.codeDocumentationViewer.setFocus(Qt.ActiveWindowFocusReason) | |
4222 | |
4168 def __toggleWindow(self, w): | 4223 def __toggleWindow(self, w): |
4169 """ | 4224 """ |
4170 Private method to toggle a workspace editor window. | 4225 Private method to toggle a workspace editor window. |
4171 | 4226 |
4172 @param w reference to the workspace editor window | 4227 @param w reference to the workspace editor window |
6264 if not self.viewmanager.closeViewManager(): | 6319 if not self.viewmanager.closeViewManager(): |
6265 return False | 6320 return False |
6266 | 6321 |
6267 if sessionCreated and not self.__disableCrashSession: | 6322 if sessionCreated and not self.__disableCrashSession: |
6268 self.__deleteCrashSession() | 6323 self.__deleteCrashSession() |
6324 | |
6325 self.codeDocumentationViewer.shutdown() | |
6269 | 6326 |
6270 self.__previewer.shutdown() | 6327 self.__previewer.shutdown() |
6271 | 6328 |
6272 self.shell.closeShell() | 6329 self.shell.closeShell() |
6273 | 6330 |
6796 def __ircAutoConnected(self): | 6853 def __ircAutoConnected(self): |
6797 """ | 6854 """ |
6798 Private slot handling the automatic connection of the IRC client. | 6855 Private slot handling the automatic connection of the IRC client. |
6799 """ | 6856 """ |
6800 self.__activateIRC() | 6857 self.__activateIRC() |
6858 | |
6859 ############################################### | |
6860 ## Support for Code Documentation Viewer below | |
6861 ############################################### | |
6862 | |
6863 def documentationViewer(self): | |
6864 """ | |
6865 Public method to provide a reference to the code documentation viewer. | |
6866 | |
6867 @return reference to the code documentation viewer | |
6868 @rtype CodeDocumentationViewer | |
6869 """ | |
6870 return self.codeDocumentationViewer |