def __init__( self, moduleName: str, boneName: str, readOnly: bool, required: bool, destModule: str, multiple: bool, using: Union[str, None] = None, format: str = "$(name)", *args: Any, **kwargs: Any): super(RelationalEditBone, self).__init__(moduleName, boneName, readOnly, required, *args, **kwargs) logger.debug("RelationalEditBone: %r, %r, %r, %r", moduleName, boneName, readOnly, destModule) self.toModule = self.realModule = destModule if self.toModule.endswith("_rootNode"): self.realModule = destModule[:-9] self.multiple = multiple self.using = using self.format = format self.overlay = Overlay(self) self.internalEdits: InternalEdit = None self.blockAutoCompletion = False self.outerLayout = QtWidgets.QVBoxLayout(self.editWidget) # Vbox with Relational entry and optional using edit hboxWidget = QtWidgets.QWidget(self.editWidget) self.hboxLayout = QtWidgets.QHBoxLayout(hboxWidget) self.outerLayout.addWidget(hboxWidget) self.previewIcon = None self.addBtn = QtWidgets.QPushButton( QtCore.QCoreApplication.translate("RelationalEditBone", "Change selection"), parent=hboxWidget) self.addBtn.setIcon(loadIcon("select")) self.addBtn.released.connect(self.onAddBtnReleased) self.entry = QtWidgets.QLineEdit(hboxWidget) self.installAutoCompletion() self.hboxLayout.addWidget(self.entry) self.hboxLayout.addWidget(self.addBtn) if not self.multiple: ## FIXME: AND SELF REQUIRED self.delBtn = QtWidgets.QPushButton("", parent=self.editWidget) self.delBtn.setIcon(loadIcon("cancel")) self.delBtn.released.connect(self.onDelBtnReleased) self.hboxLayout.addWidget(self.delBtn) self.selection: Dict[str, Any] = None self.usingEdit = QtWidgets.QWidget(hboxWidget) self.previewLayout = QtWidgets.QVBoxLayout(self.usingEdit) self.outerLayout.addWidget(self.usingEdit) self.lastErrors = [] # List of errors we receveid in last unserialize call self.safeEval = safeeval.SafeEval() try: self.ast = self.safeEval.compile(self.format) except: self.ast = self.safeEval.compile("value['name']")
def __init__(self, module: str, boneName: str, structure: dict): super(FileViewBoneDelegate, self).__init__(module, boneName, structure) if not hasattr(self, "cache"): self.cache: Dict[str, str] = dict() self.format = "value['name']" self.structure = structure if "format" in structure[boneName]: self.format = structure[boneName]["format"] self.safeEval = safeeval.SafeEval() try: self.ast = self.safeEval.compile(self.format) except: self.ast = self.safeEval.compile("value['name']")
def __init__(self, module: str, boneName: str, structure: Dict[str, Any]): super(RelationalViewBoneDelegate, self).__init__(module, boneName, structure) # logger.debug("RelationalViewBoneDelegate.init: %r", boneName) self.format = "value['name']" if "format" in structure[boneName]: self.format = structure[boneName]["format"] self.module = module self.structure = structure self.boneName = boneName self.safeEval = safeeval.SafeEval() try: self.ast = self.safeEval.compile(self.format) except: self.ast = self.safeEval.compile("value['name']") self._cache = {}
def __init__( self, module: str, format: str, structure: Dict[str, Any], *args: Any, **kwargs: Any): super(AutocompletionModel, self).__init__(*args, **kwargs) self.module = module self.format = format self.structure = structure self.dataCache: List[Dict[str, Any]] = list() self.safeEval = safeeval.SafeEval() try: self.ast = self.safeEval.compile(self.format) except: self.ast = self.safeEval.compile("value['name']")
def __init__(self, module: str, data: Dict[str, Any]): moduleCfg = conf.serverConfig["modules"][module] if "format" in moduleCfg: fmt = moduleCfg["format"] else: fmt = "value['name']" protoWrap = protocolWrapperInstanceSelector.select(module) assert protoWrap is not None try: itemName = safeeval.SafeEval().safeEval(fmt, { "value": data, "structure": moduleCfg, "language": config.conf.adminConfig["language"] }) except: itemName = "(invalid format string)" super(HierarchyItem, self).__init__([str(itemName)]) self.loaded = False self.entryData = data self.setChildIndicatorPolicy(QtWidgets.QTreeWidgetItem.ShowIndicator)