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
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