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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 190 - (show 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 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 2002-05-23 Bernhard Herzog <[email protected]>
17
18 * Thuban/UI/mainwindow.py (MainWindow.__init__): Fix spelling of
19 layer_outline_color. Fix it in the definition of the command too.
20
21 * Thuban/UI/command.py (Command): Fix typo in doc string
22
23 2002-05-22 Bernhard Herzog <[email protected]>
24
25 * Thuban/UI/mainwindow.py (MainWindow.RunMessageBox): Fix a typo
26 in the docstring
27
28 2002-05-15 Bernhard Herzog <[email protected]>
29
30 * 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 * 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 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 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 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 2002-05-07 Bernhard Herzog <[email protected]>
80
81 * Data/iceland_sample.session, Data/iceland_sample.thuban: Rename
82 the file to have a .thuban extension.
83
84 * 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 * 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 2002-05-03 Bernhard Herzog <[email protected]>
148
149 * Thuban/UI/mainwindow.py (MainWindow.SaveSessionAs,
150 MainWindow.OpenSession): Change the file extension of the session
151 files to .thuban
152
153 * Thuban/Model/session.py (Session.AddMap, forwarded_channels):
154 Move the map channels to be forwarded by the session into the
155 class constant with forwarded_channels. Also add
156 LAYER_PROJECTION_CHANGED and LAYER_VISIBILITY_CHANGED to
157 forwarded_channels
158
159 * Thuban/Model/base.py (Modifiable.changed): Fix doc-string (a
160 typo and some rewording).
161
162 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 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 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
210 * Resources/Bitmaps/identify.xpm: shadow added
211
212 * Resources/Bitmaps/fullextent.xpm: new
213
214 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 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 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 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 2002-04-04 Bernhard Herzog <[email protected]>
260
261 * setup.py (thuban_bdist_rpm.initialize_options): Use
262 initialize_options to create the scripts for the rpm.
263
264 * extensions/pyprojection/setup.py (PROJ4_PREFIX): Just use /
265
266 2002-04-03 Bernhard Herzog <[email protected]>
267
268 * setup.py: Increment version to 0.1.1
269
270 * 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 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 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 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 2002-01-14 Bernhard Herzog <[email protected]>
317
318 * setup.py (data_dist.make_distribution): Fix some typos
319
320 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 2001-09-14 Bernhard Herzog <[email protected]>
332
333 * 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 * 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 2001-09-13 Bernhard Herzog <[email protected]>
349
350 * Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
351 deselect the layer if no layer is selected
352
353 * 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 (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
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 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 2001-09-10 Bernhard Herzog <[email protected]>
392
393 * 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 * 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 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 (MapCanvas.FitRectToWindow): If the rect has zero with or zero
421 height do nothing (avoids zero division errors)
422
423 2001-09-06 Bernhard Herzog <[email protected]>
424
425 * 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 * 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 * 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 * 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 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 2001-09-04 Bernhard Herzog <[email protected]>
540
541 * 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 * 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 2001-09-03 Bernhard Herzog <[email protected]>
568
569 * 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 * 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 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 2001-08-28 Bernhard Herzog <[email protected]>
635
636 * setup.py: Fix some doc strings
637
638 * 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