Exemple #1
0
    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))
Exemple #2
0
 def __init__(self, cnt):
     QubStdData2ImagePlug.__init__(self)
     self.__image = QubMosaicImage(motX=0, motY=0)
     self.__image.setLayer(4096)
     self.__cnt = cnt
     self.__imageAlreadySend = False