def fileImport(self): if not self.offerSave(): return folder = os.path.dirname(self.filename) if self.filename is not None else "." formats = LicImporters.getFileTypesString() filename = unicode(QFileDialog.getOpenFileName(self, "Lic - Import Model", folder, formats)) if filename: self.setWindowModified(False) QTimer.singleShot(50, lambda: self.importModel(filename))
def dragEnterEvent(self, event): if event.mimeData().hasFormat(QString("text/uri-list")): filename = event.mimeData().getFilename() if filename is not None: ext = os.path.splitext(filename)[1] if ext in LicImporters.getFileTypesList() or ext == '.lic': event.acceptProposedAction() return event.ignore()
def getAbstractPart(self, filename): pd = self.partDictionary part = None if filename in pd: part = pd[filename] elif filename.upper() in pd: part = pd[filename.upper()] else: # Set up dynamic module to be used for import importerName = LicImporters.getImporter(os.path.splitext(filename)[1][1:]) importModule = __import__("LicImporters.%s" % importerName, fromlist = ["LicImporters"]) importModule.LDrawPath = LicConfig.LDrawPath part = AbstractPart(filename) importModule.importPart(filename, self.getProxy(), part) pd[filename] = part if part.glDispID == LicGLHelpers.UNINIT_GL_DISPID: part.createGLDisplayList() part.resetPixmap(self.glContext, self.templateSettings) return part