def dropEvent(self, e): # Establecer el widget en una nueva posición # aqui tengo que separar entre modulos nuevos y ya existentes. # la cadena que transmito es "posx,posy" si es mover uno existe # posx y posy es la posicion relativa al modulo del cursor # los ya existentes, muevo el modulo que paso con el drag a # la posicion del click menos el punto (posx,posy) # los modulos nuevos, hago una copia de ese tipo de modulo # de una base que no se este mostrando, y lo muestro # y no solo eso, sino que ademas mantengo # la numeracion de cada tipo de modulos para generar siguientes # obtiene la posicion relativa de los datos mime (mimeData) if e.mimeData().hasText(): x, y = map(int, e.mimeData().text().split(',')) e.source().move(e.pos()-QtCore.QPoint(x, y)) e.setDropAction(QtCore.Qt.MoveAction) for l in e.source().lines: l.repaint() else: name=self.newName(e.source().name) m = Module(name, e.source().code, self) m.move(e.pos()-QtCore.QPoint(100,50)) m.show() self.addModule(m) if m.type == Module.Input: self.update_composite() e.setDropAction(QtCore.Qt.CopyAction) e.accept()
def show(args): """ Show the environment changes that will be made when loading the module. aliases: display """ env = ModuleEnv() db = ModuleDb() for moduleid in args.module: name,version = splitid(moduleid) try: Module.show(db.lookup(name),env,version) except ModuleError as e: e.warn() env.dump(sys.stderr)
def load_model(self, dic, db): #CORREGIDO esta funcion no esta cargando correctamente el submodelo que tenia asociado un compuesto y por extension un bucle # creo que es porque no se guarda correctamente el json y tampoco se carga aqui. del dic["name"] for m in dic.values(): m2 = Module(m["name"], m["code"] if m["code"]!="null" else None, db) if "type" in m.keys(): m2.type = m["type"] m2.move(m["pos"]["x"],m["pos"]["y"]) m2.principal = m["principal"] m2.num = m["num"] m2.submod = m["submod"] m2.veces = m["veces"] m2.show() m2.actualiza_graficos() db.addModule(m2)