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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 194 - (hide annotations)
Wed May 29 10:34:41 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 24966 byte(s)
update ChangeLog

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26