Sun, 10 Feb 2013 15:17:59 +0100
Continued implementing the delayed import.
--- a/DocumentationTools/APIGenerator.py Sun Feb 10 14:48:24 2013 +0100 +++ b/DocumentationTools/APIGenerator.py Sun Feb 10 15:17:59 2013 +0100 @@ -8,8 +8,6 @@ """ -from QScintilla.Editor import Editor - class APIGenerator(object): """ @@ -79,6 +77,8 @@ """ Private method to generate the api section for global variables. """ + from QScintilla.Editor import Editor + moduleNameStr = "{0}".format(self.moduleName) for globalName in sorted(self.module.globals.keys()): @@ -107,6 +107,8 @@ @param classname Name of the class containing the method. (string) """ + from QScintilla.Editor import Editor + _class = self.module.classes[className] methods = sorted(list(_class.methods.keys())) if '__init__' in methods: @@ -140,6 +142,8 @@ @param classname Name of the class containing the class variables. (string) """ + from QScintilla.Editor import Editor + _class = self.module.classes[className] classNameStr = "{0}{1}.".format(self.moduleName, className) for variable in sorted(_class.globals.keys()): @@ -156,6 +160,8 @@ """ Private method to generate the api section for functions. """ + from QScintilla.Editor import Editor + funcNames = sorted(list(self.module.functions.keys())) for funcName in funcNames: if not self.__isPrivate(self.module.functions[funcName]):
--- a/DocumentationTools/IndexGenerator.py Sun Feb 10 14:48:24 2013 +0100 +++ b/DocumentationTools/IndexGenerator.py Sun Feb 10 15:17:59 2013 +0100 @@ -10,9 +10,6 @@ import sys import os -from . import TemplatesListsStyle -from . import TemplatesListsStyleCSS - from Utilities import joinext @@ -42,6 +39,7 @@ self.stylesheet = stylesheet if self.stylesheet: + from . import TemplatesListsStyleCSS self.headerTemplate = TemplatesListsStyleCSS.headerTemplate self.footerTemplate = TemplatesListsStyleCSS.footerTemplate self.indexBodyTemplate = TemplatesListsStyleCSS.indexBodyTemplate @@ -51,6 +49,7 @@ TemplatesListsStyleCSS.indexListModulesTemplate self.indexListEntryTemplate = TemplatesListsStyleCSS.indexListEntryTemplate else: + from . import TemplatesListsStyle self.headerTemplate = TemplatesListsStyle.headerTemplate.format(**colors) self.footerTemplate = TemplatesListsStyle.footerTemplate.format(**colors) self.indexBodyTemplate = \
--- a/DocumentationTools/ModuleDocumentor.py Sun Feb 10 14:48:24 2013 +0100 +++ b/DocumentationTools/ModuleDocumentor.py Sun Feb 10 15:17:59 2013 +0100 @@ -14,9 +14,6 @@ import sys import re -from . import TemplatesListsStyle -from . import TemplatesListsStyleCSS - from Utilities import html_uencode from Utilities.ModuleParser import RB_SOURCE, Function @@ -74,6 +71,7 @@ self.stylesheet = stylesheet if self.stylesheet: + from . import TemplatesListsStyleCSS self.headerTemplate = TemplatesListsStyleCSS.headerTemplate self.footerTemplate = TemplatesListsStyleCSS.footerTemplate self.moduleTemplate = TemplatesListsStyleCSS.moduleTemplate @@ -110,6 +108,7 @@ self.seeLinkTemplate = TemplatesListsStyleCSS.seeLinkTemplate self.sinceInfoTemplate = TemplatesListsStyleCSS.sinceInfoTemplate else: + from . import TemplatesListsStyle self.headerTemplate = TemplatesListsStyle.headerTemplate.format(**colors) self.footerTemplate = TemplatesListsStyle.footerTemplate.format(**colors) self.moduleTemplate = TemplatesListsStyle.moduleTemplate.format(**colors)
--- a/E5Gui/E5ComboBox.py Sun Feb 10 14:48:24 2013 +0100 +++ b/E5Gui/E5ComboBox.py Sun Feb 10 15:17:59 2013 +0100 @@ -9,8 +9,6 @@ from PyQt4.QtGui import QComboBox -from .E5LineEdit import E5LineEdit, E5ClearableLineEdit - class E5ComboBox(QComboBox): """ @@ -27,6 +25,7 @@ self.setMinimumHeight(24) + from .E5LineEdit import E5LineEdit self.__lineedit = E5LineEdit(self, inactiveText) self.setLineEdit(self.__lineedit) @@ -62,5 +61,6 @@ """ super().__init__(parent, inactiveText) + from .E5LineEdit import E5ClearableLineEdit self.__lineedit = E5ClearableLineEdit(self, inactiveText) self.setLineEdit(self.__lineedit)
--- a/E5Gui/E5LineEdit.py Sun Feb 10 14:48:24 2013 +0100 +++ b/E5Gui/E5LineEdit.py Sun Feb 10 15:17:59 2013 +0100 @@ -11,8 +11,6 @@ from PyQt4.QtGui import QLineEdit, QStyle, QPainter, QPalette, QStyleOptionFrameV2, \ QWidget, QHBoxLayout, QBoxLayout, QLayout, QApplication, QSpacerItem, QSizePolicy -from E5Gui.E5LineEditButton import E5LineEditButton - import UI.PixmapCache @@ -286,6 +284,7 @@ super().__init__(parent, inactiveText) + from E5Gui.E5LineEditButton import E5LineEditButton self.__clearButton = E5LineEditButton(self) self.__clearButton.setIcon(UI.PixmapCache.getIcon("clearLeft.png")) self.addWidget(self.__clearButton, side)
--- a/E5Gui/E5ModelToolBar.py Sun Feb 10 14:48:24 2013 +0100 +++ b/E5Gui/E5ModelToolBar.py Sun Feb 10 15:17:59 2013 +0100 @@ -10,8 +10,6 @@ from PyQt4.QtCore import pyqtSignal, Qt, QModelIndex, QPoint, QEvent from PyQt4.QtGui import QApplication, QDrag, QPixmap, QToolBar, QIcon, QToolButton -from .E5ModelMenu import E5ModelMenu - class E5ModelToolBar(QToolBar): """ @@ -148,6 +146,7 @@ @return menu for a tool bar action (E5ModelMenu) """ + from .E5ModelMenu import E5ModelMenu return E5ModelMenu(self) def eventFilter(self, obj, evt):
--- a/E5Network/E5NetworkMonitor.py Sun Feb 10 14:48:24 2013 +0100 +++ b/E5Network/E5NetworkMonitor.py Sun Feb 10 15:17:59 2013 +0100 @@ -11,8 +11,6 @@ from PyQt4.QtGui import QDialog, QStandardItemModel, QSortFilterProxyModel from PyQt4.QtNetwork import QNetworkRequest, QNetworkAccessManager -from .E5NetworkHeaderDetailsDialog import E5NetworkHeaderDetailsDialog - from .Ui_E5NetworkMonitor import Ui_E5NetworkMonitor @@ -190,6 +188,7 @@ name = headerList.model().data(headerList.model().index(row, 0)) value = headerList.model().data(headerList.model().index(row, 1)) if self.__headersDlg is None: + from .E5NetworkHeaderDetailsDialog import E5NetworkHeaderDetailsDialog self.__headersDlg = E5NetworkHeaderDetailsDialog(self) self.__headersDlg.setData(name, value) self.__headersDlg.show()
--- a/E5Network/E5NetworkProxyFactory.py Sun Feb 10 14:48:24 2013 +0100 +++ b/E5Network/E5NetworkProxyFactory.py Sun Feb 10 15:17:59 2013 +0100 @@ -15,8 +15,6 @@ from E5Gui import E5MessageBox -from UI.AuthenticationDialog import AuthenticationDialog - import Preferences import Globals import Utilities @@ -52,6 +50,7 @@ "<b>Connect to proxy '{0}' using:</b>")\ .format(Utilities.html_encode(proxy.hostName())) + from UI.AuthenticationDialog import AuthenticationDialog dlg = AuthenticationDialog(info, proxy.user(), True) dlg.setData(proxy.user(), proxy.password()) if dlg.exec_() == QDialog.Accepted:
--- a/E5Network/E5SslCertificatesDialog.py Sun Feb 10 14:48:24 2013 +0100 +++ b/E5Network/E5SslCertificatesDialog.py Sun Feb 10 15:17:59 2013 +0100 @@ -19,11 +19,6 @@ from .Ui_E5SslCertificatesDialog import Ui_E5SslCertificatesDialog -try: - from E5Network.E5SslInfoDialog import E5SslInfoDialog -except ImportError: - pass - import Preferences import Utilities import UI.PixmapCache @@ -125,10 +120,14 @@ """ Private slot to show data of the selected server certificate. """ - cert = QSslCertificate.fromData( - self.serversCertificatesTree.currentItem().data(0, self.CertRole))[0] - dlg = E5SslInfoDialog(cert, self) - dlg.exec_() + try: + from E5Network.E5SslInfoDialog import E5SslInfoDialog + cert = QSslCertificate.fromData( + self.serversCertificatesTree.currentItem().data(0, self.CertRole))[0] + dlg = E5SslInfoDialog(cert, self) + dlg.exec_() + except ImportError: + pass @pyqtSlot() def on_serversDeleteButton_clicked(self): @@ -318,10 +317,14 @@ """ Private slot to show data of the selected CA certificate. """ - cert = QSslCertificate.fromData( - self.caCertificatesTree.currentItem().data(0, self.CertRole))[0] - dlg = E5SslInfoDialog(cert, self) - dlg.exec_() + try: + from E5Network.E5SslInfoDialog import E5SslInfoDialog + cert = QSslCertificate.fromData( + self.caCertificatesTree.currentItem().data(0, self.CertRole))[0] + dlg = E5SslInfoDialog(cert, self) + dlg.exec_() + except ImportError: + pass @pyqtSlot() def on_caDeleteButton_clicked(self):
--- a/Graphics/ApplicationDiagramBuilder.py Sun Feb 10 14:48:24 2013 +0100 +++ b/Graphics/ApplicationDiagramBuilder.py Sun Feb 10 15:17:59 2013 +0100 @@ -15,12 +15,8 @@ from E5Gui import E5MessageBox from .UMLDiagramBuilder import UMLDiagramBuilder -from .PackageItem import PackageItem, PackageModel -from .AssociationItem import AssociationItem, Imports -import Utilities.ModuleParser import Utilities - import Preferences @@ -66,6 +62,8 @@ None, 0, tot, self.parent()) progress.show() QApplication.processEvents() + + import Utilities.ModuleParser for module in modules: progress.setValue(prog) QApplication.processEvents() @@ -223,6 +221,7 @@ @param x x-coordinate (float) @param y y-coordinate (float) """ + from .PackageItem import PackageItem, PackageModel modules.sort() pm = PackageModel(name, modules) pw = PackageItem(pm, x, y, noModules=self.noModules, scene=self.scene) @@ -235,6 +234,7 @@ @param shapes list of shapes """ + from .AssociationItem import AssociationItem, Imports for package in shapes: for rel in shapes[package][1]: assoc = AssociationItem(
--- a/Graphics/ImportsDiagramBuilder.py Sun Feb 10 14:48:24 2013 +0100 +++ b/Graphics/ImportsDiagramBuilder.py Sun Feb 10 15:17:59 2013 +0100 @@ -13,10 +13,7 @@ from PyQt4.QtGui import QProgressDialog, QApplication, QGraphicsTextItem from .UMLDiagramBuilder import UMLDiagramBuilder -from .ModuleItem import ModuleItem, ModuleModel -from .AssociationItem import AssociationItem, Imports -import Utilities.ModuleParser import Utilities import Preferences @@ -88,6 +85,7 @@ None, 0, tot, self.parent()) progress.show() QApplication.processEvents() + import Utilities.ModuleParser for module in modules: progress.setValue(prog) QApplication.processEvents() @@ -223,6 +221,7 @@ @param x x-coordinate (float) @param y y-coordinate (float) """ + from .ModuleItem import ModuleItem, ModuleModel classes.sort() impM = ModuleModel(name, classes) impW = ModuleItem(impM, x, y, scene=self.scene) @@ -235,6 +234,7 @@ @param shapes list of shapes """ + from .AssociationItem import AssociationItem, Imports for module in list(shapes.keys()): for rel in shapes[module][1]: assoc = AssociationItem(
--- a/Graphics/PackageDiagramBuilder.py Sun Feb 10 14:48:24 2013 +0100 +++ b/Graphics/PackageDiagramBuilder.py Sun Feb 10 15:17:59 2013 +0100 @@ -14,12 +14,7 @@ from PyQt4.QtGui import QProgressDialog, QApplication, QGraphicsTextItem from .UMLDiagramBuilder import UMLDiagramBuilder -from .ClassItem import ClassItem, ClassModel -from .PackageItem import PackageItem, PackageModel -from .AssociationItem import AssociationItem, Generalisation -from . import GraphicsUtilities -import Utilities.ModuleParser import Utilities import Preferences @@ -89,6 +84,8 @@ None, 0, tot, self.parent()) progress.show() QApplication.processEvents() + + import Utilities.ModuleParser for module in modules: progress.setValue(prog) QApplication.processEvents() @@ -141,6 +138,8 @@ None, 0, tot, self.parent()) progress.show() QApplication.processEvents() + + import Utilities.ModuleParser for subpackage in subpackagesList: packageName = os.path.basename(subpackage) subpackagesDict[packageName] = [] @@ -271,6 +270,7 @@ The algorithm is borrowed from Boa Constructor. """ + from . import GraphicsUtilities generations = GraphicsUtilities.sort(nodes, routes) # calculate width and height of all elements @@ -345,6 +345,7 @@ @param y y-coordinate (float) @param isRbModule flag indicating a Ruby module (boolean) """ + from .ClassItem import ClassItem, ClassModel meths = sorted(_class.methods.keys()) attrs = sorted(_class.attributes.keys()) name = _class.name @@ -366,6 +367,7 @@ @param x x-coordinate (float) @param y y-coordinate (float) """ + from .ClassItem import ClassItem, ClassModel cl = ClassModel(_class) cw = ClassItem(cl, True, x, y, noAttrs=self.noAttrs, scene=self.scene) cw.setId(self.umlView.getItemId()) @@ -381,6 +383,7 @@ @param x x-coordinate (float) @param y y-coordinate (float) """ + from .PackageItem import PackageItem, PackageModel pm = PackageModel(name, modules) pw = PackageItem(pm, x, y, scene=self.scene) pw.setId(self.umlView.getItemId()) @@ -392,6 +395,7 @@ @param routes list of relationsships """ + from .AssociationItem import AssociationItem, Generalisation for route in routes: if len(route) > 1: assoc = AssociationItem(
--- a/Graphics/UMLClassDiagramBuilder.py Sun Feb 10 14:48:24 2013 +0100 +++ b/Graphics/UMLClassDiagramBuilder.py Sun Feb 10 15:17:59 2013 +0100 @@ -16,9 +16,6 @@ import Preferences from .UMLDiagramBuilder import UMLDiagramBuilder -from .ClassItem import ClassItem, ClassModel -from .AssociationItem import AssociationItem, Generalisation -from . import GraphicsUtilities class UMLClassDiagramBuilder(UMLDiagramBuilder): @@ -152,6 +149,7 @@ The algorithm is borrowed from Boa Constructor. """ + from . import GraphicsUtilities generations = GraphicsUtilities.sort(nodes, routes) # calculate width and height of all elements @@ -226,6 +224,7 @@ @param y y-coordinate (float) @param isRbModule flag indicating a Ruby module (boolean) """ + from .ClassItem import ClassItem, ClassModel meths = sorted(_class.methods.keys()) attrs = sorted(_class.attributes.keys()) name = _class.name @@ -249,6 +248,7 @@ @param x x-coordinate (float) @param y y-coordinate (float) """ + from .ClassItem import ClassItem, ClassModel cl = ClassModel(_class) cw = ClassItem(cl, True, x, y, noAttrs=self.noAttrs, scene=self.scene) cw.setId(self.umlView.getItemId()) @@ -262,6 +262,7 @@ @param routes list of relationsships """ + from .AssociationItem import AssociationItem, Generalisation for route in routes: if len(route) > 1: assoc = AssociationItem(
--- a/Graphics/UMLDialog.py Sun Feb 10 14:48:24 2013 +0100 +++ b/Graphics/UMLDialog.py Sun Feb 10 15:17:59 2013 +0100 @@ -13,8 +13,6 @@ from E5Gui import E5MessageBox, E5FileDialog from E5Gui.E5MainWindow import E5MainWindow -from .UMLGraphicsView import UMLGraphicsView - import UI.Config import UI.PixmapCache @@ -50,6 +48,7 @@ self.__diagramType = diagramType self.__project = project + from .UMLGraphicsView import UMLGraphicsView self.scene = QGraphicsScene(0.0, 0.0, 800.0, 600.0) self.umlView = UMLGraphicsView(self.scene, parent=self) self.builder = self.__diagramBuilder(self.__diagramType, path, **kwargs)
--- a/Graphics/UMLGraphicsView.py Sun Feb 10 14:48:24 2013 +0100 +++ b/Graphics/UMLGraphicsView.py Sun Feb 10 15:17:59 2013 +0100 @@ -16,11 +16,6 @@ from E5Gui.E5ZoomWidget import E5ZoomWidget from .UMLItem import UMLItem -from .AssociationItem import AssociationItem -from .ClassItem import ClassItem -from .ModuleItem import ModuleItem -from .PackageItem import PackageItem -from .UMLSceneSizeDialog import UMLSceneSizeDialog import UI.Config import UI.PixmapCache @@ -300,6 +295,7 @@ """ Private method to handle the set size context menu entry. """ + from .UMLSceneSizeDialog import UMLSceneSizeDialog rect = self._getDiagramRect(10) sceneRect = self.scene().sceneRect() dlg = UMLSceneSizeDialog(sceneRect.width(), sceneRect.height(), @@ -677,6 +673,7 @@ item.getId(), item.x(), item.y(), item.getItemType(), item.buildItemDataString())) + from .AssociationItem import AssociationItem for item in self.filteredItems(self.scene().items(), AssociationItem): lines.append("association: {0}".format(item.buildAssociationItemDataString())) @@ -697,6 +694,11 @@ return False, 0 self.diagramName = data[0].split(": ", 1)[1].strip() + from .ClassItem import ClassItem + from .ModuleItem import ModuleItem + from .PackageItem import PackageItem + from .AssociationItem import AssociationItem + linenum = 0 for line in data[1:]: linenum += 1