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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 118 - (hide annotations)
Wed Apr 24 09:03:04 2002 UTC (22 years, 10 months ago) by frank
Original Path: trunk/thuban/ChangeLog
File size: 16220 byte(s)
Toolbar icon changes added.

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26