TreeView - disable node collapse

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

TreeView - disable node collapse

Edward Stow
Hello all

How can you configure a TreeView so that a user cannot collapse the
tree nodes.

I still want the view enabled so that selections and context menus
work.

--
Edward Stow


Reply | Threaded
Open this post in threaded view
|

Re: TreeView - disable node collapse

Support at Object Arts
"Edward Stow" <[hidden email]> wrote in message
news:[hidden email]...
> Hello all
>
> How can you configure a TreeView so that a user cannot collapse the
> tree nodes.
>
> I still want the view enabled so that selections and context menus
> work.
>


The TreeView wrapper in Dolphin's MVP framework doesn't expose a hook to
enable you to do this without either modifying it or subclassing it. The
simplest approach would be to subclass it and override #tvnItemExpanding: by
copying down the superclass implementation and then modifying the line:

nmtv action = TVE_EXPAND ifFalse: [^nil]

to say instead:

nmtv action = TVE_EXPAND ifFalse: [^true].

This will certainly prevent items being collapsed, but may have other
unwanted effects, so it might be better to only return true on receipt of
TVE_COLLAPSE. Oh, and I think an audible warning that the users action is
being ignored would provide a better user experience as well.

Ideally, of course, an event should be triggered so that observers could
control whether or not nodes can be expanded or contracted. We'll attend to
that in a future release.

Regards

Blair