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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 100 - (show annotations)
Thu Apr 11 10:45:32 2002 UTC (22 years, 11 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 15195 byte(s)
	* extensions/shapelib/shapefil.h, extensions/shapelib/shpopen.c,
	extensions/shapelib/dbfopen.c: Update to the versions of shapelib
	1.2.9

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26