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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 116 - (hide annotations)
Mon Apr 22 11:31:08 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/ChangeLog
File size: 16077 byte(s)
bug fix

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26