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