Status: New Owner: ---- Labels: Type-Defect Priority-Medium
New issue 918 by benjamin...@gmail.com: GLMTreePresentation display artifact when selection is set to an unexpanded node http://code.google.com/p/moose-technology/issues/detail?id=918
Execute the following Workspace script, then in the left pane, click on $X while it is not expanded. An display artifact appears on the first line as shown in attached image, which is the an overlap of the the hidden third level $X and $O. See attached PNG.
Also the right pane locks up, which can be reset by unexpanding $A.
If you expand the $X in the right pane before clicking the $X in the left pane, the problem does not occur.
---
|browser | browser := GLMTabulator new. browser column: #one; column: #two. browser transmit to: #one; andShow: [ :a | a tree rootsExpanded; children: [:x :i | x asString size > 1 ifTrue: [x] ifFalse: [OrderedCollection new] ] ; format: [ :x | x isCollection ifTrue: [x first] ifFalse: [x] ]. ]. browser transmit to: #two; andShow: [ :a | a tree rootsExpanded; children: [:x :i | x asString size > 1 ifTrue: [x] ifFalse: [OrderedCollection new] ] ; format: [ :x | x isCollection ifTrue: [x first] ifFalse: [x] ]. ]. browser transmit from: #one; to: #two port: #selection. browser openOn: #(($A $B ) ($C $E ($X $O)))
Attachments: GLMTreePresentation-artifact.png 9.6 KB
Comment #1 on issue 918 by benjamin...@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.
Comment #2 on issue 918 by benjamin...@gmail.com: GLMTreePresentation display artifact when selection is set to an unexpanded node http://code.google.com/p/moose-technology/issues/detail?id=918
Actually that should be self containerTree changed: {#rootNodes. #openItemPath}, (self path collect: [:each | each item]) allButLast.
...except that introduces an issue of its own, not clearing the selection from the first line.
Comment #3 on issue 918 by tu...@tudorgirba.com: GLMTreePresentation display artifact when selection is set to an unexpanded node http://code.google.com/p/moose-technology/issues/detail?id=918
What version?
Comment #4 on issue 918 by benjamin...@gmail.com: GLMTreePresentation display artifact when selection is set to an unexpanded node http://code.google.com/p/moose-technology/issues/detail?id=918
Just tested on a freshly downloaded Moose Suite 4.7.
Comment #5 on issue 918 by benjamin...@gmail.com: GLMTreePresentation display artifact when selection is set to an unexpanded node http://code.google.com/p/moose-technology/issues/detail?id=918
The attached changeset fixes the issue.
Attachments: MooseIssue918.2.cs 1.1 KB
Comment #6 on issue 918 by tu...@tudorgirba.com: GLMTreePresentation display artifact when selection is set to an unexpanded node http://code.google.com/p/moose-technology/issues/detail?id=918
I cannot seem to be able to reproduce the problem in 5.0. Ben, could you try again?
Comment #7 on issue 918 by benjamin...@gmail.com: GLMTreePresentation display artifact when selection is set to an unexpanded node http://code.google.com/p/moose-technology/issues/detail?id=918
After confirming I could reproduce it in Moose 4.7, I am happy to report it no longer occurs in Moose 5.0.
Comment #8 on issue 918 by benjamin...@gmail.com: GLMTreePresentation display artifact when selection is set to an unexpanded node http://code.google.com/p/moose-technology/issues/detail?id=918
After confirming I could reproduce it in Moose 4.7, I am happy to report it no longer occurs in Moose 5.0.
But I can't see where I might close this Issue myself...
Updates: Status: Fixed
Comment #9 on issue 918 by tu...@tudorgirba.com: GLMTreePresentation display artifact when selection is set to an unexpanded node http://code.google.com/p/moose-technology/issues/detail?id=918
(No comment was entered for this change.)