67 from .DiffDialog import DiffDialog |
67 from .DiffDialog import DiffDialog |
68 from .CompareDialog import CompareDialog |
68 from .CompareDialog import CompareDialog |
69 from .LogView import LogViewer |
69 from .LogView import LogViewer |
70 from .FindFileDialog import FindFileDialog |
70 from .FindFileDialog import FindFileDialog |
71 from .FindFileNameDialog import FindFileNameDialog |
71 from .FindFileNameDialog import FindFileNameDialog |
|
72 from .SymbolsWidget import SymbolsWidget |
72 |
73 |
73 from E5Gui.E5SingleApplication import E5SingleApplicationServer |
74 from E5Gui.E5SingleApplication import E5SingleApplicationServer |
74 from E5Gui.E5Action import E5Action, createActionGroup |
75 from E5Gui.E5Action import E5Action, createActionGroup |
75 from E5Gui.E5ToolBarManager import E5ToolBarManager |
76 from E5Gui.E5ToolBarManager import E5ToolBarManager |
76 from E5Gui.E5ToolBarDialog import E5ToolBarDialog |
77 from E5Gui.E5ToolBarDialog import E5ToolBarDialog |
491 self.viewmanager.shareConnected) |
492 self.viewmanager.shareConnected) |
492 self.connect(self.cooperation, SIGNAL('editorCommand(QString, QString, QString)'), |
493 self.connect(self.cooperation, SIGNAL('editorCommand(QString, QString, QString)'), |
493 self.viewmanager.receive) |
494 self.viewmanager.receive) |
494 self.viewmanager.setCooperationClient(self.cooperation.getClient()) |
495 self.viewmanager.setCooperationClient(self.cooperation.getClient()) |
495 |
496 |
|
497 self.connect(self.symbolsViewer, SIGNAL('insertSymbol(QString)'), |
|
498 self.viewmanager.insertSymbol) |
|
499 |
496 # Generate the unittest dialog |
500 # Generate the unittest dialog |
497 self.unittestDialog = UnittestDialog(None, self.debuggerUI.debugServer, self) |
501 self.unittestDialog = UnittestDialog(None, self.debuggerUI.debugServer, self) |
498 self.connect(self.unittestDialog, SIGNAL('unittestFile'), |
502 self.connect(self.unittestDialog, SIGNAL('unittestFile'), |
499 self.viewmanager.setFileLine) |
503 self.viewmanager.setFileLine) |
500 |
504 |
551 e5App().registerObject("DummyHelpViewer", self.dummyHelpViewer) |
555 e5App().registerObject("DummyHelpViewer", self.dummyHelpViewer) |
552 e5App().registerObject("PluginManager", self.pluginManager) |
556 e5App().registerObject("PluginManager", self.pluginManager) |
553 e5App().registerObject("ToolbarManager", self.toolbarManager) |
557 e5App().registerObject("ToolbarManager", self.toolbarManager) |
554 e5App().registerObject("Terminal", self.terminal) |
558 e5App().registerObject("Terminal", self.terminal) |
555 e5App().registerObject("Cooperation", self.cooperation) |
559 e5App().registerObject("Cooperation", self.cooperation) |
|
560 e5App().registerObject("Symbols", self.symbolsViewer) |
556 |
561 |
557 # Initialize the actions, menus, toolbars and statusbar |
562 # Initialize the actions, menus, toolbars and statusbar |
558 splash.showMessage(self.trUtf8("Initializing Actions...")) |
563 splash.showMessage(self.trUtf8("Initializing Actions...")) |
559 self.__initActions() |
564 self.__initActions() |
560 splash.showMessage(self.trUtf8("Initializing Menus...")) |
565 splash.showMessage(self.trUtf8("Initializing Menus...")) |
741 |
746 |
742 # Create the chat part of the user interface |
747 # Create the chat part of the user interface |
743 self.cooperation = ChatWidget() |
748 self.cooperation = ChatWidget() |
744 self.cooperation.setWindowTitle(self.trUtf8("Cooperation")) |
749 self.cooperation.setWindowTitle(self.trUtf8("Cooperation")) |
745 |
750 |
|
751 # Create the symbols part of the user interface |
|
752 self.symbolsViewer = SymbolsWidget() |
|
753 self.symbolsViewer.setWindowTitle(self.trUtf8("Symbols")) |
|
754 |
746 # Create the log viewer part of the user interface |
755 # Create the log viewer part of the user interface |
747 self.logViewer = LogViewer(None) |
756 self.logViewer = LogViewer(None) |
748 self.logViewer.setWindowTitle(self.trUtf8("Log-Viewer")) |
757 self.logViewer.setWindowTitle(self.trUtf8("Log-Viewer")) |
749 |
758 |
750 # Create the task viewer part of the user interface |
759 # Create the task viewer part of the user interface |
759 self.terminal = Terminal(self.viewmanager) |
768 self.terminal = Terminal(self.viewmanager) |
760 self.terminal.setWindowTitle(self.trUtf8("Terminal")) |
769 self.terminal.setWindowTitle(self.trUtf8("Terminal")) |
761 |
770 |
762 self.windows = [self.projectBrowser, None, self.debugViewer, |
771 self.windows = [self.projectBrowser, None, self.debugViewer, |
763 None, self.logViewer, self.taskViewer, self.templateViewer, |
772 None, self.logViewer, self.taskViewer, self.templateViewer, |
764 self.multiProjectBrowser, self.terminal, self.cooperation] |
773 self.multiProjectBrowser, self.terminal, self.cooperation, |
|
774 self.symbolsViewer] |
765 |
775 |
766 if self.embeddedShell: |
776 if self.embeddedShell: |
767 self.shell = self.debugViewer.shell |
777 self.shell = self.debugViewer.shell |
768 else: |
778 else: |
769 # Create the shell |
779 # Create the shell |
865 elif self.embeddedFileBrowser == 1: # embedded in debug browser |
875 elif self.embeddedFileBrowser == 1: # embedded in debug browser |
866 self.browser = self.debugViewer.browser |
876 self.browser = self.debugViewer.browser |
867 else: # embedded in project browser |
877 else: # embedded in project browser |
868 self.browser = self.projectBrowser.fileBrowser |
878 self.browser = self.projectBrowser.fileBrowser |
869 |
879 |
|
880 # Create the symbols viewer |
|
881 self.symbolsDock = self.__createDockWindow("SymbolsDock") |
|
882 self.symbolsViewer = SymbolsWidget() |
|
883 self.__setupDockWindow(self.symbolsDock, Qt.LeftDockWidgetArea, |
|
884 self.symbolsViewer, self.trUtf8("Symbols")) |
|
885 self.windows.append(self.symbolsDock) |
|
886 |
870 def __createToolboxesLayout(self, debugServer): |
887 def __createToolboxesLayout(self, debugServer): |
871 """ |
888 """ |
872 Private method to create the Toolboxes layout. |
889 Private method to create the Toolboxes layout. |
873 |
890 |
874 @param debugServer reference to the debug server object |
891 @param debugServer reference to the debug server object |
959 elif self.embeddedFileBrowser == 1: # embedded in debug browser |
976 elif self.embeddedFileBrowser == 1: # embedded in debug browser |
960 self.browser = self.debugViewer.browser |
977 self.browser = self.debugViewer.browser |
961 else: # embedded in project browser |
978 else: # embedded in project browser |
962 self.browser = self.projectBrowser.fileBrowser |
979 self.browser = self.projectBrowser.fileBrowser |
963 |
980 |
|
981 # Create the symbols viewer |
|
982 self.symbolsViewer = SymbolsWidget() |
|
983 self.vToolbox.addItem(self.symbolsViewer, |
|
984 UI.PixmapCache.getIcon("symbols.png"), |
|
985 self.trUtf8("Symbols")) |
|
986 |
964 self.hToolbox.setCurrentIndex(0) |
987 self.hToolbox.setCurrentIndex(0) |
965 |
988 |
966 def __createSidebarsLayout(self, debugServer): |
989 def __createSidebarsLayout(self, debugServer): |
967 """ |
990 """ |
968 Private method to create the Sidebars layout. |
991 Private method to create the Sidebars layout. |
1051 if self.embeddedFileBrowser == 0: # separate window |
1074 if self.embeddedFileBrowser == 0: # separate window |
1052 # Create the file browser |
1075 # Create the file browser |
1053 logging.debug("Creating File Browser...") |
1076 logging.debug("Creating File Browser...") |
1054 self.browser = Browser() |
1077 self.browser = Browser() |
1055 self.leftSidebar.addTab(self.browser, |
1078 self.leftSidebar.addTab(self.browser, |
1056 UI.PixmapCache.getIcon("browser.png"), |
1079 UI.PixmapCache.getIcon("browser.png"), |
1057 self.trUtf8("File-Browser")) |
1080 self.trUtf8("File-Browser")) |
1058 elif self.embeddedFileBrowser == 1: # embedded in debug browser |
1081 elif self.embeddedFileBrowser == 1: # embedded in debug browser |
1059 self.browser = self.debugViewer.browser |
1082 self.browser = self.debugViewer.browser |
1060 else: # embedded in project browser |
1083 else: # embedded in project browser |
1061 self.browser = self.projectBrowser.fileBrowser |
1084 self.browser = self.projectBrowser.fileBrowser |
|
1085 |
|
1086 # Create the symbols viewer |
|
1087 self.symbolsViewer = SymbolsWidget() |
|
1088 self.leftSidebar.addTab(self.symbolsViewer, |
|
1089 UI.PixmapCache.getIcon("symbols.png"), |
|
1090 self.trUtf8("Symbols")) |
1062 |
1091 |
1063 self.bottomSidebar.setCurrentIndex(0) |
1092 self.bottomSidebar.setCurrentIndex(0) |
1064 |
1093 |
1065 # create the central widget |
1094 # create the central widget |
1066 logging.debug("Creating central widget...") |
1095 logging.debug("Creating central widget...") |
1613 'cooperation_viewer_activate', True) |
1642 'cooperation_viewer_activate', True) |
1614 self.connect(self.cooperationViewerActivateAct, SIGNAL('triggered()'), |
1643 self.connect(self.cooperationViewerActivateAct, SIGNAL('triggered()'), |
1615 self.__activateCooperationViewer) |
1644 self.__activateCooperationViewer) |
1616 self.actions.append(self.cooperationViewerActivateAct) |
1645 self.actions.append(self.cooperationViewerActivateAct) |
1617 self.addAction(self.cooperationViewerActivateAct) |
1646 self.addAction(self.cooperationViewerActivateAct) |
|
1647 |
|
1648 self.symbolsViewerAct = E5Action(self.trUtf8('Symbols'), |
|
1649 self.trUtf8('&Symbols'), 0, 0, self, 'symbols_viewer', True) |
|
1650 self.symbolsViewerAct.setStatusTip(self.trUtf8( |
|
1651 'Toggle the Symbols window')) |
|
1652 self.symbolsViewerAct.setWhatsThis(self.trUtf8( |
|
1653 """<b>Toggle the Symbols window</b>""" |
|
1654 """<p>If the Symbols window is hidden then display it.""" |
|
1655 """ If it is displayed then close it.</p>""" |
|
1656 )) |
|
1657 self.connect(self.symbolsViewerAct, SIGNAL('triggered()'), |
|
1658 self.__toggleSymbolsViewer) |
|
1659 self.actions.append(self.symbolsViewerAct) |
|
1660 |
|
1661 self.symbolsViewerActivateAct = E5Action( |
|
1662 self.trUtf8('Activate Symbols-Viewer'), |
|
1663 self.trUtf8('Activate Symbols-Viewer'), |
|
1664 QKeySequence(self.trUtf8("Alt+Shift+Y")), |
|
1665 0, self, |
|
1666 'symbols_viewer_activate', True) |
|
1667 self.connect(self.symbolsViewerActivateAct, SIGNAL('triggered()'), |
|
1668 self.__activateSymbolsViewer) |
|
1669 self.actions.append(self.symbolsViewerActivateAct) |
|
1670 self.addAction(self.symbolsViewerActivateAct) |
1618 |
1671 |
1619 self.whatsThisAct = E5Action(self.trUtf8('What\'s This?'), |
1672 self.whatsThisAct = E5Action(self.trUtf8('What\'s This?'), |
1620 UI.PixmapCache.getIcon("whatsThis.png"), |
1673 UI.PixmapCache.getIcon("whatsThis.png"), |
1621 self.trUtf8('&What\'s This?'), |
1674 self.trUtf8('&What\'s This?'), |
1622 QKeySequence(self.trUtf8("Shift+F1")), |
1675 QKeySequence(self.trUtf8("Shift+F1")), |
3190 self.__menus["window"].addAction(self.cooperationViewerAct) |
3243 self.__menus["window"].addAction(self.cooperationViewerAct) |
3191 if self.layout == "DockWindows": |
3244 if self.layout == "DockWindows": |
3192 self.cooperationViewerAct.setChecked(not self.cooperationDock.isHidden()) |
3245 self.cooperationViewerAct.setChecked(not self.cooperationDock.isHidden()) |
3193 else: |
3246 else: |
3194 self.cooperationViewerAct.setChecked(not self.cooperation.isHidden()) |
3247 self.cooperationViewerAct.setChecked(not self.cooperation.isHidden()) |
|
3248 |
|
3249 self.__menus["window"].addAction(self.symbolsViewerAct) |
|
3250 if self.layout == "DockWindows": |
|
3251 self.symbolsViewerAct.setChecked(not self.symbolsDock.isHidden()) |
|
3252 else: |
|
3253 self.symbolsViewerAct.setChecked(not self.symbolsViewer.isHidden()) |
3195 |
3254 |
3196 # Insert menu entry for toolbar settings |
3255 # Insert menu entry for toolbar settings |
3197 self.__menus["window"].addSeparator() |
3256 self.__menus["window"].addSeparator() |
3198 self.__menus["window"].addMenu(self.__menus["toolbars"]) |
3257 self.__menus["window"].addMenu(self.__menus["toolbars"]) |
3199 |
3258 |
3787 self.cooperationDock.raise_() |
3846 self.cooperationDock.raise_() |
3788 else: |
3847 else: |
3789 self.cooperation.show() |
3848 self.cooperation.show() |
3790 self.cooperation.setFocus(Qt.ActiveWindowFocusReason) |
3849 self.cooperation.setFocus(Qt.ActiveWindowFocusReason) |
3791 |
3850 |
|
3851 def __toggleSymbolsViewer(self): |
|
3852 """ |
|
3853 Private slot to handle the toggle of the Symbols Viewer window. |
|
3854 """ |
|
3855 hasFocus = self.symbolsViewer.hasFocus() |
|
3856 if self.layout == "DockWindows": |
|
3857 shown = self.__toggleWindow(self.symbolsDock) |
|
3858 else: |
|
3859 shown = self.__toggleWindow(self.symbolsViewer) |
|
3860 if shown: |
|
3861 self.__activateSymbolsViewer() |
|
3862 else: |
|
3863 if hasFocus: |
|
3864 self.__activateViewmanager() |
|
3865 |
|
3866 def __activateSymbolsViewer(self): |
|
3867 """ |
|
3868 Private slot to handle the activation of the Symbols Viewer. |
|
3869 """ |
|
3870 if self.layout == "DockWindows": |
|
3871 self.symbolsDock.show() |
|
3872 self.symbolsDock.raise_() |
|
3873 elif self.layout == "Toolboxes": |
|
3874 self.vToolboxDock.show() |
|
3875 self.vToolbox.setCurrentWidget(self.symbolsViewer) |
|
3876 elif self.layout == "Sidebars": |
|
3877 self.leftSidebar.show() |
|
3878 self.leftSidebar.setCurrentWidget(self.symbolsViewer) |
|
3879 else: |
|
3880 self.symbolsViewer.show() |
|
3881 self.symbolsViewer.setFocus(Qt.ActiveWindowFocusReason) |
|
3882 |
3792 def __activateViewmanager(self): |
3883 def __activateViewmanager(self): |
3793 """ |
3884 """ |
3794 Private slot to handle the activation of the current editor. |
3885 Private slot to handle the activation of the current editor. |
3795 """ |
3886 """ |
3796 aw = self.viewmanager.activeWindow() |
3887 aw = self.viewmanager.activeWindow() |