eric7/UI/UserInterface.py

branch
eric7
changeset 8414
8c3b52d1b4b6
parent 8389
1298e767879c
child 8419
32506bc52886
equal deleted inserted replaced
8413:65ed18753c40 8414:8c3b52d1b4b6
241 self.__setWindowCaption() 241 self.__setWindowCaption()
242 242
243 # load the view profiles 243 # load the view profiles
244 self.profiles = Preferences.getUI("ViewProfiles") 244 self.profiles = Preferences.getUI("ViewProfiles")
245 245
246 splash.showMessage(self.tr("Initializing Basic Services..."))
247
246 # Generate the conda interface 248 # Generate the conda interface
249 logging.debug("Creating Conda Interface...")
247 from CondaInterface.Conda import Conda 250 from CondaInterface.Conda import Conda
248 self.condaInterface = Conda(self) 251 self.condaInterface = Conda(self)
249 ericApp().registerObject("Conda", self.condaInterface) 252 ericApp().registerObject("Conda", self.condaInterface)
250 253
251 # Generate the pip interface 254 # Generate the pip interface
255 logging.debug("Creating Pip Interface...")
252 from PipInterface.Pip import Pip 256 from PipInterface.Pip import Pip
253 self.pipInterface = Pip(self) 257 self.pipInterface = Pip(self)
254 ericApp().registerObject("Pip", self.pipInterface) 258 ericApp().registerObject("Pip", self.pipInterface)
255 259
256 # Generate the virtual environment manager 260 # Generate the virtual environment manager
261 logging.debug("Creating Virtual Environments Manager...")
257 from VirtualEnv.VirtualenvManager import VirtualenvManager 262 from VirtualEnv.VirtualenvManager import VirtualenvManager
258 self.virtualenvManager = VirtualenvManager(self) 263 self.virtualenvManager = VirtualenvManager(self)
259 # register it early because it is needed very soon 264 # register it early because it is needed very soon
260 ericApp().registerObject("VirtualEnvManager", self.virtualenvManager) 265 ericApp().registerObject("VirtualEnvManager", self.virtualenvManager)
261 266
262 # Generate an empty project object and multi project object 267 # Generate an empty project object and multi project object
268 logging.debug("Creating Project Manager...")
263 from Project.Project import Project 269 from Project.Project import Project
264 self.project = Project(self) 270 self.project = Project(self)
265 ericApp().registerObject("Project", self.project) 271 ericApp().registerObject("Project", self.project)
266 272
267 from MultiProject.MultiProject import MultiProject 273 from MultiProject.MultiProject import MultiProject
274 logging.debug("Creating Multi-Project Manager...")
268 self.multiProject = MultiProject(self.project, self) 275 self.multiProject = MultiProject(self.project, self)
269 276
270 # Generate the debug server object 277 # Generate the debug server object
278 logging.debug("Creating Debug Server...")
271 from Debugger.DebugServer import DebugServer 279 from Debugger.DebugServer import DebugServer
272 debugServer = DebugServer(self.__originalPathString, 280 debugServer = DebugServer(self.__originalPathString,
273 project=self.project, parent=self) 281 project=self.project, parent=self)
274 282
275 # Create the background service object 283 # Create the background service object
298 306
299 self.__webBrowserProcess = None 307 self.__webBrowserProcess = None
300 self.__webBrowserClient = None 308 self.__webBrowserClient = None
301 self.__webBrowserSAName = QUuid.createUuid().toString()[1:-1] 309 self.__webBrowserSAName = QUuid.createUuid().toString()[1:-1]
302 310
311 logging.debug("Creating Application Objects...")
312 self.__createObjects(debugServer)
313
303 # Create the main window now so that we can connect QActions to it. 314 # Create the main window now so that we can connect QActions to it.
304 logging.debug("Creating Layout...") 315 logging.debug("Creating Layout...")
305 self.__createLayout(debugServer) 316 self.__createLayout()
306 self.__currentRightWidget = None 317 self.__currentRightWidget = None
307 self.__currentBottomWidget = None 318 self.__currentBottomWidget = None
308 319
309 # Generate the debugger part of the ui 320 # Generate the debugger part of the ui
310 logging.debug("Creating Debugger UI...") 321 logging.debug("Creating Debugger UI...")
765 @return reference to the network access manager object 776 @return reference to the network access manager object
766 @rtype QNetworkAccessManager 777 @rtype QNetworkAccessManager
767 """ 778 """
768 return self.__networkManager 779 return self.__networkManager
769 780
770 def __createLayout(self, debugServer): 781 def __createObjects(self, debugServer):
771 """ 782 """
772 Private method to create the layout of the various windows. 783 Private method to create the various objects of the application.
773 784
774 @param debugServer reference to the debug server object 785 @param debugServer reference to the debug server object
775 @exception ValueError raised to indicate an invalid layout type 786 @type DebugServer
776 """ 787 """
777 # Create the view manager depending on the configuration setting 788 # Create the view manager depending on the configuration setting
778 logging.debug("Creating Viewmanager...") 789 logging.debug("Creating Viewmanager...")
779 import ViewManager 790 import ViewManager
780 self.viewmanager = ViewManager.factory( 791 self.viewmanager = ViewManager.factory(
781 self, self, debugServer, self.pluginManager) 792 self, self, debugServer, self.pluginManager)
793
794 # Create previewer
795 logging.debug("Creating Previewer...")
796 from .Previewer import Previewer
797 self.__previewer = Previewer(self.viewmanager)
798
799 # Create AST viewer
800 logging.debug("Creating Python AST Viewer")
801 from .PythonAstViewer import PythonAstViewer
802 self.__astViewer = PythonAstViewer(self.viewmanager)
803
804 # Create DIS viewer
805 logging.debug("Creating Python Disassembly Viewer")
806 from .PythonDisViewer import PythonDisViewer
807 self.__disViewer = PythonDisViewer(self.viewmanager)
808
809 # Create the project browser
810 logging.debug("Creating Project Browser...")
811 from Project.ProjectBrowser import ProjectBrowser
812 self.projectBrowser = ProjectBrowser(self.project)
813
814 # Create the multi project browser
815 logging.debug("Creating Multiproject Browser...")
816 from MultiProject.MultiProjectBrowser import MultiProjectBrowser
817 self.multiProjectBrowser = MultiProjectBrowser(
818 self.multiProject, self.project)
819
820 # Create the task viewer part of the user interface
821 logging.debug("Creating Task Viewer...")
822 from Tasks.TaskViewer import TaskViewer
823 self.taskViewer = TaskViewer(None, self.project)
824
825 # Create the log viewer part of the user interface
826 logging.debug("Creating Log Viewer...")
827 from .LogView import LogViewer
828 self.logViewer = LogViewer(self)
829
830 # Create the debug viewer
831 logging.debug("Creating Debug Viewer...")
832 from Debugger.DebugViewer import DebugViewer
833 self.debugViewer = DebugViewer(debugServer)
834
835 # Create the shell
836 logging.debug("Creating Shell...")
837 from QScintilla.Shell import ShellAssembly
838 self.shellAssembly = ShellAssembly(
839 debugServer, self.viewmanager, self.project, True)
840 self.shell = self.shellAssembly.shell()
841
842 if Preferences.getUI("ShowTemplateViewer"):
843 # Create the template viewer part of the user interface
844 logging.debug("Creating Template Viewer...")
845 from Templates.TemplateViewer import TemplateViewer
846 self.templateViewer = TemplateViewer(
847 None, self.viewmanager)
848 else:
849 logging.debug("Template Viewer disabled")
850 self.templateViewer = None
851
852 if Preferences.getUI("ShowFileBrowser"):
853 # Create the file browser
854 logging.debug("Creating File Browser...")
855 from .Browser import Browser
856 self.browser = Browser()
857 else:
858 logging.debug("File Browser disabled")
859 self.browser = None
860
861 if Preferences.getUI("ShowSymbolsViewer"):
862 # Create the symbols viewer
863 logging.debug("Creating Symbols Viewer...")
864 from .SymbolsWidget import SymbolsWidget
865 self.symbolsViewer = SymbolsWidget()
866 else:
867 logging.debug("Symbols Viewer disabled")
868 self.symbolsViewer = None
869
870 if Preferences.getUI("ShowCodeDocumentationViewer"):
871 # Create the code documentation viewer
872 logging.debug("Creating Code Documentation Viewer...")
873 from .CodeDocumentationViewer import CodeDocumentationViewer
874 self.codeDocumentationViewer = CodeDocumentationViewer(self)
875 else:
876 logging.debug("Code Documentation Viewer disabled")
877 self.codeDocumentationViewer = None
878
879 if Preferences.getUI("ShowPyPIPackageManager"):
880 # Create the PyPI package manager
881 logging.debug("Creating PyPI Package Manager...")
882 from PipInterface.PipPackagesWidget import PipPackagesWidget
883 self.pipWidget = PipPackagesWidget(self.pipInterface)
884 else:
885 logging.debug("PyPI Package Manager disabled")
886 self.pipWidget = None
887
888 if Preferences.getUI("ShowCondaPackageManager"):
889 # Create the conda package manager
890 logging.debug("Creating Conda Package Manager...")
891 from CondaInterface.CondaPackagesWidget import CondaPackagesWidget
892 self.condaWidget = CondaPackagesWidget(self.condaInterface)
893 else:
894 logging.debug("Conda Package Manager disabled")
895 self.condaWidget = None
896
897 if Preferences.getUI("ShowCooperation"):
898 # Create the chat part of the user interface
899 logging.debug("Creating Chat Widget...")
900 from Cooperation.ChatWidget import ChatWidget
901 self.cooperation = ChatWidget(self)
902 else:
903 logging.debug("Chat Widget disabled")
904 self.cooperation = None
905
906 if Preferences.getUI("ShowIrc"):
907 # Create the IRC part of the user interface
908 logging.debug("Creating IRC Widget...")
909 from Network.IRC.IrcWidget import IrcWidget
910 self.irc = IrcWidget(self)
911 else:
912 logging.debug("IRC Widget disabled")
913 self.irc = None
914
915 if Preferences.getUI("ShowMicroPython"):
916 # Create the MicroPython part of the user interface
917 logging.debug("Creating MicroPython Widget...")
918 from MicroPython.MicroPythonWidget import MicroPythonWidget
919 self.microPythonWidget = MicroPythonWidget(self)
920 else:
921 logging.debug("MicroPython Widget disabled")
922 self.microPythonWidget = None
923
924 if Preferences.getUI("ShowNumbersViewer"):
925 # Create the numbers viewer
926 logging.debug("Creating Numbers Viewer...")
927 from .NumbersWidget import NumbersWidget
928 self.numbersViewer = NumbersWidget()
929 else:
930 logging.debug("Numbers Viewer disabled")
931 self.numbersViewer = None
932
933 def __createLayout(self):
934 """
935 Private method to create the layout of the various windows.
936
937 @exception ValueError raised to indicate an invalid layout type
938 """
782 leftWidget = QWidget() 939 leftWidget = QWidget()
783 layout = QVBoxLayout() 940 layout = QVBoxLayout()
784 layout.setContentsMargins(1, 1, 1, 1) 941 layout.setContentsMargins(1, 1, 1, 1)
785 layout.setSpacing(1) 942 layout.setSpacing(1)
786 layout.addWidget(self.viewmanager.mainWidget()) 943 layout.addWidget(self.viewmanager.mainWidget())
794 951
795 splitter = QSplitter(Qt.Orientation.Horizontal) 952 splitter = QSplitter(Qt.Orientation.Horizontal)
796 splitter.addWidget(leftWidget) 953 splitter.addWidget(leftWidget)
797 self.setCentralWidget(splitter) 954 self.setCentralWidget(splitter)
798 955
799 # Create previewer 956 self.__previewer.setSplitter(splitter)
800 logging.debug("Creating Previewer...")
801 from .Previewer import Previewer
802 self.__previewer = Previewer(self.viewmanager, splitter)
803 splitter.addWidget(self.__previewer) 957 splitter.addWidget(self.__previewer)
804 958
805 # Create AST viewer
806 logging.debug("Creating Python AST Viewer")
807 from .PythonAstViewer import PythonAstViewer
808 self.__astViewer = PythonAstViewer(self.viewmanager, splitter)
809 splitter.addWidget(self.__astViewer) 959 splitter.addWidget(self.__astViewer)
810 960
811 # Create DIS viewer
812 logging.debug("Creating Python Disassembly Viewer")
813 from .PythonDisViewer import PythonDisViewer
814 self.__disViewer = PythonDisViewer(self.viewmanager, parent=splitter)
815 splitter.addWidget(self.__disViewer) 961 splitter.addWidget(self.__disViewer)
816 962
817 # Create layout with toolbox windows embedded in dock windows 963 # Create layout with toolbox windows embedded in dock windows
818 if self.__layoutType == "Toolboxes": 964 if self.__layoutType == "Toolboxes":
819 logging.debug("Creating toolboxes...") 965 logging.debug("Creating toolboxes...")
820 self.__createToolboxesLayout(debugServer) 966 self.__createToolboxesLayout()
821 967
822 # Create layout with sidebar windows embedded in dock windows 968 # Create layout with sidebar windows embedded in dock windows
823 elif self.__layoutType == "Sidebars": 969 elif self.__layoutType == "Sidebars":
824 logging.debug("Creating sidebars...") 970 logging.debug("Creating sidebars...")
825 self.__createSidebarsLayout(debugServer) 971 self.__createSidebarsLayout()
826 972
827 else: 973 else:
828 raise ValueError("Wrong layout type given ({0})".format( 974 raise ValueError("Wrong layout type given ({0})".format(
829 self.__layoutType)) 975 self.__layoutType))
830 logging.debug("Created Layout") 976 logging.debug("Created Layout")
831 977
832 def __createToolboxesLayout(self, debugServer): 978 def __createToolboxesLayout(self):
833 """ 979 """
834 Private method to create the Toolboxes layout. 980 Private method to create the Toolboxes layout.
835
836 @param debugServer reference to the debug server object
837 """ 981 """
838 from EricWidgets.EricToolBox import ( 982 from EricWidgets.EricToolBox import (
839 EricVerticalToolBox, EricHorizontalToolBox 983 EricVerticalToolBox, EricHorizontalToolBox
840 ) 984 )
841 985
867 1011
868 #################################################### 1012 ####################################################
869 ## Populate the left toolbox 1013 ## Populate the left toolbox
870 #################################################### 1014 ####################################################
871 1015
872 # Create the project browser
873 logging.debug("Creating Project Browser...")
874 from Project.ProjectBrowser import ProjectBrowser
875 self.projectBrowser = ProjectBrowser(self.project)
876 self.lToolbox.addItem(self.projectBrowser, 1016 self.lToolbox.addItem(self.projectBrowser,
877 UI.PixmapCache.getIcon("projectViewer"), 1017 UI.PixmapCache.getIcon("projectViewer"),
878 self.tr("Project-Viewer")) 1018 self.tr("Project-Viewer"))
879 1019
880 # Create the multi project browser
881 logging.debug("Creating Multiproject Browser...")
882 from MultiProject.MultiProjectBrowser import MultiProjectBrowser
883 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject,
884 self.project)
885 self.lToolbox.addItem(self.multiProjectBrowser, 1020 self.lToolbox.addItem(self.multiProjectBrowser,
886 UI.PixmapCache.getIcon("multiProjectViewer"), 1021 UI.PixmapCache.getIcon("multiProjectViewer"),
887 self.tr("Multiproject-Viewer")) 1022 self.tr("Multiproject-Viewer"))
888 1023
889 if Preferences.getUI("ShowTemplateViewer"): 1024 if self.templateViewer:
890 # Create the template viewer part of the user interface
891 logging.debug("Creating Template Viewer...")
892 from Templates.TemplateViewer import TemplateViewer
893 self.templateViewer = TemplateViewer(None,
894 self.viewmanager)
895 self.lToolbox.addItem(self.templateViewer, 1025 self.lToolbox.addItem(self.templateViewer,
896 UI.PixmapCache.getIcon("templateViewer"), 1026 UI.PixmapCache.getIcon("templateViewer"),
897 self.tr("Template-Viewer")) 1027 self.tr("Template-Viewer"))
1028
1029 if self.browser:
1030 self.lToolbox.addItem(self.browser,
1031 UI.PixmapCache.getIcon("browser"),
1032 self.tr("File-Browser"))
1033
1034 if self.symbolsViewer:
1035 self.lToolbox.addItem(self.symbolsViewer,
1036 UI.PixmapCache.getIcon("symbols"),
1037 self.tr("Symbols"))
898 1038
899 #################################################### 1039 ####################################################
900 ## Populate the right toolbox 1040 ## Populate the right toolbox
901 #################################################### 1041 ####################################################
902 1042
903 if Preferences.getUI("ShowCodeDocumentationViewer"): 1043 if self.codeDocumentationViewer:
904 # Create the code documentation viewer
905 logging.debug("Creating Code Documentation Viewer...")
906 from .CodeDocumentationViewer import CodeDocumentationViewer
907 self.codeDocumentationViewer = CodeDocumentationViewer(self)
908 self.rToolbox.addItem(self.codeDocumentationViewer, 1044 self.rToolbox.addItem(self.codeDocumentationViewer,
909 UI.PixmapCache.getIcon("codeDocuViewer"), 1045 UI.PixmapCache.getIcon("codeDocuViewer"),
910 self.tr("Code Documentation Viewer")) 1046 self.tr("Code Documentation Viewer"))
911 1047
912 # Create the debug viewer
913 logging.debug("Creating Debug Viewer...")
914 from Debugger.DebugViewer import DebugViewer
915 self.debugViewer = DebugViewer(debugServer)
916 self.rToolbox.addItem(self.debugViewer, 1048 self.rToolbox.addItem(self.debugViewer,
917 UI.PixmapCache.getIcon("debugViewer"), 1049 UI.PixmapCache.getIcon("debugViewer"),
918 self.tr("Debug-Viewer")) 1050 self.tr("Debug-Viewer"))
919 1051
920 if Preferences.getUI("ShowPyPIPackageManager"): 1052 if self.pipWidget:
921 # Create the PyPI package manager
922 logging.debug("Creating PyPI Package Manager...")
923 from PipInterface.PipPackagesWidget import PipPackagesWidget
924 self.pipWidget = PipPackagesWidget(self.pipInterface)
925 self.rToolbox.addItem(self.pipWidget, 1053 self.rToolbox.addItem(self.pipWidget,
926 UI.PixmapCache.getIcon("pypi"), 1054 UI.PixmapCache.getIcon("pypi"),
927 self.tr("PyPI")) 1055 self.tr("PyPI"))
928 1056
929 if Preferences.getUI("ShowCondaPackageManager"): 1057 if self.condaWidget:
930 # Create the conda package manager
931 logging.debug("Creating Conda Package Manager...")
932 from CondaInterface.CondaPackagesWidget import CondaPackagesWidget
933 self.condaWidget = CondaPackagesWidget(self.condaInterface)
934 self.rToolbox.addItem(self.condaWidget, 1058 self.rToolbox.addItem(self.condaWidget,
935 UI.PixmapCache.getIcon("miniconda"), 1059 UI.PixmapCache.getIcon("miniconda"),
936 self.tr("Conda")) 1060 self.tr("Conda"))
937 1061
938 if Preferences.getUI("ShowCooperation"): 1062 if self.cooperation:
939 # Create the chat part of the user interface
940 logging.debug("Creating Chat Widget...")
941 from Cooperation.ChatWidget import ChatWidget
942 self.cooperation = ChatWidget(self)
943 self.rToolbox.addItem(self.cooperation, 1063 self.rToolbox.addItem(self.cooperation,
944 UI.PixmapCache.getIcon("cooperation"), 1064 UI.PixmapCache.getIcon("cooperation"),
945 self.tr("Cooperation")) 1065 self.tr("Cooperation"))
946 1066
947 if Preferences.getUI("ShowIrc"): 1067 if self.irc:
948 # Create the IRC part of the user interface
949 logging.debug("Creating IRC Widget...")
950 from Network.IRC.IrcWidget import IrcWidget
951 self.irc = IrcWidget(self)
952 self.rToolbox.addItem(self.irc, 1068 self.rToolbox.addItem(self.irc,
953 UI.PixmapCache.getIcon("irc"), 1069 UI.PixmapCache.getIcon("irc"),
954 self.tr("IRC")) 1070 self.tr("IRC"))
955 1071
956 if Preferences.getUI("ShowMicroPython"): 1072 if self.microPythonWidget:
957 # Create the MicroPython part of the user interface
958 logging.debug("Creating MicroPython Widget...")
959 from MicroPython.MicroPythonWidget import MicroPythonWidget
960 self.microPythonWidget = MicroPythonWidget(self)
961 self.rToolbox.addItem(self.microPythonWidget, 1073 self.rToolbox.addItem(self.microPythonWidget,
962 UI.PixmapCache.getIcon("micropython"), 1074 UI.PixmapCache.getIcon("micropython"),
963 self.tr("MicroPython")) 1075 self.tr("MicroPython"))
964 1076
965 #################################################### 1077 ####################################################
966 ## Populate the bottom toolbox 1078 ## Populate the bottom toolbox
967 #################################################### 1079 ####################################################
968 1080
969 # Create the task viewer part of the user interface
970 logging.debug("Creating Task Viewer...")
971 from Tasks.TaskViewer import TaskViewer
972 self.taskViewer = TaskViewer(None, self.project)
973 self.hToolbox.addItem(self.taskViewer, 1081 self.hToolbox.addItem(self.taskViewer,
974 UI.PixmapCache.getIcon("task"), 1082 UI.PixmapCache.getIcon("task"),
975 self.tr("Task-Viewer")) 1083 self.tr("Task-Viewer"))
976 1084
977 # Create the log viewer part of the user interface
978 logging.debug("Creating Log Viewer...")
979 from .LogView import LogViewer
980 self.logViewer = LogViewer(self)
981 self.hToolbox.addItem(self.logViewer, 1085 self.hToolbox.addItem(self.logViewer,
982 UI.PixmapCache.getIcon("logViewer"), 1086 UI.PixmapCache.getIcon("logViewer"),
983 self.tr("Log-Viewer")) 1087 self.tr("Log-Viewer"))
984 1088
985 if Preferences.getUI("ShowFileBrowser"): 1089 if self.numbersViewer:
986 # Create the file browser
987 logging.debug("Creating File Browser...")
988 from .Browser import Browser
989 self.browser = Browser()
990 self.lToolbox.addItem(self.browser,
991 UI.PixmapCache.getIcon("browser"),
992 self.tr("File-Browser"))
993
994 if Preferences.getUI("ShowSymbolsViewer"):
995 # Create the symbols viewer
996 logging.debug("Creating Symbols Viewer...")
997 from .SymbolsWidget import SymbolsWidget
998 self.symbolsViewer = SymbolsWidget()
999 self.lToolbox.addItem(self.symbolsViewer,
1000 UI.PixmapCache.getIcon("symbols"),
1001 self.tr("Symbols"))
1002
1003 if Preferences.getUI("ShowNumbersViewer"):
1004 # Create the numbers viewer
1005 logging.debug("Creating Numbers Viewer...")
1006 from .NumbersWidget import NumbersWidget
1007 self.numbersViewer = NumbersWidget()
1008 self.hToolbox.addItem(self.numbersViewer, 1090 self.hToolbox.addItem(self.numbersViewer,
1009 UI.PixmapCache.getIcon("numbers"), 1091 UI.PixmapCache.getIcon("numbers"),
1010 self.tr("Numbers")) 1092 self.tr("Numbers"))
1011 1093
1012 #################################################### 1094 ####################################################
1013 ## Populate the configurable widgets 1095 ## Populate the configurable widgets
1014 #################################################### 1096 ####################################################
1015 1097
1016 # Create the shell
1017 logging.debug("Creating Shell...")
1018 self.__shellPosition = Preferences.getUI("ShellPosition") 1098 self.__shellPosition = Preferences.getUI("ShellPosition")
1019 if self.__shellPosition == "left": 1099 if self.__shellPosition == "left":
1020 self.__shellParent = self.lToolboxDock 1100 self.__shellParent = self.lToolboxDock
1021 elif self.__shellPosition == "right": 1101 elif self.__shellPosition == "right":
1022 self.__shellParent = self.rToolboxDock 1102 self.__shellParent = self.rToolboxDock
1023 else: 1103 else:
1024 self.__shellParent = self.hToolboxDock 1104 self.__shellParent = self.hToolboxDock
1025 from QScintilla.Shell import ShellAssembly
1026 self.shellAssembly = ShellAssembly(
1027 debugServer, self.viewmanager, self.project, True)
1028 self.shell = self.shellAssembly.shell()
1029 self.__shellParent.widget().insertItem( 1105 self.__shellParent.widget().insertItem(
1030 0, self.shellAssembly, UI.PixmapCache.getIcon("shell"), 1106 0, self.shellAssembly, UI.PixmapCache.getIcon("shell"),
1031 self.tr("Shell")) 1107 self.tr("Shell"))
1032 1108
1033 #################################################### 1109 ####################################################
1036 1112
1037 self.lToolbox.setCurrentIndex(0) 1113 self.lToolbox.setCurrentIndex(0)
1038 self.rToolbox.setCurrentIndex(0) 1114 self.rToolbox.setCurrentIndex(0)
1039 self.hToolbox.setCurrentIndex(0) 1115 self.hToolbox.setCurrentIndex(0)
1040 1116
1041 def __createSidebarsLayout(self, debugServer): 1117 def __createSidebarsLayout(self):
1042 """ 1118 """
1043 Private method to create the Sidebars layout. 1119 Private method to create the Sidebars layout.
1044
1045 @param debugServer reference to the debug server object
1046 """ 1120 """
1047 from EricWidgets.EricSideBar import EricSideBar, EricSideBarSide 1121 from EricWidgets.EricSideBar import EricSideBar, EricSideBarSide
1048 1122
1049 logging.debug("Creating Sidebars Layout...") 1123 logging.debug("Creating Sidebars Layout...")
1050 1124
1060 1134
1061 #################################################### 1135 ####################################################
1062 ## Populate the left side bar 1136 ## Populate the left side bar
1063 #################################################### 1137 ####################################################
1064 1138
1065 # Create the project browser
1066 logging.debug("Creating Project Browser...")
1067 from Project.ProjectBrowser import ProjectBrowser
1068 self.projectBrowser = ProjectBrowser(self.project)
1069 self.leftSidebar.addTab( 1139 self.leftSidebar.addTab(
1070 self.projectBrowser, 1140 self.projectBrowser,
1071 UI.PixmapCache.getIcon("projectViewer"), 1141 UI.PixmapCache.getIcon("projectViewer"),
1072 self.tr("Project-Viewer")) 1142 self.tr("Project-Viewer"))
1073 1143
1074 # Create the multi project browser
1075 logging.debug("Creating Multiproject Browser...")
1076 from MultiProject.MultiProjectBrowser import MultiProjectBrowser
1077 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject,
1078 self.project)
1079 self.leftSidebar.addTab( 1144 self.leftSidebar.addTab(
1080 self.multiProjectBrowser, 1145 self.multiProjectBrowser,
1081 UI.PixmapCache.getIcon("multiProjectViewer"), 1146 UI.PixmapCache.getIcon("multiProjectViewer"),
1082 self.tr("Multiproject-Viewer")) 1147 self.tr("Multiproject-Viewer"))
1083 1148
1084 if Preferences.getUI("ShowTemplateViewer"): 1149 if self.templateViewer:
1085 # Create the template viewer part of the user interface
1086 logging.debug("Creating Template Viewer...")
1087 from Templates.TemplateViewer import TemplateViewer
1088 self.templateViewer = TemplateViewer(None,
1089 self.viewmanager)
1090 self.leftSidebar.addTab( 1150 self.leftSidebar.addTab(
1091 self.templateViewer, 1151 self.templateViewer,
1092 UI.PixmapCache.getIcon("templateViewer"), 1152 UI.PixmapCache.getIcon("templateViewer"),
1093 self.tr("Template-Viewer")) 1153 self.tr("Template-Viewer"))
1094 1154
1155 if self.browser:
1156 self.leftSidebar.addTab(self.browser,
1157 UI.PixmapCache.getIcon("browser"),
1158 self.tr("File-Browser"))
1159
1160 if self.symbolsViewer:
1161 self.leftSidebar.addTab(self.symbolsViewer,
1162 UI.PixmapCache.getIcon("symbols"),
1163 self.tr("Symbols"))
1164
1095 #################################################### 1165 ####################################################
1096 ## Populate the right side bar 1166 ## Populate the right side bar
1097 #################################################### 1167 ####################################################
1098 1168
1099 if Preferences.getUI("ShowCodeDocumentationViewer"): 1169 if self.codeDocumentationViewer:
1100 # Create the code documentation viewer
1101 logging.debug("Creating Code Documentation Viewer...")
1102 from .CodeDocumentationViewer import CodeDocumentationViewer
1103 self.codeDocumentationViewer = CodeDocumentationViewer(self)
1104 self.rightSidebar.addTab( 1170 self.rightSidebar.addTab(
1105 self.codeDocumentationViewer, 1171 self.codeDocumentationViewer,
1106 UI.PixmapCache.getIcon("codeDocuViewer"), 1172 UI.PixmapCache.getIcon("codeDocuViewer"),
1107 self.tr("Code Documentation Viewer")) 1173 self.tr("Code Documentation Viewer"))
1108 1174
1109 # Create the debug viewer
1110 logging.debug("Creating Debug Viewer...")
1111 from Debugger.DebugViewer import DebugViewer
1112 self.debugViewer = DebugViewer(debugServer)
1113 self.rightSidebar.addTab( 1175 self.rightSidebar.addTab(
1114 self.debugViewer, UI.PixmapCache.getIcon("debugViewer"), 1176 self.debugViewer, UI.PixmapCache.getIcon("debugViewer"),
1115 self.tr("Debug-Viewer")) 1177 self.tr("Debug-Viewer"))
1116 1178
1117 if Preferences.getUI("ShowPyPIPackageManager"): 1179 if self.pipWidget:
1118 # Create the PyPI package manager
1119 logging.debug("Creating PyPI Package Manager...")
1120 from PipInterface.PipPackagesWidget import PipPackagesWidget
1121 self.pipWidget = PipPackagesWidget(self.pipInterface)
1122 self.rightSidebar.addTab( 1180 self.rightSidebar.addTab(
1123 self.pipWidget, UI.PixmapCache.getIcon("pypi"), 1181 self.pipWidget, UI.PixmapCache.getIcon("pypi"),
1124 self.tr("PyPI")) 1182 self.tr("PyPI"))
1125 1183
1126 if Preferences.getUI("ShowCondaPackageManager"): 1184 if self.condaWidget:
1127 # Create the conda package manager
1128 logging.debug("Creating Conda Package Manager...")
1129 from CondaInterface.CondaPackagesWidget import CondaPackagesWidget
1130 self.condaWidget = CondaPackagesWidget(self.condaInterface)
1131 self.rightSidebar.addTab( 1185 self.rightSidebar.addTab(
1132 self.condaWidget, UI.PixmapCache.getIcon("miniconda"), 1186 self.condaWidget, UI.PixmapCache.getIcon("miniconda"),
1133 self.tr("Conda")) 1187 self.tr("Conda"))
1134 1188
1135 if Preferences.getUI("ShowCooperation"): 1189 if self.cooperation:
1136 # Create the chat part of the user interface
1137 logging.debug("Creating Chat Widget...")
1138 from Cooperation.ChatWidget import ChatWidget
1139 self.cooperation = ChatWidget(self)
1140 self.rightSidebar.addTab( 1190 self.rightSidebar.addTab(
1141 self.cooperation, UI.PixmapCache.getIcon("cooperation"), 1191 self.cooperation, UI.PixmapCache.getIcon("cooperation"),
1142 self.tr("Cooperation")) 1192 self.tr("Cooperation"))
1143 1193
1144 if Preferences.getUI("ShowIrc"): 1194 if self.irc:
1145 # Create the IRC part of the user interface
1146 logging.debug("Creating IRC Widget...")
1147 from Network.IRC.IrcWidget import IrcWidget
1148 self.irc = IrcWidget(self)
1149 self.rightSidebar.addTab( 1195 self.rightSidebar.addTab(
1150 self.irc, UI.PixmapCache.getIcon("irc"), 1196 self.irc, UI.PixmapCache.getIcon("irc"),
1151 self.tr("IRC")) 1197 self.tr("IRC"))
1152 1198
1153 if Preferences.getUI("ShowMicroPython"): 1199 if self.microPythonWidget:
1154 # Create the MicroPython part of the user interface
1155 logging.debug("Creating MicroPython Widget...")
1156 from MicroPython.MicroPythonWidget import MicroPythonWidget
1157 self.microPythonWidget = MicroPythonWidget(self)
1158 self.rightSidebar.addTab( 1200 self.rightSidebar.addTab(
1159 self.microPythonWidget, UI.PixmapCache.getIcon("micropython"), 1201 self.microPythonWidget, UI.PixmapCache.getIcon("micropython"),
1160 self.tr("MicroPython")) 1202 self.tr("MicroPython"))
1161 1203
1162 #################################################### 1204 ####################################################
1163 ## Populate the bottom side bar 1205 ## Populate the bottom side bar
1164 #################################################### 1206 ####################################################
1165 1207
1166 # Create the task viewer part of the user interface
1167 logging.debug("Creating Task Viewer...")
1168 from Tasks.TaskViewer import TaskViewer
1169 self.taskViewer = TaskViewer(None, self.project)
1170 self.bottomSidebar.addTab(self.taskViewer, 1208 self.bottomSidebar.addTab(self.taskViewer,
1171 UI.PixmapCache.getIcon("task"), 1209 UI.PixmapCache.getIcon("task"),
1172 self.tr("Task-Viewer")) 1210 self.tr("Task-Viewer"))
1173 1211
1174 # Create the log viewer part of the user interface
1175 logging.debug("Creating Log Viewer...")
1176 from .LogView import LogViewer
1177 self.logViewer = LogViewer(self)
1178 self.bottomSidebar.addTab(self.logViewer, 1212 self.bottomSidebar.addTab(self.logViewer,
1179 UI.PixmapCache.getIcon("logViewer"), 1213 UI.PixmapCache.getIcon("logViewer"),
1180 self.tr("Log-Viewer")) 1214 self.tr("Log-Viewer"))
1181 1215
1182 if Preferences.getUI("ShowFileBrowser"): 1216 if self.numbersViewer:
1183 # Create the file browser
1184 logging.debug("Creating File Browser...")
1185 from .Browser import Browser
1186 self.browser = Browser()
1187 self.leftSidebar.addTab(self.browser,
1188 UI.PixmapCache.getIcon("browser"),
1189 self.tr("File-Browser"))
1190
1191 if Preferences.getUI("ShowSymbolsViewer"):
1192 # Create the symbols viewer
1193 logging.debug("Creating Symbols Viewer...")
1194 from .SymbolsWidget import SymbolsWidget
1195 self.symbolsViewer = SymbolsWidget()
1196 self.leftSidebar.addTab(self.symbolsViewer,
1197 UI.PixmapCache.getIcon("symbols"),
1198 self.tr("Symbols"))
1199
1200 if Preferences.getUI("ShowNumbersViewer"):
1201 # Create the numbers viewer
1202 logging.debug("Creating Numbers Viewer...")
1203 from .NumbersWidget import NumbersWidget
1204 self.numbersViewer = NumbersWidget()
1205 self.bottomSidebar.addTab(self.numbersViewer, 1217 self.bottomSidebar.addTab(self.numbersViewer,
1206 UI.PixmapCache.getIcon("numbers"), 1218 UI.PixmapCache.getIcon("numbers"),
1207 self.tr("Numbers")) 1219 self.tr("Numbers"))
1208 1220
1209 #################################################### 1221 ####################################################
1210 ## Populate the configurable widgets 1222 ## Populate the configurable widgets
1211 #################################################### 1223 ####################################################
1212 1224
1213 # Create the shell
1214 logging.debug("Creating Shell...")
1215 self.__shellPosition = Preferences.getUI("ShellPosition") 1225 self.__shellPosition = Preferences.getUI("ShellPosition")
1216 if self.__shellPosition == "left": 1226 if self.__shellPosition == "left":
1217 self.__shellParent = self.leftSidebar 1227 self.__shellParent = self.leftSidebar
1218 elif self.__shellPosition == "right": 1228 elif self.__shellPosition == "right":
1219 self.__shellParent = self.rightSidebar 1229 self.__shellParent = self.rightSidebar
1220 else: 1230 else:
1221 self.__shellParent = self.bottomSidebar 1231 self.__shellParent = self.bottomSidebar
1222 from QScintilla.Shell import ShellAssembly
1223 self.shellAssembly = ShellAssembly(
1224 debugServer, self.viewmanager, self.project, True)
1225 self.shell = self.shellAssembly.shell()
1226 self.__shellParent.insertTab(0, self.shellAssembly, 1232 self.__shellParent.insertTab(0, self.shellAssembly,
1227 UI.PixmapCache.getIcon("shell"), 1233 UI.PixmapCache.getIcon("shell"),
1228 self.tr("Shell")) 1234 self.tr("Shell"))
1229 1235
1230 #################################################### 1236 ####################################################

eric ide

mercurial