46 |
|
|
47 |
def Destroy(self): |
def Destroy(self): |
48 |
for layer in self.layers: |
for layer in self.layers: |
49 |
|
self.unsubscribe_layer_channels(layer) |
50 |
layer.Destroy() |
layer.Destroy() |
51 |
self.label_layer.Unsubscribe(CHANGED, self.forward, LAYERS_CHANGED) |
self.label_layer.Unsubscribe(CHANGED, self.forward, LAYERS_CHANGED) |
52 |
Modifiable.Destroy(self) |
Modifiable.Destroy(self) |
53 |
|
|
54 |
def AddLayer(self, layer): |
def AddLayer(self, layer): |
55 |
self.layers.append(layer) |
self.layers.append(layer) |
56 |
for channel in self.forwarded_channels: |
self.subscribe_layer_channels(layer) |
|
layer.Subscribe(channel, self.forward, channel) |
|
57 |
self.changed(LAYERS_CHANGED, self) |
self.changed(LAYERS_CHANGED, self) |
58 |
|
|
59 |
def RemoveLayer(self, layer): |
def RemoveLayer(self, layer): |
60 |
for channel in self.forwarded_channels: |
self.unsubscribe_layer_channels(layer) |
|
layer.Unsubscribe(channel, self.forward, channel) |
|
61 |
self.layers.remove(layer) |
self.layers.remove(layer) |
62 |
self.changed(LAYERS_CHANGED, self) |
self.changed(LAYERS_CHANGED, self) |
63 |
layer.Destroy() |
layer.Destroy() |
64 |
|
|
65 |
|
def subscribe_layer_channels(self, layer): |
66 |
|
"""Subscribe to some of layer's channels.""" |
67 |
|
for channel in self.forwarded_channels: |
68 |
|
layer.Subscribe(channel, self.forward, channel) |
69 |
|
|
70 |
|
def unsubscribe_layer_channels(self, layer): |
71 |
|
"""Unsubscribe to some of layer's channels.""" |
72 |
|
for channel in self.forwarded_channels: |
73 |
|
layer.Unsubscribe(channel, self.forward, channel) |
74 |
|
|
75 |
def LabelLayer(self): |
def LabelLayer(self): |
76 |
"""Return the Map's label layer""" |
"""Return the Map's label layer""" |
77 |
return self.label_layer |
return self.label_layer |