/[thuban]/branches/greater-ms3/thuban/ChangeLog
ViewVC logotype

Diff of /branches/greater-ms3/thuban/ChangeLog

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

revision 523 by jan, Wed Mar 12 17:08:23 2003 UTC revision 557 by jonathan, Wed Mar 26 11:04:57 2003 UTC
# Line 1  Line 1 
1    2003-03-26  Jonathan Coles   <[email protected]>
2    
3            This putback contains the code for dockable windows. There is
4            no support in wxWindows as of this date for windows that can
5            attach themselves to other windows.
6    
7            The current model contains a DockableWindow which has a parent
8            window for when it is detached and a dock window that it puts
9            its contents in when it is docked. The contents of a DockableWindow
10            must be a DockPanel. DockPanel itself derives from wxPanel.
11    
12            * Thuban/Model/layer.py (Layer.ClassChanged): Send a LAYER_CHANGED
13            message, not a LAYER_LEGEND_CHANGED message.
14    
15            * Thuban/Model/map.py (Map): Forward LAYER_CHANGED messages.
16    
17            * Thuban/UI/classifier.py (Classifier.__init__): Use wxADJUST_MINSIZE
18            as one of the style properties for the fieldTypeText item to
19            be sure that its size is correct when the text changes.
20    
21            * Thuban/UI/dock.py: New. Classes for the DockPanel and
22            DockableWindow.
23    
24            * Thuban/UI/legend.py: Added some more buttons and made the
25            LegendPanel a DockPanel.
26    
27            * Thuban/UI/mainwindow.py: Added sash windows to the main window
28            and supporting functions for manipulating the sashes.
29            (MainWindow.ShowLegend): Create a DockableWindow with the
30            LegendPanel as the contents.
31    
32            * Thuban/UI/messages.py: Added DOCKABLE_* messages
33    
34            * Thuban/UI/view.py (MapCanves.SetMap): Listen for LAYER_CHANGED,
35            not LAYER_LEGEND_CHANGED, messages.
36    
37    2003-03-25  Jonathan Coles   <[email protected]>
38    
39            * setup.py: Added custom script bdist_rpm_build_script so that
40            when the rpm is built the path to wx-config is correct.
41    
42            * setup.cfg: Added line saying to use the custom build script
43    
44    2003-03-20  Jonathan Coles   <[email protected]>
45    
46            Initial implementation of the Legend.
47    
48            * Thuban/UI/legend.py: New. Creates a window that shows the map's
49            Legend information and allows the user to add/modify classifications
50            and how the layers are drawn on the map.
51    
52            * setup.py: New command 'build_docs' which currently uses
53            happydoc to generate html documentation for Thuban.
54    
55            * Thuban/Model/classification.py (ClassGroup.GetDisplayText): New.
56            Returns a string which is appropriately describes the group.
57    
58            * Thuban/Model/layer.py (Layer.SetClassification): Generate a
59            LAYER_CHANGED event instead of a LAYER_LEGEND_CHANGED event.
60    
61            * Thuban/Model/map.py (Map): Rename messages and use new, more
62            specific, messages.
63    
64            * Thuban/Model/messages.py: New message to indicate that a layer's
65            data has changed (LAYER_CHANGED). New map messages to indicate
66            when layers have been added/removed/changed or if the stacking order
67            of the layers has changed.
68    
69            * Thuban/Model/session.py: Rename and use new messages.
70    
71            * Thuban/UI/classifier.py: Remember if any changes have actually
72            been applied so that if the dialog is cancelled without an application
73            of changes we don't have to set a new classification.
74            (ClassDataPreviewer): Pulled out the window specific code and put it
75            ClassDataPreviewWindow. ClassDataPreviewer can then be used to draw
76            symbols on any DC.
77            
78            * Thuban/UI/mainwindow.py: New code to open the legend.
79    
80            * Thuban/UI/view.py: Use new message names.
81    
82    2003-03-19  Jonathan Coles   <[email protected]>
83    
84            * Thuban/UI/main.py (verify_versions): New. Checks the versions
85            of Python, wxPython, and some other libraries.
86    
87            * extensions/thuban/wxproj.cpp (check_version): Checks the given
88            version against what wxproj was compiled with.
89            (check_version_gtk): If wxproj was compiled with gtk then check
90            the given version against the version of the gtk library
91            currently being used.
92    
93    2003-03-14  Bernhard Herzog  <[email protected]>
94    
95            * test/test_command.py: Run the tests when the module is run as a
96            script
97    
98    2003-03-14  Bernhard Herzog  <[email protected]>
99    
100            Implement selection of multiple selected shapes in the same layer:
101    
102            - Introduce a new class to hold the selection. This basically
103              replaces the interactor which was nothing more than the
104              selection anyway. A major difference is of course that the new
105              selection class supports multiple selected shapes in one layer
106            
107            - Move the object that represents the selection from the
108              application to the canvas. The canvas is a better place than the
109              application because the selection represents which shapes and
110              layer of the map displayed by the canvas are selected and
111              affects how the map is drawn.
112    
113            - Make the selection and its messages publicly available through
114              the mainwindow.
115    
116            - The non-modal dialogs do not get a reference to the interactor
117              anymore as they can simply refer to their parent, the
118              mainwindow, for the what the interactor had to offer.
119    
120            * Thuban/UI/selection.py: New module with a class to represent the
121            selection.
122    
123            * Thuban/UI/messages.py (SELECTED_TABLE, SELECTED_MAP): Remove
124            these unused messages
125    
126            * Thuban/UI/application.py (ThubanApplication.OnInit)
127            (ThubanApplication.OnExit, ThubanApplication.SetSession): The
128            interactor is gone now.
129            (ThubanApplication.CreateMainWindow): There is no interactor
130            anymore so we pass None as the interactor argument for now for
131            compatibility.
132    
133            * Thuban/UI/view.py (MapCanvas.delegated_messages)
134            (MapCanvas.Subscribe, MapCanvas.Unsubscribe): In Subscribe and
135            Unsubscribe, delegate messages according to the delegated_messages
136            class variable.
137            (MapCanvas.__getattr__, MapCanvas.delegated_methods): Get some
138            attributes from instance variables as described with the
139            delegated_methods class variable.
140            (MapCanvas.__init__): New instance variable selection holding the
141            current selection
142            (MapCanvas.do_redraw): Deal with multiple selected shapes. Simply
143            pass them on to the renderer
144            (MapCanvas.SetMap): Clear the selection when a different map is
145            selected.
146            (MapCanvas.shape_selected): Simple force a complete redraw. The
147            selection class now takes care of only issueing SHAPES_SELECTED
148            messages when the set of selected shapes actually does change.
149            (MapCanvas.SelectShapeAt): The selection is now managed in
150            self.selection
151    
152            * Thuban/UI/mainwindow.py (MainWindow.delegated_messages)
153            (MainWindow.Subscribe, MainWindow.Unsubscribe): In Subscribe and
154            Unsubscribe, delegate messages according to the delegated_messages
155            class variable.
156            (MainWindow.delegated_methods, MainWindow.__getattr__): Get some
157            attributes from instance variables as described with the
158            delegated_methods class variable.
159            (MainWindow.__init__): The interactor as ivar is gone. The
160            parameter is still there for compatibility. The selection messages
161            now come from the canvas.
162            (MainWindow.current_layer, MainWindow.has_selected_layer):
163            Delegate to the the canvas.
164            (MainWindow.LayerShowTable, MainWindow.Classify)
165            (MainWindow.identify_view_on_demand): The dialogs don't need the
166            interactor parameter anymore.
167    
168            * Thuban/UI/tableview.py (TableFrame.__init__)
169            (LayerTableFrame.__init__, LayerTableFrame.OnClose)
170            (LayerTableFrame.row_selected): The interactor is gone. It's job
171            from the dialog's point of view is now done by the mainwindow,
172            i.e. the parent. Subscribe to SHAPES_SELECTED instead
173            of SELECTED_SHAPE
174            
175            * Thuban/UI/dialogs.py (NonModalDialog.__init__): The interactor
176            is gone. It's job from the dialog's point of view is now done by
177            the mainwindow, i.e. the parent.
178            
179            * Thuban/UI/classifier.py (Classifier.__init__): The interactor is
180            gone. It's job from the dialog's point of view is now done by the
181            mainwindow, i.e. the parent.
182    
183            * Thuban/UI/tree.py (SessionTreeView.__init__): The interactor is
184            gone. It's job from the dialog's point of view is now done by the
185            mainwindow, i.e. the parent.
186            (SessionTreeCtrl.__init__): New parameter mainwindow which is
187            stored as self.mainwindow. The mainwindow is need so that the tree
188            can still subscribe to the selection messages.
189            (SessionTreeCtrl.__init__, SessionTreeCtrl.unsubscribe_all)
190            (SessionTreeCtrl.update_tree, SessionTreeCtrl.OnSelChanged): The
191            selection is now accessible through the mainwindow. Subscribe to
192            SHAPES_SELECTED instead of SELECTED_SHAPE
193    
194            * Thuban/UI/identifyview.py (IdentifyView.__init__): Use the
195            SHAPES_SELECTED message now.
196            (IdentifyView.selected_shape): Now subscribed to SHAPES_SELECTED,
197            so deal with multiple shapes
198            (IdentifyView.__init__, IdentifyView.OnClose): The interactor is
199            gone. It's job from the dialog's point of view is now done by the
200            mainwindow, i.e. the parent.
201    
202            * Thuban/UI/controls.py (RecordListCtrl.fill_list): The second
203            parameter is now a list of shape ids.
204            (RecordTable.SetTable): The second parameter is now a list of
205            indices.
206    
207            * Thuban/UI/renderer.py (ScreenRenderer.RenderMap): Rename the
208            selected_shape parameter and ivar to selected_shapes. It's now a
209            list of shape ids.
210            (MapRenderer.draw_label_layer): Deal with multiple selected
211            shapes. Rearrange the code a bit so that the setup and shape type
212            distinctions are only executed once.
213    
214            * test/test_selection.py: Test cases for the selection class
215    
216    2003-03-11  Jonathan Coles   <[email protected]>
217    
218            * Thuban/Model/load.py: Temporary fix so that the xml reader
219            doesn't cause Thuban to crash.
220    
221            * Thuban/Model/layer.py: Handle the cyclic references between
222            a layer and its classification better, and be sure to disconnect
223            the classification from the layer when the layer is destroyed
224            so that we don't maintain a cyclic reference that may not be
225            garbage collected.
226    
227            * Thuban/Model/classification.py: See comment for layer.py.
228    
229  2003-03-12  Jan-Oliver Wagner <[email protected]>  2003-03-12  Jan-Oliver Wagner <[email protected]>
230    
231          * HOWTO-Release: New. Information on the steps for releasing          * HOWTO-Release: New. Information on the steps for releasing

Legend:
Removed from v.523  
changed lines
  Added in v.557

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26