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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 100 - (hide annotations)
Thu Apr 11 10:45:32 2002 UTC (22 years, 10 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 bh 100 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 bh 89 2002-04-04 Bernhard Herzog <[email protected]>
19    
20 bh 91 * setup.py (thuban_bdist_rpm.initialize_options): Use
21     initialize_options to create the scripts for the rpm.
22    
23 bh 89 * extensions/pyprojection/setup.py (PROJ4_PREFIX): Just use /
24    
25 bh 85 2002-04-03 Bernhard Herzog <[email protected]>
26    
27 bh 87 * setup.py: Increment version to 0.1.1
28    
29 bh 85 * 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 bh 83 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 bh 81 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 bh 72 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 bh 71 2002-01-14 Bernhard Herzog <[email protected]>
76    
77     * setup.py (data_dist.make_distribution): Fix some typos
78    
79 bh 70 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 bh 64 2001-09-14 Bernhard Herzog <[email protected]>
91    
92 bh 70 * 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 bh 64 * 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 bh 59 2001-09-13 Bernhard Herzog <[email protected]>
108    
109 bh 64 * Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
110     deselect the layer if no layer is selected
111    
112 bh 59 * 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 bh 64 (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 bh 59
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 bh 55 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 bh 48 2001-09-10 Bernhard Herzog <[email protected]>
151    
152 bh 53 * 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 bh 48 * 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 bh 44 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 bh 46 (MapCanvas.FitRectToWindow): If the rect has zero with or zero
180     height do nothing (avoids zero division errors)
181 bh 44
182 bh 32 2001-09-06 Bernhard Herzog <[email protected]>
183    
184 bh 42 * 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 bh 40 * 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 bh 35 * 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 bh 32 * 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 bh 26 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 bh 19 2001-09-04 Bernhard Herzog <[email protected]>
299    
300 bh 22 * 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 bh 19 * 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 bh 18 2001-09-03 Bernhard Herzog <[email protected]>
327    
328 bh 19 * 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 bh 18 * 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 bh 16 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 bh 7 2001-08-28 Bernhard Herzog <[email protected]>
394    
395 bh 9 * setup.py: Fix some doc strings
396    
397 bh 7 * 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