def _finish_add_display(self): self.unregister_handler(self.home_map_scene, QEvent.GraphicsSceneMouseRelease) self.unregister_handler(self.home_map_scene, QEvent.GraphicsSceneMousePress) name = self.current_op_stat["name"] p = self.current_op_stat["position"] port = self.current_op_stat["port"] temp = TemperatureItem() temp.setTemperature(0) temp.setPos(p) temp.setToolTip(name) self.home_map_scene.addItem(temp) HMItem.name(temp, name) HMItem.module(temp, self.__class__.__name__) HMItem.type(temp, HMItem.ARTIFACT) HMItem.level(temp, self.home_map_scene.current_level) HMItem.ports(temp, "In", [port]) item_key = "name_%d" % (len(self.home_module.artifacts)) self.home_module.artifacts[item_key] = temp self.current_op = "" self.current_op_stat = None
def _finish_select_area(self): self.unregister_handler(self.home_map_scene, QEvent.GraphicsSceneMouseRelease) self.unregister_handler(self.home_map_scene, QEvent.KeyRelease) item = None for id,it in self.current_op_stat['items'].items() : print "%d,%s" % (id,HMItem.repr(it)) p = it.polygon().first() item = None self.current_op = '' self.current_op_stat = None el_it = QGraphicsEllipseItem(p.x()-2,p.y()-2,4,4) HMItem.module(el_it,self.__class__.__name__) HMItem.type(el_it,HMItem.ARTIFACT) HMItem.level(el_it, -1) el_it.setPen(QPen(Qt.blue, 1, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) el_it.setBrush(QBrush(Qt.blue)) el_it.setZValue(1) self.home_map_scene.addItem(el_it)
def _enter_move_object(self,event): p = event.scenePos() print "enter move object scene %s " % p self.current_op_stat['start_point'] = p self.current_op_stat['position'] = p for it in self.home_map_scene.items(p): if HMItem.type(it) == self.current_op_stat['type'] : HMItem.repr(it) self.current_op_stat['item'] = it # if HMItem.type(it) == HMItem.MAP_AREA: # it.setAcceptDrops(True) # HMItem.repr(it) if not self.current_op_stat['item'] is None: print "enter move object item %s " % self.current_op_stat['item'].scenePos() drag_obj = QDrag(self) drag_obj.setMimeData(QMimeData()) self.current_op_stat['drag'] = drag_obj drag_obj.start(Qt.MoveAction)
def _update_select_area(self,event): p = event.scenePos() for it in self.home_map_scene.items(p): if HMItem.type(it) == HMItem.MAP_AREA: HMItem.repr(it) if HMItem.select(it) : HMItem.select(it,False) it.setBrush(QBrush(Qt.NoBrush)) if id(it) in self.current_op_stat['items']: del self.current_op_stat['items'][id(it)] else: HMItem.select(it,True) it.setBrush(QBrush(Qt.Dense4Pattern)) self.current_op_stat['items'][id(it)] = it
def _update_add_area(self,event): p = event.scenePos() self.current_op_stat['points'].append(p) el_it = QGraphicsEllipseItem(p.x()-2,p.y()-2,4,4) HMItem.module(el_it,self.__class__.__name__) HMItem.type(el_it,HMItem.OUTLINE_POINT) HMItem.level(el_it, -1) el_it.setPen(QPen(Qt.black, 1, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) el_it.setBrush(QBrush(Qt.Dense4Pattern)) el_it.setZValue(1) self.home_map_scene.addItem(el_it)
def work(self): for it_k, it in self.artifacts.items(): port = str((HMItem.ports(it,'In')[0]).toString()) port_obj = self.client_core.in_ports[port] print port_obj it.setTemperature(port_obj.get_value())
def _finish_add_area(self): poligon = QPolygonF( self.current_op_stat['points']) pol = QGraphicsPolygonItem(poligon) pol.setToolTip(self.current_op_stat['name']) pol.setPen(QPen(Qt.black, 1, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) HMItem.type(pol,HMItem.MAP_AREA) HMItem.select(pol,False) HMItem.name(pol,self.current_op_stat['name']) HMItem.level(pol, self.home_map_scene.current_level) pol.setVisible(True) pol.setZValue(1) self.home_map_scene.addItem(pol) print "flags %x" % pol.flags() it_remove = QGraphicsPolygonItem() HMItem.module( it_remove, self.__class__.__name__) HMItem.type(it_remove,HMItem.OUTLINE_POINT) self.home_map_scene.remove_by_item(it_remove) self.current_op = '' self.current_op_stat = None