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

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

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26