def __init__(self, parent, name, cnt, image=None, beamPos=None, calib=None, hMotor=None, vMotor=None, motorList=None, masterPosition=None, focusMotorPosition=None): try: lastItem = parent.lastItem() except AttributeError: firstChild = parent.firstChild() if firstChild: childCount = parent.childCount() lastItem = firstChild try: for i in range(1, childCount): lastItem = lastItem.itemBelow() except AttributeError: lastItem = None else: lastItem = None if isinstance(name, _SavePickleItem): if lastItem: qt.QCheckListItem.__init__(self, parent, lastItem, name.textcolumn[0], qt.QCheckListItem.CheckBox) else: qt.QCheckListItem.__init__(self, parent, name.textcolumn[0], qt.QCheckListItem.CheckBox) saveItem = name self.__image = saveItem.image for i, text in enumerate(saveItem.textcolumn): self.setText(i, text) self.__masterPosition = masterPosition try: self.focusMotorPosition = saveItem.focusMotorPosition except AttributeError: # compatibility with old save mosaic self.focusMotorPosition = None self.__layer = saveItem.layer self.__cnt = cnt cnt.mosaicView.addImage( self.__image) # adding image to MosaicDisplay self.setState(saveItem.masterPosition and qt.QCheckListItem.On or qt.QCheckListItem.Off) self.setRenameEnabled(0, True) else: self.__image = QubMosaicImage(image, hMotor.getPosition(), vMotor.getPosition(), 0) if lastItem: qt.QCheckListItem.__init__(self, parent, lastItem, name, qt.QCheckListItem.CheckBox) else: qt.QCheckListItem.__init__(self, parent, name, qt.QCheckListItem.CheckBox) icon = image.smoothScale(16, 16, qt.QImage.ScaleMin) self.setPixmap(0, qt.QPixmap(icon)) try: self.__image.setRefPos(*beamPos) self.__image.setCalibration(*calib) except TypeError: logging.getLogger().error( 'You have to connect ChangeBeamPosition and ChangePixelCalibration slot' ) return for i, motor in enumerate(motorList): self.setText(i + 1, '%f' % motor.getPosition()) self.__masterPosition = masterPosition self.focusMotorPosition = focusMotorPosition self.setRenameEnabled(0, True) self.__layer = 0 self.__cnt = cnt cnt.mosaicView.addImage( self.__image) # adding image to MosaicDisplay try: self.__state = parent.isSelected( ) and qt.QCheckListItem.On or qt.QCheckListItem.Off self.setState(self.__state) except TypeError: self.__state = qt.QCheckListItem.On self.setState(qt.QCheckListItem.On) self.__image.setImageId(id(self))
def __init__(self, cnt): QubStdData2ImagePlug.__init__(self) self.__image = QubMosaicImage(motX=0, motY=0) self.__image.setLayer(4096) self.__cnt = cnt self.__imageAlreadySend = False