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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 163 - (show annotations)
Wed May 8 13:49:00 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/ChangeLog
File size: 22084 byte(s)
update ChangeLog

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26