/[thuban]/branches/WIP-pyshapelib-bramz/Thuban/UI/tree.py
ViewVC logotype

Log of /branches/WIP-pyshapelib-bramz/Thuban/UI/tree.py

Parent Directory Parent Directory | Revision Log Revision Log


Sticky Revision:
(Current path doesn't exist after revision 2835)

Revision 2734 - (view) (annotate) - [select for diffs]
Modified Thu Mar 1 12:42:59 2007 UTC (18 years ago) by bramz
File length: 8809 byte(s)
Diff to previous 2700
made a copy

Revision 2700 - (view) (annotate) - [select for diffs]
Modified Mon Sep 18 14:27:02 2006 UTC (18 years, 5 months ago) by dpinte
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8809 byte(s)
Diff to previous 1766
2006-09-18 Didrik Pinte <dpinte@itae.be>
    
        * wxPython 2.6 update : wx 2.4 syntax has been updated to 2.6



Revision 1766 - (view) (annotate) - [select for diffs]
Modified Wed Oct 1 09:52:28 2003 UTC (21 years, 5 months ago) by jan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8802 byte(s)
Diff to previous 1058
Remove the #! line as
it annoys lintian which warns about these files not being
executable. The #! isn't necessary here since if you absolutely
must execute them you can always say "python <filename>".


Revision 1058 - (view) (annotate) - [select for diffs]
Modified Tue May 27 11:30:29 2003 UTC (21 years, 9 months ago) by frank
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8821 byte(s)
Diff to previous 882
Dialog derived from NonModalNonParentDialog


Revision 882 - (view) (annotate) - [select for diffs]
Modified Fri May 9 16:34:28 2003 UTC (21 years, 10 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8785 byte(s)
Diff to previous 535
Explicit imports.


Revision 535 - (view) (annotate) - [select for diffs]
Modified Fri Mar 14 20:42:18 2003 UTC (21 years, 11 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8772 byte(s)
Diff to previous 521
Implement multiple selected shapes

* Thuban/UI/selection.py: New module with a class to represent the
selection.

* Thuban/UI/messages.py (SELECTED_TABLE, SELECTED_MAP): Remove
these unused messages

* Thuban/UI/application.py (ThubanApplication.OnInit)
(ThubanApplication.OnExit, ThubanApplication.SetSession): The
interactor is gone now.
(ThubanApplication.CreateMainWindow): There is no interactor
anymore so we pass None as the interactor argument for now for
compatibility.

* Thuban/UI/view.py (MapCanvas.delegated_messages)
(MapCanvas.Subscribe, MapCanvas.Unsubscribe): In Subscribe and
Unsubscribe, delegate messages according to the delegated_messages
class variable.
(MapCanvas.__getattr__, MapCanvas.delegated_methods): Get some
attributes from instance variables as described with the
delegated_methods class variable.
(MapCanvas.__init__): New instance variable selection holding the
current selection
(MapCanvas.do_redraw): Deal with multiple selected shapes. Simply
pass them on to the renderer
(MapCanvas.SetMap): Clear the selection when a different map is
selected.
(MapCanvas.shape_selected): Simple force a complete redraw. The
selection class now takes care of only issueing SHAPES_SELECTED
messages when the set of selected shapes actually does change.
(MapCanvas.SelectShapeAt): The selection is now managed in
self.selection

* Thuban/UI/mainwindow.py (MainWindow.delegated_messages)
(MainWindow.Subscribe, MainWindow.Unsubscribe): In Subscribe and
Unsubscribe, delegate messages according to the delegated_messages
class variable.
(MainWindow.delegated_methods, MainWindow.__getattr__): Get some
attributes from instance variables as described with the
delegated_methods class variable.
(MainWindow.__init__): The interactor as ivar is gone. The
parameter is still there for compatibility. The selection messages
now come from the canvas.
(MainWindow.current_layer, MainWindow.has_selected_layer):
Delegate to the the canvas.
(MainWindow.LayerShowTable, MainWindow.Classify)
(MainWindow.identify_view_on_demand): The dialogs don't need the
interactor parameter anymore.

* Thuban/UI/tableview.py (TableFrame.__init__)
(LayerTableFrame.__init__, LayerTableFrame.OnClose)
(LayerTableFrame.row_selected): The interactor is gone. It's job
from the dialog's point of view is now done by the mainwindow,
i.e. the parent. Subscribe to SHAPES_SELECTED instead
of SELECTED_SHAPE

* Thuban/UI/dialogs.py (NonModalDialog.__init__): The interactor
is gone. It's job from the dialog's point of view is now done by
the mainwindow, i.e. the parent.

* Thuban/UI/classifier.py (Classifier.__init__): The interactor is
gone. It's job from the dialog's point of view is now done by the
mainwindow, i.e. the parent.

* Thuban/UI/tree.py (SessionTreeView.__init__): The interactor is
gone. It's job from the dialog's point of view is now done by the
mainwindow, i.e. the parent.
(SessionTreeCtrl.__init__): New parameter mainwindow which is
stored as self.mainwindow. The mainwindow is need so that the tree
can still subscribe to the selection messages.
(SessionTreeCtrl.__init__, SessionTreeCtrl.unsubscribe_all)
(SessionTreeCtrl.update_tree, SessionTreeCtrl.OnSelChanged): The
selection is now accessible through the mainwindow. Subscribe to
SHAPES_SELECTED instead of SELECTED_SHAPE

* Thuban/UI/identifyview.py (IdentifyView.__init__): Use the
SHAPES_SELECTED message now.
(IdentifyView.selected_shape): Now subscribed to SHAPES_SELECTED,
so deal with multiple shapes
(IdentifyView.__init__, IdentifyView.OnClose): The interactor is
gone. It's job from the dialog's point of view is now done by the
mainwindow, i.e. the parent.

* Thuban/UI/renderer.py (ScreenRenderer.RenderMap): Rename the
selected_shape parameter and ivar to selected_shapes. It's now a
list of shape ids.
(MapRenderer.draw_label_layer): Deal with multiple selected
shapes. Rearrange the code a bit so that the setup and shape type
distinctions are only executed once.


Revision 521 - (view) (annotate) - [select for diffs]
Modified Wed Mar 12 13:18:50 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8775 byte(s)
Diff to previous 520
Create an empty image to use when there is no special image for an item.


Revision 520 - (view) (annotate) - [select for diffs]
Modified Wed Mar 12 10:35:49 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8489 byte(s)
Diff to previous 510
Try using a 0x0 image for items that don't need an image so that the
tree looks OK under Windows.


Revision 510 - (view) (annotate) - [select for diffs]
Modified Tue Mar 11 16:05:18 2003 UTC (21 years, 11 months ago) by jonathan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8509 byte(s)
Diff to previous 504
Fixed problem with unwanted tree item images under Windows.


Revision 504 - (view) (annotate) - [select for diffs]
Modified Mon Mar 10 15:12:24 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8141 byte(s)
Diff to previous 488
Changed SESSION_CHANGED to SESSION_REPLACED.  Go back to using OnClose()
instead of Shutdown().


Revision 488 - (view) (annotate) - [select for diffs]
Modified Fri Mar 7 18:21:25 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8192 byte(s)
Diff to previous 443
(SessionTreeView): Remove OnClose and let
        the parent class handle it. Add Shutdown() to unsubscibe from
        event notification and call the parent Shutdown(). This was
        necessary so the application can close the tree window.


Revision 443 - (view) (annotate) - [select for diffs]
Modified Thu Feb 27 15:55:42 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8209 byte(s)
Diff to previous 417
Use common.py functions.


Revision 417 - (view) (annotate) - [select for diffs]
Modified Wed Feb 19 16:53:22 2003 UTC (22 years ago) by jonathan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8349 byte(s)
Diff to previous 383
Formatting changes.


Revision 383 - (view) (annotate) - [select for diffs]
Modified Tue Jan 28 18:38:03 2003 UTC (22 years, 1 month ago) by jonathan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8384 byte(s)
Diff to previous 374
Handle drawing Colors in the tree view.


Revision 374 - (view) (annotate) - [select for diffs]
Modified Mon Jan 27 14:20:02 2003 UTC (22 years, 1 month ago) by jan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 7213 byte(s)
Diff to previous 353
Replace user string by _() for i18n.


Revision 353 - (view) (annotate) - [select for diffs]
Modified Tue Dec 3 17:35:30 2002 UTC (22 years, 3 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 7156 byte(s)
Diff to previous 233
(SessionTreeCtrl.normalize_selection): Handle
the case of selected items that are not children of Layers or Maps
properly. Previously this bug would trigger an assertion in
wxWindows.


Revision 233 - (view) (annotate) - [select for diffs]
Modified Fri Jul 19 15:15:16 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 7014 byte(s)
Diff to previous 218
	* Thuban/UI/tree.py: We can now simply subscribe to the session's
	CHANGED channel to be informed of changes.
	(SessionTreeCtrl.session_channels): Not needed any longer.
	(SessionTreeCtrl.unsubscribe_all, SessionTreeCtrl.session_changed):
	Only have to (un)subscribe CHANGED


Revision 218 - (view) (annotate) - [select for diffs]
Modified Thu Jul 18 12:54:48 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 7660 byte(s)
Diff to previous 217
	* Thuban/UI/tree.py (SessionTreeCtrl.update_tree): The
	interactor's selected_layer may not be a layer of the current
	session when the tree is updated while a new session is being set.


Revision 217 - (view) (annotate) - [select for diffs]
Modified Wed Jul 17 10:50:40 2002 UTC (22 years, 7 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 7202 byte(s)
Diff to previous 198
* Thuban/UI/tree.py (color_string): Removed. No longer used.
(SessionTreeCtrl.update_tree, SessionTreeCtrl.add_items): Split
update_tree into update_tree and add_items. The tree now uses a
more generic way to display the contents of the tree.
(SessionTreeCtrl): Add a doc string explaining the TreeInfo method

* Thuban/Model/layer.py (Layer.TreeInfo),
Thuban/Model/extension.py (Extension.TreeInfo),
Thuban/Model/map.py (Map.TreeInfo),
Thuban/Model/session.py (Session.TreeInfo):
Add TreeInfo methods to implement the new tree view update scheme


Revision 198 - (view) (annotate) - [select for diffs]
Modified Thu Jun 20 15:24:26 2002 UTC (22 years, 8 months ago) by jan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8689 byte(s)
Diff to previous 177
(SessionTreeCrtl:update_tree): Added visualization
of Extension titles and title and names of its objects.


Revision 177 - (view) (annotate) - [select for diffs]
Modified Wed May 15 14:02:09 2002 UTC (22 years, 9 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 8158 byte(s)
Diff to previous 161
	* Thuban/UI/tree.py (SessionTreeCtrl.update_tree): Deal with the
	layer's bbox being None.


Revision 161 - (view) (annotate) - [select for diffs]
Modified Wed May 8 13:47:10 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 7973 byte(s)
Diff to previous 151
	* Thuban/UI/tree.py (SessionTreeCtrl.unsubscribe_all): Remove a
	debug print and set session to None after unsubscribing


Revision 151 - (view) (annotate) - [select for diffs]
Modified Tue May 7 17:01:35 2002 UTC (22 years, 10 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 7973 byte(s)
Diff to previous 115
	* Thuban/UI/tree.py (session_channels): New class constant with
	all the session channels to subscribe to to update the tree
	(SessionTreeCtrl.session_changed): Remember the session so that we
	can unsubscribe properly. Use the new class constant to
	unsubscribe from the old session and subscribe to the new one.
	(SessionTreeCtrl.unsubscribe_all): New method to unsubscribe all
	subscriptions of the SessionTreeCtrl.
	(SessionTreeView.OnClose): Call the tree's unsubscribe_all method.


Revision 115 - (view) (annotate) - [select for diffs]
Modified Mon Apr 22 11:30:20 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 6798 byte(s)
Diff to previous 111
added test for None on map bounding box


Revision 111 - (view) (annotate) - [select for diffs]
Modified Sun Apr 21 17:29:50 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 6748 byte(s)
Diff to previous 104
added map extent to tree view


Revision 104 - (view) (annotate) - [select for diffs]
Modified Fri Apr 19 14:46:08 2002 UTC (22 years, 10 months ago) by jan
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 6400 byte(s)
Diff to previous 61
add filename and modified status to tree view


Revision 61 - (view) (annotate) - [select for diffs]
Modified Thu Sep 13 17:58:49 2001 UTC (23 years, 5 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 6083 byte(s)
Diff to previous 41
	* Thuban/UI/tree.py (SessionTreeCtrl.OnSelChanged): Make sure to
	deselect the layer if no layer is selected


Revision 41 - (view) (annotate) - [select for diffs]
Modified Thu Sep 6 18:58:46 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 5929 byte(s)
Diff to previous 36
	* Thuban/UI/tree.py (SessionTreeCtrl, SessionTreeView.__init__):
	Correct the spelling of SessionTreeCtrl. dabbrev is too damn
	convenient :-)
	(SessionTreeCtrl.__init__, SessionTreeCtrl.update_tree): Introduce
	a new instvar layer_to_item to map layers to tree items
	(SessionTreeCtrl.layer_selected): Select the appropriate tree item
	to match the current selection in the interactor


Revision 36 - (view) (annotate) - [select for diffs]
Modified Thu Sep 6 17:16:06 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 5620 byte(s)
Diff to previous 14
	* Thuban/UI/tree.py (myTreeCtrlPanel):
	(SessioinTreeCtrl): Rename to SessioinTreeCtrl and turn it into a
	TreeCtrl isntead of a panel. This affects most method since we now
	refer to self instead of self.tree
	(SessionTreeView): New class implementing a non-modal dialog
	showing the session tree.


Revision 14 - (view) (annotate) - [select for diffs]
Modified Fri Aug 31 15:34:33 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 5692 byte(s)
Diff to previous 6
	* Thuban/UI/tree.py (myTreeCtrlPanel.__init__): New inst var
	changing_selection to avoid recursive selection events when
	modifying the selection in response to a selection event.
	(myTreeCtrlPanel.normalize_selection): Set the new inst var when
	changing the tree's selection.
	(myTreeCtrlPanel.OnSelChanged): Only normalize the selection when
	we're not being called indirectly from normalize_selection.


Revision 6 - (view) (annotate) - [select for diffs]
Added Tue Aug 28 15:41:52 2001 UTC (23 years, 6 months ago) by bh
Original Path: trunk/thuban/Thuban/UI/tree.py
File length: 5223 byte(s)
import all the source files


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26