Hi,

On 24 May 2015, at 18:08, Nicolai Hess <nicolaihess@web.de> wrote:

Thank your reply

2015-05-24 10:02 GMT+02:00 Esteban Lorenzano <estebanlm@gmail.com>:
you can already play with it: 

Gofer it 
smalltalkhubUser: 'estebanlm' project: 'FastTable';
configuration;
loadStable.

not in my place this weekend so I cannot finish it as I wanted before pushing it.

My idea is to ask community help finish it. 

Implementation uses datasources to feed the list, so in theory you can browse infinite rows without loosing speed.
according to my tests (in my machine):

[ Object browse ] timeToRun asMilliSeconds. -> ~3000ms (without cache)
[ Object browse ] timeToRun asMilliSeconds. -> ~350ms (with cache active)
[ Object browse ] timeToRun asMilliSeconds. -> ~150ms with FastTable, always. 

There is an adaptor FTPluggableIconListMorphAdaptor that has the same format as a PluggableIconListMorph so changing already existing calls will be easy (even if there should not be done like that in the long term :)
 
So, so far, list works fine, but

- still missing drag&drop support
- there are some issues remaining:
-- cells escaping his width
-- last elements in long lists sometimes are not visible

some details has to be around too... but this is a good design, taken from Cocoa... is years better than the naive implementation of old PluggableListMorph and better than the strategy used by NewList (spawning threads all around).

Some info about this? Is this in some mac developer guide or a paper written about the design behind cocoa?


there is some that I use as reference frequently:

this one:
https://developer.apple.com/legacy/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaFundamentals.pdf
is a ���retired��� document, but is retired because is old (old version of objective-c and old version of cocoa), but fundamentals remains ok. 
instead that document, apple refers now to here: 
https://developer.apple.com/library/mac/documentation/General/Conceptual/CocoaEncyclopedia/Introduction/Introduction.html

last, I use as a source of inspiration this project: http://www.cocotron.org
which basically is a rewrite of cocoa but open source (and portable). Project is at least slow (if not stagnated), but I use it to consult algorithms and solutions they found to UI problems I find time to time. 

cheers, 
Esteban

 

Please, help me finish!
Repository is open so anybody can contribute. 

+1 
 

FTExamples has a set of wxamples with all things implemented :)

Thank you for not only having examples but class comments too!
 

Esteban

ps: I already has the adaptor working with Nautilus, but since it depends on some changes on it I will wait until is integrated to push it. But basically if you want to try you just need to go to: CategoryWidget>>#buildCategoriesList, ClassWidget>>#buildClassesList and MethodWidget>>#buildMethodList and change PluggableIconListMorph with FTPluggableIconListMorphAdaptor




On Sun, May 24, 2015 at 7:41 AM, stepharo <stepharo@free.fr> wrote:
Hi nicolai

Esteban is rewriting the list/table widgets and it is much much faster.
He should announce a beta any soon. 
With it we will be able to remove 
    - NewList (because its implementation is not good)
    - pluggableListMorph
    - and potentially the paginated and morph tree morph.

Stef
    

Le 23/5/15 00:20, Nicolai Hess a ��crit :
Is there some more information about this?

I opened that issue and I asks quesions about the NewList implementation on the mailing
list and commented on some other issues about NewList (for example 13554 Red cross in EyeDateAndTimeInspector).
(With not so much feedback).
And making NewListRender working with athens caused quite some headache to me. 
But this is the first time I hear someone is working on a new list.

I would like to encourage people to make more comments on the bugtracker.

And, as we have already quite some mess in our widget libraries, because we
have all kinds of list/tree-morph-nomorph-pluggable-or-simple-with-or-without-icons-things,
I would like some more discussion/background info about this.

I agree. 
I would like to remove them all and get only one

Especially how we prevent to not have  "just-another-list" in the image, but
a way/plan to migrate or exchange the current list class to use the new/better one.

Why the migration to NewList was stopped is that we realised that it was not good. 
Alain told us that 8 months ago. 


thanks
nicolai





---------- Forwarded message ----------
From: Pharo Issue Tracker <do-not-reply@pharo.fogbugz.com>
Date: 2015-05-22 11:23 GMT+02:00
Subject: FogBugz (Case [Issue]13315) Morphic - NewList without icons
To: "nicolaihess@web.de" <nicolaihess@web.de>


avatar
Marcus Denker resolved Case 13315: NewList without icons and assigned it to you: 
Bug in Project:
                                                           Morphic: 1. Pharo Image
We have a better list done by esteban soon
Status changed: 
Work Needed  changed
                                                          to  Resolved (Invalid) 

Assigned To changed: 
Everyone  changed
                                                          to  Nicolai Hess 

PriorityPriority: 3 ��� Must Fix StatusStatus: Resolved (Invalid) 
Assigned
                                                          ToAssigned to: Nicolai Hess MilestoneMilestone: Pharo5.0 

Go to Case
Don't want FogBugz notifications anymore? Update your preferences.

FogBugz
A case which you opened has been resolved ( Resolved (Invalid) ) by Marcus Denker in FogBugz. It is your responsibility to verify the resolution and close or reactivate the case. Case ID: 13315 Title: NewList without icons Status: Resolved (Invalid) Category: Bug Project: Morphic Area: 1. Pharo Image Priority: 3 - Must Fix Milestone: Pharo5.0: 4/1/2016 Assigned To: Nicolai Hess URL: https://pharo.fogbugz.com/default.asp?13315 Changes: Status changed from 'Work Needed' to 'Resolved (Invalid)'. Last message: We have a better list done by esteban soon If you do not want to receive automatic notifications anymore, change your preferences in the Options screen. (https://pharo.fogbugz.com/f/userPrefs)