classafReflux::ResourceTree
sys::Obj afReflux::ResourceTree
(Widget) - A tree widget that displays Resource hierarchies. ResourceTree is a wrapper around the FWT Tree widget with the following enhancements:
- A
Resourcespecific tree model. - Hassle free
refreshNode()andshowNode()methods that just work. - Event data return the
Resourcethat's been actioned.
Because ResourceTree does not extend fwt:Widget it can not be added directly. Instead, add the tree field which returns the wrapped FWT Tree instance.
tree := ResourceTree()
ContentPane() {
it.content = tree.tree
}- make
new make(|This in)Creates a
ResourceTree.- model
ResourceTreeModel model := ResourceTreeModel.<ctor>()The model that customises the look of the tree. Leave as is for default behaviour.
- onAction
EventListeners onAction()Callback when node is double clicked or Return/Enter key is pressed.
Event id fired:
EventId.modified
Event fields:
Event.data: theResourceactioned
- onPopup
EventListeners onPopup()Callback when user invokes a right click popup action. If the callback wishes to display a popup, then set the
Event.popupfield with menu to open. If multiple callbacks are installed, the first one to return a nonnull popup consumes the event.Event id fired:
EventId.popup
Event fields:
Event.data: theResourceselected, ornullif this is a background popup.Event.pos: the mouse position of the popup.
- onSelect
EventListeners onSelect()Callback when selected nodes change.
Event id fired:
EventId.select
Event fields:
Event.data: theResourceselected
- refreshAll
Void refreshAll()Update the entire tree's contents from the model.
- refreshNode
Void refreshNode(Resource resource)Updates the specified resource from the model before showing it.
- roots
Resource[] roots := Resource#.emptyListThe root resources of the tree.
- showNode
Void showNode(Resource resource)Scrolls and expands the tree until the
Resourceis visible. This also selects the resource in the tree.- tree
Tree treeThe underlying FWT Tree widget.