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 from .SymbolsWidget import SymbolsWidget |
|
73 from .NumbersWidget import NumbersWidget |
73 |
74 |
74 from E5Gui.E5SingleApplication import E5SingleApplicationServer |
75 from E5Gui.E5SingleApplication import E5SingleApplicationServer |
75 from E5Gui.E5Action import E5Action, createActionGroup |
76 from E5Gui.E5Action import E5Action, createActionGroup |
76 from E5Gui.E5ToolBarManager import E5ToolBarManager |
77 from E5Gui.E5ToolBarManager import E5ToolBarManager |
77 from E5Gui.E5ToolBarDialog import E5ToolBarDialog |
78 from E5Gui.E5ToolBarDialog import E5ToolBarDialog |
495 self.viewmanager.setCooperationClient(self.cooperation.getClient()) |
496 self.viewmanager.setCooperationClient(self.cooperation.getClient()) |
496 |
497 |
497 self.connect(self.symbolsViewer, SIGNAL('insertSymbol(QString)'), |
498 self.connect(self.symbolsViewer, SIGNAL('insertSymbol(QString)'), |
498 self.viewmanager.insertSymbol) |
499 self.viewmanager.insertSymbol) |
499 |
500 |
|
501 self.connect(self.numbersViewer, SIGNAL('insertNumber(QString)'), |
|
502 self.viewmanager.insertNumber) |
|
503 |
500 # Generate the unittest dialog |
504 # Generate the unittest dialog |
501 self.unittestDialog = UnittestDialog(None, self.debuggerUI.debugServer, self) |
505 self.unittestDialog = UnittestDialog(None, self.debuggerUI.debugServer, self) |
502 self.connect(self.unittestDialog, SIGNAL('unittestFile'), |
506 self.connect(self.unittestDialog, SIGNAL('unittestFile'), |
503 self.viewmanager.setFileLine) |
507 self.viewmanager.setFileLine) |
504 |
508 |
556 e5App().registerObject("PluginManager", self.pluginManager) |
560 e5App().registerObject("PluginManager", self.pluginManager) |
557 e5App().registerObject("ToolbarManager", self.toolbarManager) |
561 e5App().registerObject("ToolbarManager", self.toolbarManager) |
558 e5App().registerObject("Terminal", self.terminal) |
562 e5App().registerObject("Terminal", self.terminal) |
559 e5App().registerObject("Cooperation", self.cooperation) |
563 e5App().registerObject("Cooperation", self.cooperation) |
560 e5App().registerObject("Symbols", self.symbolsViewer) |
564 e5App().registerObject("Symbols", self.symbolsViewer) |
|
565 e5App().registerObject("Numbers", self.numbersViewer) |
561 |
566 |
562 # Initialize the actions, menus, toolbars and statusbar |
567 # Initialize the actions, menus, toolbars and statusbar |
563 splash.showMessage(self.trUtf8("Initializing Actions...")) |
568 splash.showMessage(self.trUtf8("Initializing Actions...")) |
564 self.__initActions() |
569 self.__initActions() |
565 splash.showMessage(self.trUtf8("Initializing Menus...")) |
570 splash.showMessage(self.trUtf8("Initializing Menus...")) |
766 |
771 |
767 # Create the terminal |
772 # Create the terminal |
768 self.terminal = Terminal(self.viewmanager) |
773 self.terminal = Terminal(self.viewmanager) |
769 self.terminal.setWindowTitle(self.trUtf8("Terminal")) |
774 self.terminal.setWindowTitle(self.trUtf8("Terminal")) |
770 |
775 |
|
776 # Create the numbers viewer |
|
777 self.numbersViewer = NumbersWidget() |
|
778 self.numbersViewer.setWindowTitle(self.trUtf8("Numbers")) |
|
779 |
771 self.windows = [self.projectBrowser, None, self.debugViewer, |
780 self.windows = [self.projectBrowser, None, self.debugViewer, |
772 None, self.logViewer, self.taskViewer, self.templateViewer, |
781 None, self.logViewer, self.taskViewer, self.templateViewer, |
773 self.multiProjectBrowser, self.terminal, self.cooperation, |
782 self.multiProjectBrowser, self.terminal, self.cooperation, |
774 self.symbolsViewer] |
783 self.symbolsViewer, self.numbersViewer] |
775 |
784 |
776 if self.embeddedShell: |
785 if self.embeddedShell: |
777 self.shell = self.debugViewer.shell |
786 self.shell = self.debugViewer.shell |
778 else: |
787 else: |
779 # Create the shell |
788 # Create the shell |
882 self.symbolsViewer = SymbolsWidget() |
891 self.symbolsViewer = SymbolsWidget() |
883 self.__setupDockWindow(self.symbolsDock, Qt.LeftDockWidgetArea, |
892 self.__setupDockWindow(self.symbolsDock, Qt.LeftDockWidgetArea, |
884 self.symbolsViewer, self.trUtf8("Symbols")) |
893 self.symbolsViewer, self.trUtf8("Symbols")) |
885 self.windows.append(self.symbolsDock) |
894 self.windows.append(self.symbolsDock) |
886 |
895 |
|
896 # Create the numbers viewer |
|
897 self.numbersDock = self.__createDockWindow("NumbersDock") |
|
898 self.numbersViewer = NumbersWidget() |
|
899 self.__setupDockWindow(self.numbersDock, Qt.BottomDockWidgetArea, |
|
900 self.numbersViewer, self.trUtf8("Numbers")) |
|
901 self.windows.append(self.numbersDock) |
|
902 |
887 def __createToolboxesLayout(self, debugServer): |
903 def __createToolboxesLayout(self, debugServer): |
888 """ |
904 """ |
889 Private method to create the Toolboxes layout. |
905 Private method to create the Toolboxes layout. |
890 |
906 |
891 @param debugServer reference to the debug server object |
907 @param debugServer reference to the debug server object |
981 # Create the symbols viewer |
997 # Create the symbols viewer |
982 self.symbolsViewer = SymbolsWidget() |
998 self.symbolsViewer = SymbolsWidget() |
983 self.vToolbox.addItem(self.symbolsViewer, |
999 self.vToolbox.addItem(self.symbolsViewer, |
984 UI.PixmapCache.getIcon("symbols.png"), |
1000 UI.PixmapCache.getIcon("symbols.png"), |
985 self.trUtf8("Symbols")) |
1001 self.trUtf8("Symbols")) |
|
1002 |
|
1003 # Create the numbers viewer |
|
1004 self.numbersViewer = NumbersWidget() |
|
1005 self.hToolbox.addItem(self.numbersViewer, |
|
1006 UI.PixmapCache.getIcon("numbers.png"), |
|
1007 self.trUtf8("Numbers")) |
986 |
1008 |
987 self.hToolbox.setCurrentIndex(0) |
1009 self.hToolbox.setCurrentIndex(0) |
988 |
1010 |
989 def __createSidebarsLayout(self, debugServer): |
1011 def __createSidebarsLayout(self, debugServer): |
990 """ |
1012 """ |
1086 # Create the symbols viewer |
1108 # Create the symbols viewer |
1087 self.symbolsViewer = SymbolsWidget() |
1109 self.symbolsViewer = SymbolsWidget() |
1088 self.leftSidebar.addTab(self.symbolsViewer, |
1110 self.leftSidebar.addTab(self.symbolsViewer, |
1089 UI.PixmapCache.getIcon("symbols.png"), |
1111 UI.PixmapCache.getIcon("symbols.png"), |
1090 self.trUtf8("Symbols")) |
1112 self.trUtf8("Symbols")) |
|
1113 |
|
1114 # Create the numbers viewer |
|
1115 self.numbersViewer = NumbersWidget() |
|
1116 self.bottomSidebar.addTab(self.numbersViewer, |
|
1117 UI.PixmapCache.getIcon("numbers.png"), |
|
1118 self.trUtf8("Numbers")) |
1091 |
1119 |
1092 self.bottomSidebar.setCurrentIndex(0) |
1120 self.bottomSidebar.setCurrentIndex(0) |
1093 |
1121 |
1094 # create the central widget |
1122 # create the central widget |
1095 logging.debug("Creating central widget...") |
1123 logging.debug("Creating central widget...") |
1666 'symbols_viewer_activate', True) |
1694 'symbols_viewer_activate', True) |
1667 self.connect(self.symbolsViewerActivateAct, SIGNAL('triggered()'), |
1695 self.connect(self.symbolsViewerActivateAct, SIGNAL('triggered()'), |
1668 self.__activateSymbolsViewer) |
1696 self.__activateSymbolsViewer) |
1669 self.actions.append(self.symbolsViewerActivateAct) |
1697 self.actions.append(self.symbolsViewerActivateAct) |
1670 self.addAction(self.symbolsViewerActivateAct) |
1698 self.addAction(self.symbolsViewerActivateAct) |
|
1699 |
|
1700 self.numbersViewerAct = E5Action(self.trUtf8('Numbers'), |
|
1701 self.trUtf8('&Numbers'), 0, 0, self, 'numbers_viewer', True) |
|
1702 self.numbersViewerAct.setStatusTip(self.trUtf8( |
|
1703 'Toggle the Numbers window')) |
|
1704 self.numbersViewerAct.setWhatsThis(self.trUtf8( |
|
1705 """<b>Toggle the Numbers window</b>""" |
|
1706 """<p>If the Numbers window is hidden then display it.""" |
|
1707 """ If it is displayed then close it.</p>""" |
|
1708 )) |
|
1709 self.connect(self.numbersViewerAct, SIGNAL('triggered()'), |
|
1710 self.__toggleNumbersViewer) |
|
1711 self.actions.append(self.numbersViewerAct) |
|
1712 |
|
1713 self.numbersViewerActivateAct = E5Action( |
|
1714 self.trUtf8('Activate Numbers-Viewer'), |
|
1715 self.trUtf8('Activate Numbers-Viewer'), |
|
1716 QKeySequence(self.trUtf8("Alt+Shift+B")), |
|
1717 0, self, |
|
1718 'numbers_viewer_activate', True) |
|
1719 self.connect(self.numbersViewerActivateAct, SIGNAL('triggered()'), |
|
1720 self.__activateNumbersViewer) |
|
1721 self.actions.append(self.numbersViewerActivateAct) |
|
1722 self.addAction(self.numbersViewerActivateAct) |
1671 |
1723 |
1672 self.whatsThisAct = E5Action(self.trUtf8('What\'s This?'), |
1724 self.whatsThisAct = E5Action(self.trUtf8('What\'s This?'), |
1673 UI.PixmapCache.getIcon("whatsThis.png"), |
1725 UI.PixmapCache.getIcon("whatsThis.png"), |
1674 self.trUtf8('&What\'s This?'), |
1726 self.trUtf8('&What\'s This?'), |
1675 QKeySequence(self.trUtf8("Shift+F1")), |
1727 QKeySequence(self.trUtf8("Shift+F1")), |
3878 self.leftSidebar.setCurrentWidget(self.symbolsViewer) |
3930 self.leftSidebar.setCurrentWidget(self.symbolsViewer) |
3879 else: |
3931 else: |
3880 self.symbolsViewer.show() |
3932 self.symbolsViewer.show() |
3881 self.symbolsViewer.setFocus(Qt.ActiveWindowFocusReason) |
3933 self.symbolsViewer.setFocus(Qt.ActiveWindowFocusReason) |
3882 |
3934 |
|
3935 def __toggleNumbersViewer(self): |
|
3936 """ |
|
3937 Private slot to handle the toggle of the Numbers Viewer window. |
|
3938 """ |
|
3939 hasFocus = self.numbersViewer.hasFocus() |
|
3940 if self.layout == "DockWindows": |
|
3941 shown = self.__toggleWindow(self.numbersDock) |
|
3942 else: |
|
3943 shown = self.__toggleWindow(self.numbersViewer) |
|
3944 if shown: |
|
3945 self.__activateNumbersViewer() |
|
3946 else: |
|
3947 if hasFocus: |
|
3948 self.__activateViewmanager() |
|
3949 |
|
3950 def __activateNumbersViewer(self): |
|
3951 """ |
|
3952 Private slot to handle the activation of the Numbers Viewer. |
|
3953 """ |
|
3954 if self.layout == "DockWindows": |
|
3955 self.numbersDock.show() |
|
3956 self.numbersDock.raise_() |
|
3957 elif self.layout == "Toolboxes": |
|
3958 self.vToolboxDock.show() |
|
3959 self.vToolbox.setCurrentWidget(self.numbersViewer) |
|
3960 elif self.layout == "Sidebars": |
|
3961 self.bottomSidebar.show() |
|
3962 self.bottomSidebar.setCurrentWidget(self.numbersViewer) |
|
3963 else: |
|
3964 self.numbersViewer.show() |
|
3965 self.numbersViewer.setFocus(Qt.ActiveWindowFocusReason) |
|
3966 |
3883 def __activateViewmanager(self): |
3967 def __activateViewmanager(self): |
3884 """ |
3968 """ |
3885 Private slot to handle the activation of the current editor. |
3969 Private slot to handle the activation of the current editor. |
3886 """ |
3970 """ |
3887 aw = self.viewmanager.activeWindow() |
3971 aw = self.viewmanager.activeWindow() |