/[thuban]/branches/WIP-pyshapelib-bramz/ChangeLog
ViewVC logotype

Contents of /branches/WIP-pyshapelib-bramz/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 91 - (show annotations)
Thu Apr 4 14:55:35 2002 UTC (22 years, 11 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 14540 byte(s)
update ChangeLog

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26