示例#1
0
class EditMoves(EditWidget):
    def __init__(self, size="H", parent=None):
        super(EditMoves, self).__init__(EditWidget.NONE, parent)
        self.datasize = size
        y = 0
        x = 25
        self.mover = EditWidget(EditWidget.COMBOBOX, self)
        self.mover.changed = self._changed
        width, height = self.mover.getGeometry()
        self.mover.setGeometry(QRect(x, y, width, height))
        y += height
        self.leveler = EditWidget(EditWidget.SPINBOX, self)
        self.leveler.changed = self._changed
        if self.datasize == "I":
            self.leveler.setValues([0, 0xFFFF])
        else:
            self.leveler.setValues([0, 0x7F])
        width, height = self.leveler.getGeometry()
        self.leveler.setGeometry(QRect(x, y, width, height))
        y += height
        self.deleter = QPushButton("X", self)
        self.deleter.setGeometry(0, 0, x, y)
        QObject.connect(self.deleter, QtCore.SIGNAL("pressed()"), self._remove)
        self.setGeometry(0, 0, x + width, y)

    def _remove(self):
        self.remove(self)

    def setName(self, name):
        self.mover.setName("Move")
        self.leveler.setName("Level")

    def setValue(self, value):
        if self.datasize == "I":
            self.mover.setValue(value & 0xFFFF)
            self.leveler.setValue((value >> 16) & 0xFFFF)
        else:
            self.mover.setValue(value & 0x1FF)
            self.leveler.setValue((value >> 9) & 0x7F)

    def getValue(self):
        if self.datasize == "I":
            value = (self.leveler.getValue() << 16) | (self.mover.getValue())
        else:
            value = (self.leveler.getValue() << 9) | (self.mover.getValue())
        return value

    def getGeometry(self):
        return (self.geometry().width(), self.geometry().height())

    def __lt__(self, other):
        if isinstance(other, EditMoves):
            return self.leveler.getValue() < other.leveler.getValue()
        return self.getValue() < other.getValue()
示例#2
0
class EditMoves(EditWidget):
    def __init__(self, size="H", parent=None):
        super(EditMoves, self).__init__(EditWidget.NONE, parent)
        self.datasize = size
        y = 0
        x = 25
        self.mover = EditWidget(EditWidget.COMBOBOX, self)
        self.mover.changed = self._changed
        width, height = self.mover.getGeometry()
        self.mover.setGeometry(QRect(x, y, width, height))
        y += height
        self.leveler = EditWidget(EditWidget.SPINBOX, self)
        self.leveler.changed = self._changed
        if self.datasize == "I":
            self.leveler.setValues([0, 0xFFFF])
        else:
            self.leveler.setValues([0, 0x7F])
        width, height = self.leveler.getGeometry()
        self.leveler.setGeometry(QRect(x, y, width, height))
        y += height
        self.deleter = QPushButton("X", self)
        self.deleter.setGeometry(0, 0, x, y)
        QObject.connect(self.deleter,
            QtCore.SIGNAL("pressed()"), self._remove)
        self.setGeometry(0, 0, x+width, y)
    def _remove(self):
        self.remove(self)
    def setName(self, name):
        self.mover.setName("Move")
        self.leveler.setName("Level")
    def setValue(self, value):
        if self.datasize == "I":
            self.mover.setValue(value&0xFFFF)
            self.leveler.setValue((value>>16)&0xFFFF)
        else:
            self.mover.setValue(value&0x1FF)
            self.leveler.setValue((value>>9)&0x7F)
    def getValue(self):
        if self.datasize == "I":
            value = (self.leveler.getValue()<<16) | (self.mover.getValue())
        else:
            value = (self.leveler.getValue()<<9) | (self.mover.getValue())
        return value
    def getGeometry(self):
        return (self.geometry().width(), self.geometry().height())
    def __lt__(self, other):
        if isinstance(other, EditMoves):
            return self.leveler.getValue() < other.leveler.getValue()
        return self.getValue() < other.getValue()