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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 192 - (hide annotations)
Tue May 28 16:09:04 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 24462 byte(s)
update ChangeLog

1 bh 190 2002-05-28 Bernhard Herzog <[email protected]>
2    
3     * Thuban/UI/menu.py: New module to build and manage menus.
4    
5     * Thuban/UI/mainwindow.py: Remove some unused imports.
6     (MainWindow.__init__, main_menu): move the definition of the main
7     menu from __init__ to the Menu instance main_menu.
8     (MainWindow.build_menu_bar, MainWindow.build_menu): New methods to
9     build the menu bar and sub-menus from a menu description.
10    
11     * Thuban/UI/application.py (ThubanApplication.OnInit): Read the
12     startup file
13     (ThubanApplication.read_startup_files): New method to run
14     ~/.thuban/thubanstart.py
15    
16 bh 192 * Thuban/UI/mainwindow.py (MainWindow.__init__, main_toolbar):
17     Move the toolbar definition to the Menu instance main_toolbar.
18     (MainWindow.build_toolbar): New method to build the toolbar
19     similar to the build_menu methods
20    
21 bh 184 2002-05-23 Bernhard Herzog <[email protected]>
22    
23 bh 186 * Thuban/UI/mainwindow.py (MainWindow.__init__): Fix spelling of
24     layer_outline_color. Fix it in the definition of the command too.
25    
26 bh 184 * Thuban/UI/command.py (Command): Fix typo in doc string
27    
28 bh 182 2002-05-22 Bernhard Herzog <[email protected]>
29    
30     * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Fix a typo
31     in the docstring
32    
33 bh 175 2002-05-15 Bernhard Herzog <[email protected]>
34    
35 bh 180 * Thuban/Model/layer.py (Layer.open_shapefile): Set bbox to None
36     when the shapefile is empty.
37     (Layer.BoundingBox, Layer.LatLongBoundingBox): Both methods may
38     now return None for empty shapefiles. Update doc-strings.
39    
40     * Thuban/Model/map.py (Map.BoundingBox): Add doc-string. Deal with
41     the layer's bbox being None.
42    
43     * Thuban/UI/tree.py (SessionTreeCtrl.update_tree): Deal with the
44     layer's bbox being None.
45    
46 bh 175 * Thuban/UI/view.py (MapCanvas.shape_selected): Only redraw when
47     necessary.
48     (MapCanvas.__init__): New instance variables, last_selected_layer
49     and last_selected_shape to determine how the selection has
50     changed.
51    
52     * Thuban/UI/tableview.py (TableGrid.__init__): Do not call
53     AutoSizeColumns because it will cause a traversal of the entire
54     table which for large .dbf files will take a very long time.
55    
56 bh 172 2002-05-14 Bernhard Herzog <[email protected]>
57    
58     * Thuban/Model/layer.py (Layer.open_shapefile): Choose a better
59     maximum depth for the tree than shapelib does by default.
60    
61 bh 165 2002-05-10 Bernhard Herzog <[email protected]>
62    
63     * setup.py (py_modules): The shptree modules doesn't have a
64     wrapper, so don't include it in the py_modules
65    
66 bh 163 2002-05-08 Bernhard Herzog <[email protected]>
67    
68     * extensions/shapelib/shptree.c (compare_ints): Make arguments
69     const void * as in the qsort prototype
70     (SHPTreeFindLikelyShapes): Remove some unused variables.
71    
72     * Thuban/UI/view.py (PanTool.MouseMove): Use the bitmap the view
73     maintains to redraw the window during a drag.
74     (MapCanvas.unprojected_rect_around_point): New method to determine
75     a small region around a point for hit-testing.
76     (MapCanvas.find_shape_at): Only test the shapes in a small region
77     around the point.
78    
79     * setup.py: Increment the version to 0.1.2
80    
81     * Thuban/UI/tree.py (SessionTreeCtrl.unsubscribe_all): Remove a
82     debug print and set session to None after unsubscribing
83    
84 bh 146 2002-05-07 Bernhard Herzog <[email protected]>
85    
86 bh 154 * Data/iceland_sample.session, Data/iceland_sample.thuban: Rename
87     the file to have a .thuban extension.
88    
89 bh 152 * Thuban/UI/tree.py (session_channels): New class constant with
90     all the session channels to subscribe to to update the tree
91     (SessionTreeCtrl.session_changed): Remember the session so that we
92     can unsubscribe properly. Use the new class constant to
93     unsubscribe from the old session and subscribe to the new one.
94     (SessionTreeCtrl.unsubscribe_all): New method to unsubscribe all
95     subscriptions of the SessionTreeCtrl.
96     (SessionTreeView.OnClose): Call the tree's unsubscribe_all method.
97    
98     * Thuban/UI/mainwindow.py (MainWindow.__init__): Add the "Show
99     Session Tree" command to the file menu.
100    
101     * Thuban/UI/view.py (MapCanvas.do_redraw): Pass the entire bitmap
102     as update_region to the renderer.
103    
104     * Thuban/UI/renderer.py
105     (ScreenRenderer.layer_ids, ScreenRenderer.draw_shape_layer): The
106     update box is now directly a tuple, not a wxRect anymore.
107    
108     * Thuban/Model/layer.py (Layer.ShapesInRegion): Remove some debug
109     prints.
110    
111     2002-05-07 Bernhard Herzog <[email protected]>
112    
113 bh 146 * setup.py: Add the shptree extension module. See
114     extensions/pyshapelib/ChangeLog for more details.
115    
116     * extensions/shapelib/shpopen.c, extensions/shapelib/shapefil.h,
117     extensions/shapelib/dbfopen.c: Really update to the versions of
118     shapelib 1.2.9. For some reason it wasn't really done on
119     2002-04-11.
120    
121     * extensions/shapelib/shptree.c: Modified version of shptree.c of
122     shapelib 1.2.9. The only real difference is the use of qsort
123     instead of a bubble sort implementation
124    
125     * Thuban/Model/layer.py (Layer.__init__): New instance variable
126     shapetree to hold the shapelib quadtree for the shapefile
127     (Layer.open_shapefile): Create the quad tree.
128     (Layer.ShapesInRegion): New method to return the ids of shapes in
129     a given region using the quad tree.
130    
131     * extensions/thuban/wxproj.cpp (project_points): Fix some typos in
132     comment
133     (draw_polygon_shape): Accept both arcs and polygons.
134     (initwxproj): Use the new PYSHAPELIB_IMPORT_API macro to import
135     the api.
136    
137     * Thuban/UI/renderer.py (MapRenderer.layer_ids): New method to
138     return the shape ids to be rendered in a given layer.
139     (MapRenderer.draw_shape_layer): Call layer_ids to get the list of
140     ids. Use draw_polygon_shape to draw arc shapes as well.
141     (ScreenRenderer.RenderMap): New parameter for the rectangle that
142     has to be updated
143     (ScreenRenderer.layer_ids): Make use of the layer's quadtree by
144     calling it's ShapesInRegion method.
145    
146     * Thuban/UI/view.py (MapCanvas.__init__): New instance variable
147     update_region for the update region.
148     (MapCanvas.OnPaint): Maintain the update region
149     (MapCanvas.do_redraw): Pass the bounding box of the update_region
150     to the renderer when drawing the bitmap. Reset the update_region.
151    
152 bh 129 2002-05-03 Bernhard Herzog <[email protected]>
153    
154 bh 131 * Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs,
155     MainWindow.OpenSession): Change the file extension of the session
156     files to .thuban
157    
158 bh 129 * Thuban/Model/session.py (Session.AddMap, forwarded_channels):
159     Move the map channels to be forwarded by the session into the
160 bh 146 class constant with forwarded_channels. Also add
161     LAYER_PROJECTION_CHANGED and LAYER_VISIBILITY_CHANGED to
162     forwarded_channels
163 bh 129
164     * Thuban/Model/base.py (Modifiable.changed): Fix doc-string (a
165     typo and some rewording).
166    
167 bh 126 2002-05-02 Bernhard Herzog <[email protected]>
168    
169     * Thuban/UI/view.py: Keep the temporary bitmap used during drawing
170     around to speed up most redraws:
171     (MapCanvas.__init__): New instance variable bitmap which holds the
172     bitmap
173     (MapCanvas.do_redraw): Redraw self.bitmap if necessary. Use
174     self.bitmap to draw.
175     (MapCanvas.full_redraw): New method to force a full redraw
176     including the bitmap
177     (MapCanvas.SetMap): Subscribe full_redraw instead of redraw to
178     make sure the bitmap is redrawn.
179     (MapCanvas.projection_changed, MapCanvas.set_view_transform,
180     MapCanvas.shape_selected): Call full_redraw instead of readraw to
181     make sure the bitmap is redrawn.
182     (MapCanvas.OnSize): New method to handle size events so that the
183     bitmap can be redrawn.
184    
185 bh 124 2002-04-29 Bernhard Herzog <[email protected]>
186    
187     * Thuban/UI/mainwindow.py (MainWindow.__init__): Subscribe to the
188     canvas' VIEW_POSITION event
189     (MainWindow.view_position_changed): Handler for VIEW_POSITION.
190     Update the text in the status-bar accordingly.
191    
192     * Thuban/UI/view.py (MapCanvas): Derive from Publisher as well
193     (MapCanvas.__del__): Implement because Publisher.__del__ has to be
194     called.
195     (MapCanvas.__init__): Bind EVT_LEAVE_WINDOW too. Initialize
196     current_position
197     (MapCanvas.set_current_position): New method to set
198     current_position. Issue a VIEW_POSITION event
199     (MapCanvas.CurrentPosition): New public method to return the value
200     of current_position. Should be called when the VIEW_POSITION event
201     is processed.
202     (MapCanvas.OnLeftDown, MapCanvas.OnLeftUp, MapCanvas.OnMotion):
203     Update the position.
204     (MapCanvas.OnLeaveWindow): Set the position to None.
205    
206     * Thuban/UI/messages.py (VIEW_POSITION): New message for the
207     position in the statusbar
208    
209 frank 120 2002-04-26 Frank Koormann <[email protected]>
210    
211     * Thuban/UI/mainwindow.py: AddLayer, Dialog title s/session/data
212    
213     2002-04-24 Frank Koormann <[email protected]>
214 frank 118
215     * Resources/Bitmaps/identify.xpm: shadow added
216    
217     * Resources/Bitmaps/fullextent.xpm: new
218    
219 jan 116 2002-04-22 Jan-Oliver Wagner <[email protected]>
220    
221     * Thuban/UI/tree.py (update_tree): added test for None on map bounding box
222    
223 jan 114 2002-04-21 Jan-Oliver Wagner <[email protected]>
224    
225     * Thuban/UI/proj4dialog.py (UTMProposeZoneDialog): new
226    
227     * Thuban/UI/tree.py (update_tree): added added map extent
228    
229     * Thuban/UI/mainwindow.py (_method_command): extended by parameter
230     icon; added map_full_extend as tool
231    
232 jan 107 2002-04-19 Jan-Oliver Wagner <[email protected]>
233    
234     * Thuban/UI/mainwindow.py (SaveSession): launch save as dialog for
235     saving _new_ sessions
236    
237     * Thuban/Model/session.py (create_empty_session): new session
238     don't have a filename (set to None)
239    
240     * Thuban/UI/tree.py (update_tree): added filename and modified flag
241    
242     * Thuban/Model/load.py (ProcessSession): convert projection
243     parameters from unicode to regular string
244    
245     * Data/iceland_sample.session: Added UTM Zone 26 projection.
246    
247 bh 100 2002-04-11 Bernhard Herzog <[email protected]>
248    
249     * extensions/shapelib/shapefil.h, extensions/shapelib/shpopen.c,
250     extensions/shapelib/dbfopen.c: Update to the versions of shapelib
251     1.2.9
252    
253     * setup.py (Lib.wxproj extension): Don't link shpopen.c and put
254     the pyshapelib directoy into the list of include dirs, so that
255     pyshapelib_api.h can be found.
256    
257     * extensions/thuban/wxproj.cpp (pyshapelib_api): New variable that
258     holds the pyshapelib C-API
259     (draw_polygon_shape, point_in_polygon_shape, shape_centroid): Use
260     pyshapelib_api to access the shapelib functions.
261     (initwxproj): Import the c_api from the shapelib module and
262     initialize pyshapelib_api.
263    
264 bh 89 2002-04-04 Bernhard Herzog <[email protected]>
265    
266 bh 91 * setup.py (thuban_bdist_rpm.initialize_options): Use
267     initialize_options to create the scripts for the rpm.
268    
269 bh 89 * extensions/pyprojection/setup.py (PROJ4_PREFIX): Just use /
270    
271 bh 85 2002-04-03 Bernhard Herzog <[email protected]>
272    
273 bh 87 * setup.py: Increment version to 0.1.1
274    
275 bh 85 * Thuban/UI/mainwindow.py (MainWindow.__init__): Move the "Add
276     Layer" and "Remove Layer" commands from the layer menu to the map
277     menu
278    
279 bh 83 2002-02-15 Bernhard Herzog <[email protected]>
280    
281     * Thuban/Model/layer.py (Layer.Shape): list append only takes one
282     argument (python <= 1.5.2 erroneously accepted multiuple
283     arguments)
284    
285 bh 81 2002-02-04 Bernhard Herzog <[email protected]>
286    
287     * Thuban/UI/identifyview.py (IdentifyGridCtrl): New class to use a
288     RecordGrid in the identifyview.
289     (IdentifyView.__init__): Use IdentifyGridCtrl instead of
290     IdentifyListCtrl. The grid allows editing of the values.
291    
292     * Thuban/UI/controls.py (RecordTable, RecordGridCtrl): New classes
293     implementing a grid for a single row of a thuban table.
294    
295     * Thuban/UI/view.py (MapCanvas.SelectShapeAt): Search through all
296     layers by default. Easier to use than the previous default of only
297     searching through the select layer which meant that if no layer
298     was selected, you couldn't select a shape.
299    
300     * Thuban/UI/tableview.py (TableGrid.__init__): Fix typo
301    
302     * Thuban/UI/renderer.py (MapRenderer.draw_shape_layer): Honour the
303     stroke_width attribute
304    
305     * Thuban/Model/save.py (save_session): Write the new stroke_width
306     attribute
307    
308     * Thuban/Model/load.py (ProcessSession.startElement): Read the
309     stroke_width attribute
310    
311     * Thuban/Model/layer.py (Layer.__init__): New parameter and
312     instance variable stroke_width
313     (Layer.SetStrokeWidth): Set the stroke_width.
314    
315 bh 72 2002-02-01 Bernhard Herzog <[email protected]>
316    
317     * extensions/thuban/wxproj.cpp (project_points): Fix two
318     off-by-one errors in the last loop that joins the various parts
319     together.
320    
321 bh 71 2002-01-14 Bernhard Herzog <[email protected]>
322    
323     * setup.py (data_dist.make_distribution): Fix some typos
324    
325 bh 70 2001-09-18 Bernhard Herzog <[email protected]>
326    
327     * README: Slight tweaking in preparation for the 0.1 release
328    
329     * setup.cfg: Add section for sdist to create both tgz and zip
330     archives
331    
332     * setup.py: increase version number to 0.1
333     (data_dist): New command class for data distribution
334    
335    
336 bh 64 2001-09-14 Bernhard Herzog <[email protected]>
337    
338 bh 70 * Thuban/UI/identifyview.py (IdentifyListCtrl.selected_shape):
339     Handle the case of no layer (i.e. layer is None) properly.
340    
341     * Thuban/UI/proj4dialog.py (UTMDialog.__init__, Proj4Dialog.__init__):
342     Set the initial selection of the combo boxes to reflect the
343     projection we're starting with in a way that works on windows,
344     too.
345    
346 bh 64 * Thuban/Lib/connector.py (Connector.print_connections): Print the
347     puiblisher's ids in hex to make it easier to compare them to the
348     standard repr of python methods
349    
350     * Thuban/Model/map.py (Map.Destroy): Unsubscribe the label_layer
351     messages
352    
353 bh 59 2001-09-13 Bernhard Herzog <[email protected]>
354    
355 bh 64 * Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
356     deselect the layer if no layer is selected
357    
358 bh 59 * Thuban/UI/view.py (MapCanvas.OnPaint): Only delay drawing to
359     idle time when there actually is something to draw. If there's
360     nothing to draw simply clear the window
361     (MapCanvas.do_redraw): Call dc.EndDrawing and add some comments.
362     (MapCanvas.SetMap): force a redraw in all cases because
363     FitMapToWindow doesn't always do it.
364     (MapCanvas.ZoomFactor): Add an optional parameter, center, to
365     specify the point to move into the center of the window
366     (ZoomOutTool.MouseUp, ZoomInTool.MouseUp): If the mouse wasn't
367     dragged, zoon in/out by a factor of 2
368 bh 64 (MapCanvas.find_shape_at): Iterate backwards (i.e. with decreasing
369     index, i.e. reversed drawing order) so that objects appearing to
370     be in from of others are selected first. This is probably mostly
371     relevant for point shapes where the symbols used may overlap
372 bh 59
373     * Thuban/Model/session.py (create_empty_session): Unset the
374     modified bit before returning it
375    
376     * Thuban/UI/mainwindow.py (MainWindow.NewSession): Use
377     create_empty_session session to create the new, empty session.
378    
379     * Thuban/UI/mainwindow.py (MainWindow.__init__): Set the size of
380     the tool bitmaps.
381     (MainWindow.OnClose, MainWindow.save_modified_session): Separate
382     the code that asks whether the session should be saved into the
383     new method save_modified_session.
384     (MainWindow.OpenSession, MainWindow.NewSession): Use the new
385     method to save modified session here too.
386    
387 bh 55 2001-09-11 Bernhard Herzog <[email protected]>
388    
389     * setup.py (InnoIconItem): fix typo
390    
391     (thuban_bdist_inno.run):
392     (bdist_inno.run): Move the decision not to create symlinks on
393     non-nt platforms to thuban_bdist_inno and do it unconditinally
394     since we never want to create the symlinks here
395    
396 bh 48 2001-09-10 Bernhard Herzog <[email protected]>
397    
398 bh 53 * Thuban/UI/mainwindow.py (MainWindow.IdentifyTool): Popup the
399     identify view immediately
400    
401     * Thuban/UI/controls.py: New file with two classes RecordListCtrl
402     and SelectableRecordListCtrl that implement the code shared by the
403     identify view and the label dialog
404    
405     * Thuban/UI/identifyview.py (IdentifyListCtrl): Derive from the
406     new class RecordListCtrl
407    
408     * Thuban/UI/labeldialog.py (LabelDialog.OnOK): Check whether the
409     return value of GetValue is None instead of using it as a boolean
410     directly so that Zero numbers are handled properly.
411     (LabelListCtrl): Derive from the new class
412     SelectableRecordListCtrl
413    
414 bh 48 * Thuban/UI/proj4dialog.py (Proj4Dialog.__init__):
415     (Proj4Dialog.dialogLayout): Make the window resizable and set the
416     size of the text control explicitly to make the sizers work on
417     both Windows and X.
418    
419 bh 44 2001-09-07 Bernhard Herzog <[email protected]>
420    
421     * Thuban/UI/view.py (MapCanvas.find_shape_at):Add a new parameter
422     that can limit the search to the currently selected layer.
423     (MapCanvas.SelectShapeAt): Make sure that the currently selected
424     layer stays selected even when no shape is found
425 bh 46 (MapCanvas.FitRectToWindow): If the rect has zero with or zero
426     height do nothing (avoids zero division errors)
427 bh 44
428 bh 32 2001-09-06 Bernhard Herzog <[email protected]>
429    
430 bh 42 * Thuban/UI/tree.py (SessionTreeCtrl, SessionTreeView.__init__):
431     Correct the spelling of SessionTreeCtrl. dabbrev is too damn
432     convenient :-)
433     (SessionTreeCtrl.__init__, SessionTreeCtrl.update_tree): Introduce
434     a new instvar layer_to_item to map layers to tree items
435     (SessionTreeCtrl.layer_selected): Select the appropriate tree item
436     to match the current selection in the interactor
437    
438 bh 40 * Thuban/UI/interactor.py (Interactor.SelectedLayer):
439     (Interactor.HasSelectedLayer): New methods to query the current
440     selection
441    
442     * Thuban/UI/mainwindow.py (MainWindow.current_layer):
443     (MainWindow.has_selected_layer): Simply call the appropriate
444     interactor method
445    
446     * Thuban/UI/mainwindow.py (MainWindow.__init__):
447     (MainWindow.LayerShowTable):
448     (MainWindow.identify_view_on_demand): Store the interactor in an
449     instvar and use that reference instead of going through main.app
450    
451     * Thuban/UI/mainwindow.py (MainWindow.ShowSessionTree):
452     * Thuban/UI/application.py (ThubanApplication.OnInit):
453     * Thuban/UI/main.py (main): Create the session tree view in main
454     with the new mainwindow method ShowSessionTree and not directly
455     the application's OnInit method
456    
457     * Thuban/UI/tree.py (myTreeCtrlPanel):
458     (SessioinTreeCtrl): Rename to SessioinTreeCtrl and turn it into a
459     TreeCtrl isntead of a panel. This affects most method since we now
460     refer to self instead of self.tree
461     (SessionTreeView): New class implementing a non-modal dialog
462     showing the session tree.
463    
464 bh 35 * Thuban/UI/mainwindow.py (MainWindow.LayerShowTable): Pass the
465     layer to the tableview dialog.
466    
467     * Thuban/UI/tableview.py: Add some doc-strings
468     (TableGrid):
469     (TableGrid.OnRangeSelect):
470     (TableGrid.OnSelectCell):
471     (TableFrame.__init__):
472     (TableFrame.row_selected):
473     Selecting rows in the grid view now updates the selected shapes
474     through the TableFrame. To achieve this we derive TableGrid from
475     Publisher and introduce the message type ROW_SELECTED which the
476     TableFrame subscribes to and which is issued by OnRangeSelect and
477     OnSelectCell
478    
479     (DataTable.SelectRow): Removed because it's no longer needed in
480     the row/shape selection scheme
481    
482 bh 32 * Thuban/UI/dialogs.py: New file implementing common classes for
483     dialogs
484    
485     * Thuban/UI/tableview.py (TableGrid.__init__): Don't subscribe to
486     the SELECTED_SHAPE message anymore. This is now handled by the
487     parent.
488     (TableGrid.select_shape): Only update the selection if the shape
489     is not None.
490     (TableFrame): Inherit from the new NonModalDialog class.
491     (TableFrame.__init__, TableFrame.select_shape): Handle the
492     SELECT_SHAPE message.
493     (TableFrame.OnClose): Extend the inherited method to unsubscribe
494     SELECT_SHAPE
495    
496     * Thuban/UI/mainwindow.py (MainWindow.init_dialogs):
497     (MainWindow.add_dialog):
498     (MainWindow.dialog_open):
499     (MainWindow.remove_dialog):
500     (MainWindow.get_open_dialog): New methods to maintain a dictionary
501     of opened non-modal dialogs.
502    
503     (MainWindow.__init__): Initialize the new non-modal dictionary
504     management code
505     (MainWindow.LayerShowTable): maintain separate dialogs for each
506     table using the non-modal dialog management code to only open a
507     view once for each table.
508    
509     (MainWindow.IdentifyTool):
510     (MainWindow.__init__):
511     (MainWindow.identify_view_on_demand): Don't open the identify view
512     in IdentifyTool anymore. This will be done automatically by the
513     new method identify_view_on_demand which handles the
514     SELECTED_SHAPE message so that the identify view will be opened on
515     demand
516    
517     * Thuban/UI/identifyview.py (IdentifyListCtrl.__init__): Remove
518     the interactor argument. The SELECTED_SHAPE message is now handled
519     by the parent.
520     (IdentifyView.__init__): Add the interactor argument so that we
521     can handle the SELECTED_SHAPE message here
522     (IdentifyView.selected_shape): New method to handle the
523     SELECTED_SHAPE messages
524    
525     * Thuban/UI/identifyview.py (IdentifyView): Derive from the new
526     NonModalDialog class
527     (IdentifyView.OnClose): Extend the inherited version to
528     unsubscribe SELECT_SHAPE
529    
530     * Thuban/Model/session.py (Session.UnsetModified): Remove debug prints
531    
532 bh 26 2001-09-05 Bernhard Herzog <[email protected]>
533    
534     * Thuban/UI/view.py (MapCanvas.__init__): New argument, interactor.
535    
536     * Thuban/UI/mainwindow.py (MainWindow.__init__): New argument
537     interactor to pass through to the MapCanvas
538    
539     * Thuban/UI/application.py (ThubanApplication.OnInit): Use the new
540     argument to the MainWindow constructor to get rid of the ugly hack
541     that made main.app available early just so that the mapcanvas
542     could access the interactor object.
543    
544 bh 19 2001-09-04 Bernhard Herzog <[email protected]>
545    
546 bh 22 * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): New method
547     that runs a modal message box
548     (MainWindow.OnClose): Use the new method
549     (MainWindow.RemoveLayer): Just do nothing in case no layer is
550     selected. The command should be grayed out anyway, so there's no
551     need to pop up a message box.
552     (MainWindow.AddLayer): Pop up a message box with an error message
553     if the shape file can't be opened
554    
555     * Thuban/Model/layer.py (Layer.__init__): Open the shapefile
556     immediately. This will cause an exception in case the file can't
557     be opened and we can display an appropriate message.
558    
559 bh 19 * MANIFEST.in: Add extensions/pyprojection/LICENSE
560    
561     * setup.py (thuban_bdist_rpm): New class implementing a Thuban
562     specific bdist_rpm command.
563    
564     * Thuban/UI/main.py: Catch ImportError exceptions when importing
565     the locale module because it may not be available on some
566     installations.
567    
568     * extensions/pyprojection/LICENSE: Copy of the license text in
569     Projection.i. Having it in a separate file makes it easier to
570     refer to license text in e.g. RPMs
571    
572 bh 18 2001-09-03 Bernhard Herzog <[email protected]>
573    
574 bh 19 * setup.py: use wx-config instead of wxgtk-config because it's
575     more generic
576    
577     * setup.py (ThubanInstall.get_outputs): Add the symlink in
578     <prefix>/bin to the outputs
579     (ThubanInstall.link_file): New method to link files. We need this
580     because the standard copy_files refuses to link non-existing
581     files.
582     (ThubanInstall.run): Remove the leading install root from the
583     script filename if an install root was specified and use the new
584     link_file method
585    
586 bh 18 * Thuban/UI/mainwindow.py (MainWindow.AddLayer): Fit the map to
587     the window when the first layer is added to the map.
588    
589     * setup.py (ThubanInstall.run): Honor the build root (self.root)
590     when linking thuban.py to <prefix>/bin
591    
592 bh 16 2001-08-31 Bernhard Herzog <[email protected]>
593    
594     * setup.py: In the setup call, the install parameters shouldn't
595     have trailing slashes because distutils on non-posix platforms
596     doesn't like that. The same applies to other directories like
597     "Resources/Bitmaps"
598    
599     In the configuration section for nt, move the wxWindows directory
600     optins into the part clearly marked as editable.
601    
602     (InstallLocal.initialize_options):
603     (InstallLocal.user_options): remove the currently unused debug
604     flag
605     (thuban_build_py.find_all_modules): Add this method so that it
606     works for our case of having packages and modules in one
607     distribution as well.
608     (ThubanInstall.initialize_options):
609     (ThubanInstall.finalize_options):
610     (ThubanInstall.user_options):
611     (ThubanInstall.boolean_options): Add new options, do-symlink and
612     extra files. Since these are the first ThubanInstall specific
613     options, override user_options and boolean_options
614     (ThubanInstall.run): Honor the new do-symlink and extra-files
615     options.
616     (ThubanInstall.get_outputs): Add to override the base-class's
617     version and add the extra-files to the outputs
618     (bdist_inno): New class for windows distributions with Inno Setup
619     (InnoIconItem): Helper class for bdist_inno
620     (thuban_bdist_inno): Thuban specific version of bdist_inno. Added
621     this together with the appropriate parameters, to the setup call.
622    
623     * setup.cfg (bdist_inno): added new section for the inno setup
624     installer
625    
626     * Thuban/UI/tree.py (myTreeCtrlPanel.__init__): New inst var
627     changing_selection to avoid recursive selection events when
628     modifying the selection in response to a selection event.
629     (myTreeCtrlPanel.normalize_selection): Set the new inst var when
630     changing the tree's selection.
631     (myTreeCtrlPanel.OnSelChanged): Only normalize the selection when
632     we're not being called indirectly from normalize_selection.
633    
634     * Thuban/UI/mainwindow.py (MainWindow.update_command_ui): Call
635     event.Check only if the command is actuall checkable.
636     (MainWindow.__init__): Call the toolbar's Realize method to make
637     sure that the items are actually shown
638    
639 bh 7 2001-08-28 Bernhard Herzog <[email protected]>
640    
641 bh 9 * setup.py: Fix some doc strings
642    
643 bh 7 * ChangeLog: started
644    

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26