Issue 1099 in moose-technology: update visible list items on selection

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

Issue 1099 in moose-technology: update visible list items on selection

moose-technology
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-Glamour

New issue 1099 by [hidden email]: update visible list items on  
selection
https://code.google.com/p/moose-technology/issues/detail?id=1099

Tree/list presentation should display non-visible items when one of these  
items is selected. To reproduce, execute the following script. Normally,  
the of items should be expanded and 14 should be shown in the list on the  
left because it is the current selection item. However, the list does not  
change and 14 is not shown.

browser := GLMTabulator new.
browser column: #one; column: #two.
browser transmit to: #one; andShow: [:a |
        a list showOnly: 10; display: [:number | (1 to: number)]  ].
browser transmit to: #two; from: #one; andShow: [:a |
        a roassal2
                initializeView: [ RTMondrianViewBuilder new ];
                painting: [:view :number  |
                view interaction when: TRMouseDoubleClick do: [:ann | ((browser  
paneNamed: #one) port:#selection) value: ann element model ].
                view shape label.
                                view nodes: (1 to: number + 5).
                                view edgesFrom: [:each | each // 2 ].
                                view treeLayout  ]].
browser openOn: 100.
((browser paneNamed: #one) port: #selection) value: 14.





--
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
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Issue 1099 in moose-technology: update visible list items on selection

moose-technology

Comment #1 on issue 1099 by [hidden email]: update visible list items  
on selection
https://code.google.com/p/moose-technology/issues/detail?id=1099

Thanks. I think with the current list implementation we cannot handle this  
use case. Imagine you would have a 100k items in your list and you would  
select the last item. It would mean that we have to show the whole list,  
but this is precisely the point of the paging. The same mechanism is  
actually used also when you write a selection query for a group, so having  
100k items is not an unusual case.

I agree that it is not intuitive, but handling it will require a new  
implementation of the list. For example, we can imagine having some sort  
of ... in the middle of the list and show only the selected items (in your  
case it would be (1,2,3,4,5,6,7,8,9,10 ... 14) . We will likely get to it  
but not in the near future, unfortunately.

Or do you have another idea?

--
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
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Issue 1099 in moose-technology: update visible list items on selection

moose-technology

Comment #2 on issue 1099 by [hidden email]: update visible list  
items on selection
https://code.google.com/p/moose-technology/issues/detail?id=1099

As per my understanding, PaginatedMorphTreeMorph can have two modes of  
expansion: incremental mode or scroll to the page of selected element(s).
Incremental mode expands the list up to the selected item. Paged mode shows  
a fixed number of elements on each page and jump to a specific page item  
selected. To see it working, execute script below:

| treeMorph aWindow aModel |
        aModel := PaginatedMorphTreeModel new rootItems: (1 to: 100) asArray.
        aWindow := aModel theme newWindowIn: World for: aModel title: 'test'.
        treeMorph := aModel defaultTreeMorph.
        treeMorph pageSize: 30.
       
        treeMorph buildContents.
        aWindow addMorph: treeMorph fullFrame: (LayoutFrame fractions: (0 @ 0  
corner: 1 @ 1) offsets: (0 @ 0 corner: 0 @ 0)).
        aWindow open.
        aModel expandItemPath: {50}.

Glamour chooses the incremental mode and effectively this mode is not  
adapted for 100K items. In my opinion, we should use paged mode and it  
should not require drastic changes to the current tree model in Glamour.

As for the  bug, the solution will be that the model needs to do  
expandItemPath: when a selection is made and update list. And I should  
provide a fix once we find an agreement on the selection display mode.

--
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
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Issue 1099 in moose-technology: update visible list items on selection

moose-technology

Comment #3 on issue 1099 by [hidden email]: update visible list  
items on selection
https://code.google.com/p/moose-technology/issues/detail?id=1099

So, here is a proposal for paged list in Glamour. The changes are not  
drastic. You can try it with this script. MorphNodeTreeMorph was changed to  
adapt the position of children. It is not a bug itself because original  
MorhTreeMorph does not allow to create children but since subclasses do, it  
has to provide  this service, IMO.

browser := GLMTabulator new.
browser column: #one; column: #two.
browser transmit to: #one; andShow: [:a |
        a tree children: [:one :two :level | level <2 ifTrue: [{level}]];  
showOnly: 10; display: [:number | (2 to: number)]  ].
browser transmit to: #two; from: #one; andShow: [:a |
        a roassal2
                initializeView: [ RTMondrianViewBuilder new ];
                painting: [:view :number  |
                view interaction when: TRMouseDoubleClick do: [:ann | ((browser  
paneNamed: #one) port:#selection) value: ann element model ].
                view shape label.
                                view nodes: (1 to: number + 5).
                                view edgesFrom: [:each | each // 2 ].
                                view treeLayout  ]].
browser openOn: 100.
((browser paneNamed: #one) port: #selection) value: 15


Let me know what do you think.

Attachments:
        Glamour-Morphic-Renderer-usmanbhatti.300.mcz  62.0 KB
        Glamour-Morphic-Widgets-usmanbhatti.152.mcz  55.1 KB
        Morphic-Base-usmanbhatti.296.mcz  654 KB

--
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
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Issue 1099 in moose-technology: update visible list items on selection

moose-technology

Comment #4 on issue 1099 by [hidden email]: update visible list items  
on selection
https://code.google.com/p/moose-technology/issues/detail?id=1099

The problem with this is that it introduces paging and I specifically do  
not want that :(

--
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
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Issue 1099 in moose-technology: update visible list items on selection

moose-technology

Comment #5 on issue 1099 by [hidden email]: update visible list  
items on selection
https://code.google.com/p/moose-technology/issues/detail?id=1099

In my opinion, paging is more adapted for long lists.

-> you don't have to scroll to the 50kth element at the end to see your  
selection.
-> page size can be modified by the user.
-> I ve seen ppl thinking that a list is incomplete but they only know that  
they are looking at a partial view when they reach at the bottom when  
scroll arrows appear...




--
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
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev