/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/Model/session.py
ViewVC logotype

Diff of /branches/WIP-pyshapelib-bramz/Thuban/Model/session.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 103 by jan, Fri Apr 19 14:23:24 2002 UTC revision 128 by bh, Fri May 3 14:38:16 2002 UTC
# Line 1  Line 1 
1  # Copyright (c) 2001 by Intevation GmbH  # Copyright (c) 2001, 2002 by Intevation GmbH
2  # Authors:  # Authors:
3  # Bernhard Herzog <[email protected]>  # Bernhard Herzog <[email protected]>
4  #  #
# Line 9  __version__ = "$Revision$" Line 9  __version__ = "$Revision$"
9    
10  from Thuban.Lib.connector import Publisher  from Thuban.Lib.connector import Publisher
11    
12  from messages import MAPS_CHANGED, LAYERS_CHANGED, MAP_PROJECTION_CHANGED, \  from messages import MAPS_CHANGED, FILENAME_CHANGED, \
13       LAYER_LEGEND_CHANGED, FILENAME_CHANGED       LAYERS_CHANGED, MAP_PROJECTION_CHANGED, \
14         LAYER_LEGEND_CHANGED, LAYER_PROJECTION_CHANGED, LAYER_VISIBILITY_CHANGED
15    
16  from base import TitledObject, Modifiable  from base import TitledObject, Modifiable
17    
# Line 36  class Session(TitledObject, Modifiable): Line 37  class Session(TitledObject, Modifiable):
37                            subscriptions easier.                            subscriptions easier.
38      """      """
39    
40        # message channels that have to be forwarded from maps contained in
41        # the session.
42        forwarded_channels = (
43            # map specific channels
44            MAP_PROJECTION_CHANGED,
45            LAYERS_CHANGED,
46    
47            # layer channels forwarded by the map
48            LAYER_PROJECTION_CHANGED,
49            LAYER_LEGEND_CHANGED,
50            LAYER_VISIBILITY_CHANGED)
51    
52      def __init__(self, title):      def __init__(self, title):
53          TitledObject.__init__(self, title)          TitledObject.__init__(self, title)
54          Modifiable.__init__(self)          Modifiable.__init__(self)
# Line 55  class Session(TitledObject, Modifiable): Line 68  class Session(TitledObject, Modifiable):
68    
69      def AddMap(self, map):      def AddMap(self, map):
70          self.maps.append(map)          self.maps.append(map)
71          for channel in (LAYERS_CHANGED, MAP_PROJECTION_CHANGED,          for channel in self.forwarded_channels:
                         LAYER_LEGEND_CHANGED):  
72              map.Subscribe(channel, self.forward, channel)              map.Subscribe(channel, self.forward, channel)
73          self.changed(MAPS_CHANGED)          self.changed(MAPS_CHANGED)
74    

Legend:
Removed from v.103  
changed lines
  Added in v.128

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26