32 |
Parameter: the map |
Parameter: the map |
33 |
""" |
""" |
34 |
|
|
35 |
forwarded_channels = (LAYER_PROJECTION_CHANGED, |
forwarded_channels = (CHANGED, |
36 |
|
LAYER_PROJECTION_CHANGED, |
37 |
LAYER_LEGEND_CHANGED, |
LAYER_LEGEND_CHANGED, |
38 |
LAYER_VISIBILITY_CHANGED) |
LAYER_VISIBILITY_CHANGED) |
39 |
|
|
40 |
def __init__(self, title, projection = None): |
def __init__(self, title, projection = None): |
41 |
"""Initialize the map.""" |
"""Initialize the map.""" |
42 |
TitledObject.__init__(self, title) |
TitledObject.__init__(self, title) |
43 |
|
Modifiable.__init__(self) |
44 |
self.layers = [] |
self.layers = [] |
45 |
self.label_layer = LabelLayer("Labels") |
self.label_layer = LabelLayer("Labels") |
46 |
self.label_layer.Subscribe(CHANGED, self.forward, LAYERS_CHANGED) |
self.label_layer.Subscribe(CHANGED, self.forward, LAYERS_CHANGED) |
69 |
self.changed(LAYERS_CHANGED, self) |
self.changed(LAYERS_CHANGED, self) |
70 |
layer.Destroy() |
layer.Destroy() |
71 |
|
|
72 |
|
def CanRemoveLayer(self, layer): |
73 |
|
"""Return true if the layer can be deleted. |
74 |
|
|
75 |
|
The default implementation always returns 1. Derived classes |
76 |
|
should override this method if they have e.g. special layers |
77 |
|
that the user should not be able to remove. |
78 |
|
""" |
79 |
|
return 1 |
80 |
|
|
81 |
def ClearLayers(self): |
def ClearLayers(self): |
82 |
"""Delete all layers.""" |
"""Delete all layers.""" |
83 |
for layer in self.layers: |
for layer in self.layers: |