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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 70 - (show annotations)
Thu Oct 18 14:52:30 2001 UTC (23 years, 4 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 12511 byte(s)
update ChangeLog

1 2001-09-18 Bernhard Herzog <[email protected]>
2
3 * README: Slight tweaking in preparation for the 0.1 release
4
5 * setup.cfg: Add section for sdist to create both tgz and zip
6 archives
7
8 * setup.py: increase version number to 0.1
9 (data_dist): New command class for data distribution
10
11
12 2001-09-14 Bernhard Herzog <[email protected]>
13
14 * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
15 Handle the case of no layer (i.e. layer is None) properly.
16
17 * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
18 Set the initial selection of the combo boxes to reflect the
19 projection we're starting with in a way that works on windows,
20 too.
21
22 * Thuban/Lib/connector.py (Connector.print_connections): Print the
23 puiblisher's ids in hex to make it easier to compare them to the
24 standard repr of python methods
25
26 * Thuban/Model/map.py (Map.Destroy): Unsubscribe the label_layer
27 messages
28
29 2001-09-13 Bernhard Herzog <[email protected]>
30
31 * Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
32 deselect the layer if no layer is selected
33
34 * Thuban/UI/view.py (MapCanvas.OnPaint): Only delay drawing to
35 idle time when there actually is something to draw. If there's
36 nothing to draw simply clear the window
37 (MapCanvas.do_redraw): Call dc.EndDrawing and add some comments.
38 (MapCanvas.SetMap): force a redraw in all cases because
39 FitMapToWindow doesn't always do it.
40 (MapCanvas.ZoomFactor): Add an optional parameter, center, to
41 specify the point to move into the center of the window
42 (ZoomOutTool.MouseUp, ZoomInTool.MouseUp): If the mouse wasn't
43 dragged, zoon in/out by a factor of 2
44 (MapCanvas.find_shape_at): Iterate backwards (i.e. with decreasing
45 index, i.e. reversed drawing order) so that objects appearing to
46 be in from of others are selected first. This is probably mostly
47 relevant for point shapes where the symbols used may overlap
48
49 * Thuban/Model/session.py (create_empty_session): Unset the
50 modified bit before returning it
51
52 * Thuban/UI/mainwindow.py (MainWindow.NewSession): Use
53 create_empty_session session to create the new, empty session.
54
55 * Thuban/UI/mainwindow.py (MainWindow.__init__): Set the size of
56 the tool bitmaps.
57 (MainWindow.OnClose, MainWindow.save_modified_session): Separate
58 the code that asks whether the session should be saved into the
59 new method save_modified_session.
60 (MainWindow.OpenSession, MainWindow.NewSession): Use the new
61 method to save modified session here too.
62
63 2001-09-11 Bernhard Herzog <[email protected]>
64
65 * setup.py (InnoIconItem): fix typo
66
67 (thuban_bdist_inno.run):
68 (bdist_inno.run): Move the decision not to create symlinks on
69 non-nt platforms to thuban_bdist_inno and do it unconditinally
70 since we never want to create the symlinks here
71
72 2001-09-10 Bernhard Herzog <[email protected]>
73
74 * Thuban/UI/mainwindow.py (MainWindow.IdentifyTool): Popup the
75 identify view immediately
76
77 * Thuban/UI/controls.py: New file with two classes RecordListCtrl
78 and SelectableRecordListCtrl that implement the code shared by the
79 identify view and the label dialog
80
81 * Thuban/UI/identifyview.py (IdentifyListCtrl): Derive from the
82 new class RecordListCtrl
83
84 * Thuban/UI/labeldialog.py (LabelDialog.OnOK): Check whether the
85 return value of GetValue is None instead of using it as a boolean
86 directly so that Zero numbers are handled properly.
87 (LabelListCtrl): Derive from the new class
88 SelectableRecordListCtrl
89
90 * Thuban/UI/proj4dialog.py (Proj4Dialog.__init__):
91 (Proj4Dialog.dialogLayout): Make the window resizable and set the
92 size of the text control explicitly to make the sizers work on
93 both Windows and X.
94
95 2001-09-07 Bernhard Herzog <[email protected]>
96
97 * Thuban/UI/view.py (MapCanvas.find_shape_at):Add a new parameter
98 that can limit the search to the currently selected layer.
99 (MapCanvas.SelectShapeAt): Make sure that the currently selected
100 layer stays selected even when no shape is found
101 (MapCanvas.FitRectToWindow): If the rect has zero with or zero
102 height do nothing (avoids zero division errors)
103
104 2001-09-06 Bernhard Herzog <[email protected]>
105
106 * Thuban/UI/tree.py (SessionTreeCtrl, SessionTreeView.__init__):
107 Correct the spelling of SessionTreeCtrl. dabbrev is too damn
108 convenient :-)
109 (SessionTreeCtrl.__init__, SessionTreeCtrl.update_tree): Introduce
110 a new instvar layer_to_item to map layers to tree items
111 (SessionTreeCtrl.layer_selected): Select the appropriate tree item
112 to match the current selection in the interactor
113
114 * Thuban/UI/interactor.py (Interactor.SelectedLayer):
115 (Interactor.HasSelectedLayer): New methods to query the current
116 selection
117
118 * Thuban/UI/mainwindow.py (MainWindow.current_layer):
119 (MainWindow.has_selected_layer): Simply call the appropriate
120 interactor method
121
122 * Thuban/UI/mainwindow.py (MainWindow.__init__):
123 (MainWindow.LayerShowTable):
124 (MainWindow.identify_view_on_demand): Store the interactor in an
125 instvar and use that reference instead of going through main.app
126
127 * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
128 * Thuban/UI/application.py (ThubanApplication.OnInit):
129 * Thuban/UI/main.py (main): Create the session tree view in main
130 with the new mainwindow method ShowSessionTree and not directly
131 the application's OnInit method
132
133 * Thuban/UI/tree.py (myTreeCtrlPanel):
134 (SessioinTreeCtrl): Rename to SessioinTreeCtrl and turn it into a
135 TreeCtrl isntead of a panel. This affects most method since we now
136 refer to self instead of self.tree
137 (SessionTreeView): New class implementing a non-modal dialog
138 showing the session tree.
139
140 * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Pass the
141 layer to the tableview dialog.
142
143 * Thuban/UI/tableview.py: Add some doc-strings
144 (TableGrid):
145 (TableGrid.OnRangeSelect):
146 (TableGrid.OnSelectCell):
147 (TableFrame.__init__):
148 (TableFrame.row_selected):
149 Selecting rows in the grid view now updates the selected shapes
150 through the TableFrame. To achieve this we derive TableGrid from
151 Publisher and introduce the message type ROW_SELECTED which the
152 TableFrame subscribes to and which is issued by OnRangeSelect and
153 OnSelectCell
154
155 (DataTable.SelectRow): Removed because it's no longer needed in
156 the row/shape selection scheme
157
158 * Thuban/UI/dialogs.py: New file implementing common classes for
159 dialogs
160
161 * Thuban/UI/tableview.py (TableGrid.__init__): Don't subscribe to
162 the SELECTED_SHAPE message anymore. This is now handled by the
163 parent.
164 (TableGrid.select_shape): Only update the selection if the shape
165 is not None.
166 (TableFrame): Inherit from the new NonModalDialog class.
167 (TableFrame.__init__, TableFrame.select_shape): Handle the
168 SELECT_SHAPE message.
169 (TableFrame.OnClose): Extend the inherited method to unsubscribe
170 SELECT_SHAPE
171
172 * Thuban/UI/mainwindow.py (MainWindow.init_dialogs):
173 (MainWindow.add_dialog):
174 (MainWindow.dialog_open):
175 (MainWindow.remove_dialog):
176 (MainWindow.get_open_dialog): New methods to maintain a dictionary
177 of opened non-modal dialogs.
178
179 (MainWindow.__init__): Initialize the new non-modal dictionary
180 management code
181 (MainWindow.LayerShowTable): maintain separate dialogs for each
182 table using the non-modal dialog management code to only open a
183 view once for each table.
184
185 (MainWindow.IdentifyTool):
186 (MainWindow.__init__):
187 (MainWindow.identify_view_on_demand): Don't open the identify view
188 in IdentifyTool anymore. This will be done automatically by the
189 new method identify_view_on_demand which handles the
190 SELECTED_SHAPE message so that the identify view will be opened on
191 demand
192
193 * Thuban/UI/identifyview.py (IdentifyListCtrl.__init__): Remove
194 the interactor argument. The SELECTED_SHAPE message is now handled
195 by the parent.
196 (IdentifyView.__init__): Add the interactor argument so that we
197 can handle the SELECTED_SHAPE message here
198 (IdentifyView.selected_shape): New method to handle the
199 SELECTED_SHAPE messages
200
201 * Thuban/UI/identifyview.py (IdentifyView): Derive from the new
202 NonModalDialog class
203 (IdentifyView.OnClose): Extend the inherited version to
204 unsubscribe SELECT_SHAPE
205
206 * Thuban/Model/session.py (Session.UnsetModified): Remove debug prints
207
208 2001-09-05 Bernhard Herzog <[email protected]>
209
210 * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.
211
212 * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument
213 interactor to pass through to the MapCanvas
214
215 * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new
216 argument to the MainWindow constructor to get rid of the ugly hack
217 that made main.app available early just so that the mapcanvas
218 could access the interactor object.
219
220 2001-09-04 Bernhard Herzog <[email protected]>
221
222 * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): New method
223 that runs a modal message box
224 (MainWindow.OnClose): Use the new method
225 (MainWindow.RemoveLayer): Just do nothing in case no layer is
226 selected. The command should be grayed out anyway, so there's no
227 need to pop up a message box.
228 (MainWindow.AddLayer): Pop up a message box with an error message
229 if the shape file can't be opened
230
231 * Thuban/Model/layer.py (Layer.__init__): Open the shapefile
232 immediately. This will cause an exception in case the file can't
233 be opened and we can display an appropriate message.
234
235 * MANIFEST.in: Add extensions/pyprojection/LICENSE
236
237 * setup.py (thuban_bdist_rpm): New class implementing a Thuban
238 specific bdist_rpm command.
239
240 * Thuban/UI/main.py: Catch ImportError exceptions when importing
241 the locale module because it may not be available on some
242 installations.
243
244 * extensions/pyprojection/LICENSE: Copy of the license text in
245 Projection.i. Having it in a separate file makes it easier to
246 refer to license text in e.g. RPMs
247
248 2001-09-03 Bernhard Herzog <[email protected]>
249
250 * setup.py: use wx-config instead of wxgtk-config because it's
251 more generic
252
253 * setup.py (ThubanInstall.get_outputs): Add the symlink in
254 <prefix>/bin to the outputs
255 (ThubanInstall.link_file): New method to link files. We need this
256 because the standard copy_files refuses to link non-existing
257 files.
258 (ThubanInstall.run): Remove the leading install root from the
259 script filename if an install root was specified and use the new
260 link_file method
261
262 * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to
263 the window when the first layer is added to the map.
264
265 * setup.py (ThubanInstall.run): Honor the build root (self.root)
266 when linking thuban.py to <prefix>/bin
267
268 2001-08-31 Bernhard Herzog <[email protected]>
269
270 * setup.py: In the setup call, the install parameters shouldn't
271 have trailing slashes because distutils on non-posix platforms
272 doesn't like that. The same applies to other directories like
273 "Resources/Bitmaps"
274
275 In the configuration section for nt, move the wxWindows directory
276 optins into the part clearly marked as editable.
277
278 (InstallLocal.initialize_options):
279 (InstallLocal.user_options): remove the currently unused debug
280 flag
281 (thuban_build_py.find_all_modules): Add this method so that it
282 works for our case of having packages and modules in one
283 distribution as well.
284 (ThubanInstall.initialize_options):
285 (ThubanInstall.finalize_options):
286 (ThubanInstall.user_options):
287 (ThubanInstall.boolean_options): Add new options, do-symlink and
288 extra files. Since these are the first ThubanInstall specific
289 options, override user_options and boolean_options
290 (ThubanInstall.run): Honor the new do-symlink and extra-files
291 options.
292 (ThubanInstall.get_outputs): Add to override the base-class's
293 version and add the extra-files to the outputs
294 (bdist_inno): New class for windows distributions with Inno Setup
295 (InnoIconItem): Helper class for bdist_inno
296 (thuban_bdist_inno): Thuban specific version of bdist_inno. Added
297 this together with the appropriate parameters, to the setup call.
298
299 * setup.cfg (bdist_inno): added new section for the inno setup
300 installer
301
302 * Thuban/UI/tree.py (myTreeCtrlPanel.__init__): New inst var
303 changing_selection to avoid recursive selection events when
304 modifying the selection in response to a selection event.
305 (myTreeCtrlPanel.normalize_selection): Set the new inst var when
306 changing the tree's selection.
307 (myTreeCtrlPanel.OnSelChanged): Only normalize the selection when
308 we're not being called indirectly from normalize_selection.
309
310 * Thuban/UI/mainwindow.py (MainWindow.update_command_ui): Call
311 event.Check only if the command is actuall checkable.
312 (MainWindow.__init__): Call the toolbar's Realize method to make
313 sure that the items are actually shown
314
315 2001-08-28 Bernhard Herzog <[email protected]>
316
317 * setup.py: Fix some doc strings
318
319 * ChangeLog: started
320

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26