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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 213 - (hide annotations)
Wed Jul 10 14:06:20 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 28345 byte(s)
update ChangeLog

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26