diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/editorui.py | 3 | ||||
-rw-r--r-- | src/mapdata.py | 17 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/editorui.py b/src/editorui.py index 48164a0..05cb77f 100644 --- a/src/editorui.py +++ b/src/editorui.py @@ -260,6 +260,8 @@ class KPMapScene(QtGui.QGraphicsScene): areaBottomT = ceil(areaBottom / 24) for layer in reversed(KP.map.layers): + if not layer.visible: continue + left, top = layer.cacheBasePos width, height = layer.cacheSize right, bottom = left+width, top+height @@ -365,6 +367,7 @@ class KPEditorWidget(QtGui.QGraphicsView): y = int(y / 24) layer = self.scene().currentLayer + if not layer.visible: return obj = KPObject() obj.position = (x,y) diff --git a/src/mapdata.py b/src/mapdata.py index 67103d9..3ce63a6 100644 --- a/src/mapdata.py +++ b/src/mapdata.py @@ -25,10 +25,25 @@ class KPLayer(object): self.name = '' self.tileset = '' self.objects = [] - self.visible = True + self._visible = True self.cache = ['DUMMY_FLAG'] self.updateCache() + @property + def visible(self): + return self._visible + + @visible.setter + def visible(self, value): + if self._visible == value: + return + self._visible = value + + for obj in self.objects: + item = obj.qtItem + if item: + item.setVisible(value) + def updateCache(self): if len(self.objects) == 0: if len(self.cache) != 0: |