Browse Source

Added __eq__ methods in Canvas and Layers

pull/260/head
Eugenio Parodi 2 years ago
parent
commit
834bdd1575
  1. 10
      tools/dumbPaintTool/app/canvaslayer.py
  2. 11
      tools/dumbPaintTool/app/glbls.py
  3. 3
      tools/dumbPaintTool/app/state/layers.py

10
tools/dumbPaintTool/app/canvaslayer.py

@ -79,6 +79,16 @@ class CanvasLayer():
self._colors = [row.copy() for row in cl._colors]
self.changed.emit()
def __eq__(self, value: object) -> bool:
return (
issubclass(type(value),CanvasLayer) and
self._pos == value._pos and
self._size == value._size and
self._offset == value._offset and
self._visible == value._visible and
all(a==b for a,b in zip(self._data, value._data)) and
all(a==b for a,b in zip(self._colors,value._colors)) )
def update(self):
self.changed.emit()

11
tools/dumbPaintTool/app/glbls.py

@ -55,14 +55,9 @@ class Snapshot():
cl.restore(clone)
def __eq__(self, value: object) -> bool:
if self._layer != value._layer:
return False
for (a,_),(b,_) in zip(self._canvasLayers,value._canvasLayers):
if a!=b:
return False
return True
return (
self._layer == value._layer and
all(a==b for a,b in self._canvasLayers))
@dataclass()
class Glbls:

3
tools/dumbPaintTool/app/state/layers.py

@ -55,6 +55,9 @@ class Layers():
self.layersOrderChanged.emit(self._layers)
self.layerSelected.emit(self._selected)
def __eq__(self, value: object) -> bool:
return self._layers == value._layers
def __len__(self):
return len(self._layers)

Loading…
Cancel
Save