summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/editorui.py3
-rw-r--r--src/mapdata.py17
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: