Comment #1 on issue 918 by benjamin...(a)gmail.com: GLMTreePresentation
display artifact when selection is set to an unexpanded node
http://code.google.com/p/moose-technology/issues/detail?id=918
To narrow in on this, put 'self halt' at the start of
MorphTreeNodeMorph>>openItemPath:
Using 'browser openOn: #(($C $E ($X $O)))' as a stripped down test case go:
1. Enable Halt Once.
2. Click $X (debugger appears)
3. Enable Halt Once again prior to clicking <Proceed> button
4. Click <Debug>
The problem occurs when I <Step Over> [^container listManager
setSelectedMorph: found]
and inside #setSelectedMorph: when I <Step Over> 'self emptySelection'
and inside that when I <Step Over> 'self selectionChanged'
and following deeper
If after point 4. above, I click quickly <Over> the lines on #openInPath:
then sometimes the error occurs on the line [found toggleExpandedState],
but if I click slowly it seems to usually does not occur there.
Now apart from trying to troubleshoot through MorphTreeNodeMorph, I notice
also that at the line [found toggleExpandedState] the arrow icon of $X
changes from left pointing to down pointing - so $X is expanded - but I
don't think that should happen. Looking back up the stack I see
GLMTreeMorphNodeModel>>expandParentPath which makes sense to expand the
parents so the selected item is visible, except that I think the selected
item should not be included in the send to #changed.
So actually the following resolves the problem...
GLMTreeMorphNodeModel>>expandParentPath
" self openItemPath: anArray"
self containerTree changed: {#rootNodes. #openItemPath}, (self path
collect: [:each | each item]) removeLast.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings