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 |
165 |
if self.BoundingBox() != None: |
if self.BoundingBox() != None: |
166 |
items.append("Extent (lat-lon): (%g, %g, %g, %g)" |
items.append("Extent (lat-lon): (%g, %g, %g, %g)" |
167 |
% self.BoundingBox()) |
% self.BoundingBox()) |
168 |
if self.projection and len(self.projection.params) > 0: |
if self.projection and len(self.projection.params) > 0: |
169 |
items.append("Extent (projected): (%g, %g, %g, %g)" |
items.append("Extent (projected): (%g, %g, %g, %g)" |
170 |
% self.ProjectedBoundingBox()) |
% self.ProjectedBoundingBox()) |
171 |
items.append(("Projection", |
items.append(("Projection", |
172 |
[str(param) for param in self.projection.params])) |
[str(param) |
173 |
|
for param in self.projection.params])) |
174 |
|
|
175 |
layers = self.layers[:] |
layers = self.layers[:] |
176 |
layers.reverse() |
layers.reverse() |