News about FastTable

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

News about FastTable

CyrilFerlicot
Hi everyone!

I just wanted to say that I added a first version of Tree in FastTable
and I corrected some bugs.

If someone want to try it and give some feedback you can see some
examples on the latest Pharo 5 in FTExamples class.

With Usman we also worked on the glamour version of FastTable begun by
Esteban.
You can see some examples of FastList, FastTable, FastOutlineList and
FastTree in the GLMExamplesBrowser after executing this:

    (ConfigurationOfFastTable project version: #stable) load: #glamour

Every feedback is welcome :)

--
Cyril Ferlicot ([hidden email])

http://www.synectique.eu

165 Avenue Bretagne
Lille 59000 France


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Tudor Girba-2
Hi,

Great.

Please package the Glamour presentations in the Glamour repository and in the ConfigurationOfGlamour. It would preserve the cleanliness of dependencies.

Cheers,
Doru


> On Nov 18, 2015, at 10:53 AM, Ferlicot D. Cyril <[hidden email]> wrote:
>
> Hi everyone!
>
> I just wanted to say that I added a first version of Tree in FastTable
> and I corrected some bugs.
>
> If someone want to try it and give some feedback you can see some
> examples on the latest Pharo 5 in FTExamples class.
>
> With Usman we also worked on the glamour version of FastTable begun by
> Esteban.
> You can see some examples of FastList, FastTable, FastOutlineList and
> FastTree in the GLMExamplesBrowser after executing this:
>
>    (ConfigurationOfFastTable project version: #stable) load: #glamour
>
> Every feedback is welcome :)
>
> --
> Cyril Ferlicot ([hidden email])
>
> http://www.synectique.eu
>
> 165 Avenue Bretagne
> Lille 59000 France
>

--
www.tudorgirba.com

"No matter how many recipes we know, we still value a chef."







Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Thierry Goubier
In reply to this post by CyrilFerlicot
Hi Cyril,

Le 18/11/2015 10:53, Ferlicot D. Cyril a écrit :
> Hi everyone!
>
> I just wanted to say that I added a first version of Tree in FastTable
> and I corrected some bugs.
>
> If someone want to try it and give some feedback you can see some
> examples on the latest Pharo 5 in FTExamples class.

Some feedback:

On exampleTree1,
* expand AJBaseReg,
* select AJx87Register,
* then collapse AJBaseReg...

selection becomes AJCallInfo.

* expand AJBaseReg

selection becomes AJx87Register

Listening to the FTSelectionChanged announcement when doing the sequence
above shows that no events are sent during collapse/expand showing the
selection change in the tree (i.e. switching from AJx87Register to
AJCallInfo and back).

Normal GUI behavior is that selection switch to collapsed item if
selection was previously among that item children.

Regards,

Thierry

> With Usman we also worked on the glamour version of FastTable begun by
> Esteban.
> You can see some examples of FastList, FastTable, FastOutlineList and
> FastTree in the GLMExamplesBrowser after executing this:
>
>      (ConfigurationOfFastTable project version: #stable) load: #glamour
>
> Every feedback is welcome :)
>


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Stephan Eggermont-3
On 18-11-15 22:01, Thierry Goubier wrote:
> Normal GUI behavior is that selection switch to collapsed item if
> selection was previously among that item children.

Using a different icon to show partial selection, and perhaps a
contextmenu to do 'select all subnodes, deselect all subnodes'?

Stephan



Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Nicolai Hess-3-2
In reply to this post by CyrilFerlicot


2015-11-18 10:53 GMT+01:00 Ferlicot D. Cyril <[hidden email]>:
Hi everyone!

I just wanted to say that I added a first version of Tree in FastTable
and I corrected some bugs.

If someone want to try it and give some feedback you can see some
examples on the latest Pharo 5 in FTExamples class.

With Usman we also worked on the glamour version of FastTable begun by
Esteban.
You can see some examples of FastList, FastTable, FastOutlineList and
FastTree in the GLMExamplesBrowser after executing this:

    (ConfigurationOfFastTable project version: #stable) load: #glamour

Every feedback is welcome :)

Looks great.
It is really fast.
And it comes with class comments ( <- really important )

 

--
Cyril Ferlicot ([hidden email])

http://www.synectique.eu

165 Avenue Bretagne
Lille 59000 France


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Thierry Goubier
In reply to this post by Stephan Eggermont-3


2015-11-19 12:41 GMT+01:00 Stephan Eggermont <[hidden email]>:
On 18-11-15 22:01, Thierry Goubier wrote:
Normal GUI behavior is that selection switch to collapsed item if
selection was previously among that item children.

Using a different icon to show partial selection, and perhaps a contextmenu to do 'select all subnodes, deselect all subnodes'?

Maybe. I haven't checked if the rule above holds for multi-selection. I checked:

In multi-selection, if main/first selection is among the item children, that selection switch to parent item upon collapse all all secondary selections among the children are deselected.

(Reference: Thunderbird 38.3.0)

I had difficulties finding the right decomposition to express that between the model and the view, and I'm not entirely satisfied with the solution. Maybe it could be left to the application using the widget, but, even at that level, writing it properly is hard (and it would be good that the toolkit provides for proper behavior to make the life of the application designer easier).

Thierry
 


Stephan




Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

abergel
In reply to this post by CyrilFerlicot
Hi Cyril!

Excellent work!

I have trouble executing:
exampleTreeWithAllItemsFilter
exampleTreeWithAllItemsSearch

The filter with FTTableMorph cannot have a condition? Something like each > 50 and: [ each < 100 ] ?

Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



> On Nov 18, 2015, at 6:53 AM, Ferlicot D. Cyril <[hidden email]> wrote:
>
> Hi everyone!
>
> I just wanted to say that I added a first version of Tree in FastTable
> and I corrected some bugs.
>
> If someone want to try it and give some feedback you can see some
> examples on the latest Pharo 5 in FTExamples class.
>
> With Usman we also worked on the glamour version of FastTable begun by
> Esteban.
> You can see some examples of FastList, FastTable, FastOutlineList and
> FastTree in the GLMExamplesBrowser after executing this:
>
>    (ConfigurationOfFastTable project version: #stable) load: #glamour
>
> Every feedback is welcome :)
>
> --
> Cyril Ferlicot ([hidden email])
>
> http://www.synectique.eu
>
> 165 Avenue Bretagne
> Lille 59000 France
>


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Stephan Eggermont-3
In reply to this post by Thierry Goubier
On 19/11/15 13:17, Thierry Goubier wrote:
> Maybe. I haven't checked if the rule above holds for multi-selection.

Looking in some more detail at it, the behaviour of Thunderbird seems
incorrect. Collapse and expand should restore the selection. I might
want to add en element to the selection that is much easier reached by
collapsing a subtree. Thunderbird loses the selection, and doesn't
indicate how much of the subtree is selected.

> Maybe it could be left to the application using the widget,
> but, even at that level, writing it properly is hard (and it would be
> good that the toolkit provides for proper behavior to make the life of
> the application designer easier).

The best way to ensure consistency is to make it easy to do the right
thing, yes.

Stephan


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Thierry Goubier


2015-11-19 15:46 GMT+01:00 Stephan Eggermont <[hidden email]>:
On 19/11/15 13:17, Thierry Goubier wrote:
Maybe. I haven't checked if the rule above holds for multi-selection.

Looking in some more detail at it, the behaviour of Thunderbird seems incorrect. Collapse and expand should restore the selection. I might want to add en element to the selection that is much easier reached by collapsing a subtree. Thunderbird loses the selection, and doesn't indicate how much of the subtree is selected.

Hum, it may be an interesting feature to have. But...

I have a very clear idea of how complex that feature you are asking for is to implement properly in the general case and I won't consider implementing it if there is no strong justification for it.

I'd prefer FTTree to get the basics right and, maybe, let the application track down that level of complexity if needed(*). I do find the FT core code to already carry far too much features (search, filtering) for my confort.

(*) In no less part because it may make the component very slow for very large trees, so I'd consider this is an application level decision to implement such a feature, because the application knows if it is dealing with large or small trees.



Maybe it could be left to the application using the widget,
but, even at that level, writing it properly is hard (and it would be
good that the toolkit provides for proper behavior to make the life of
the application designer easier).

The best way to ensure consistency is to make it easy to do the right thing, yes.

But be reasonable in what you ask. As far as I can see, FT doesn't have a proper drag and drop behavior yet.

Thierry
 


Stephan



Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

stepharo
In reply to this post by CyrilFerlicot
Big thanks to Synectique.eu to support your work and let you release it
open-source

Stef


Le 18/11/15 10:53, Ferlicot D. Cyril a écrit :

> Hi everyone!
>
> I just wanted to say that I added a first version of Tree in FastTable
> and I corrected some bugs.
>
> If someone want to try it and give some feedback you can see some
> examples on the latest Pharo 5 in FTExamples class.
>
> With Usman we also worked on the glamour version of FastTable begun by
> Esteban.
> You can see some examples of FastList, FastTable, FastOutlineList and
> FastTree in the GLMExamplesBrowser after executing this:
>
>      (ConfigurationOfFastTable project version: #stable) load: #glamour
>
> Every feedback is welcome :)
>


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Sven Van Caekenberghe-2
Yes, this is nice, thanks guys.

> On 19 Nov 2015, at 21:31, stepharo <[hidden email]> wrote:
>
> Big thanks to Synectique.eu to support your work and let you release it open-source
>
> Stef
>
>
> Le 18/11/15 10:53, Ferlicot D. Cyril a écrit :
>> Hi everyone!
>>
>> I just wanted to say that I added a first version of Tree in FastTable
>> and I corrected some bugs.
>>
>> If someone want to try it and give some feedback you can see some
>> examples on the latest Pharo 5 in FTExamples class.
>>
>> With Usman we also worked on the glamour version of FastTable begun by
>> Esteban.
>> You can see some examples of FastList, FastTable, FastOutlineList and
>> FastTree in the GLMExamplesBrowser after executing this:
>>
>>     (ConfigurationOfFastTable project version: #stable) load: #glamour
>>
>> Every feedback is welcome :)
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Stephan Eggermont-3
In reply to this post by Thierry Goubier
On 19/11/15 16:27, Thierry Goubier wrote:
> I have a very clear idea of how complex that feature you are asking for
> is to implement properly in the general case and I won't consider
> implementing it if there is no strong justification for it.

In Cocoa this is delegated behaviour. The Macintosh Finder just loses
selection in the subtree when closing its parent. Somewhere I've seen
the described behaviour, I think in an installer somewhere, could be an
Adobe product.

Stephan


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Thierry Goubier
Le 19/11/2015 23:34, Stephan Eggermont a écrit :
> On 19/11/15 16:27, Thierry Goubier wrote:
>> I have a very clear idea of how complex that feature you are asking for
>> is to implement properly in the general case and I won't consider
>> implementing it if there is no strong justification for it.
>
> In Cocoa this is delegated behaviour. The Macintosh Finder just loses
> selection in the subtree when closing its parent. Somewhere I've seen
> the described behaviour, I think in an installer somewhere, could be an
> Adobe product.

The selection announcements of FT would allow the model to implement that.

I think it would be bizarre to see it working with drag and drop: it
would either make hidden items reappear when starting the drag (selected
items in a closed subtree), or drag partially selected items.

Now, what I'd like on drag and drop is: automatic expand after a timeout
hovering over a node, and automatic scrollbar up and down when dragging
over the top / the bottom of the tree :)

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Thierry Goubier
In reply to this post by CyrilFerlicot
Hi Cyril,

more feedback about FTTree and #exampleTree1:

- Moving the reject: before the sort: in ProtoObject allSubclasses cuts
40% of the time to run the example (-400ms)

- Replacing all the asString by name divides that time by 9 (-900ms)

Overall runtime went from > 1000ms to a bit above 100ms

Class>>#asString is really, really slow :(

Thierry

Le 18/11/2015 10:53, Ferlicot D. Cyril a écrit :

> Hi everyone!
>
> I just wanted to say that I added a first version of Tree in FastTable
> and I corrected some bugs.
>
> If someone want to try it and give some feedback you can see some
> examples on the latest Pharo 5 in FTExamples class.
>
> With Usman we also worked on the glamour version of FastTable begun by
> Esteban.
> You can see some examples of FastList, FastTable, FastOutlineList and
> FastTree in the GLMExamplesBrowser after executing this:
>
>      (ConfigurationOfFastTable project version: #stable) load: #glamour
>
> Every feedback is welcome :)
>


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

stepharo
In reply to this post by CyrilFerlicot
exampleTreeWithAllItemsFilter does not work.

Stef

Le 18/11/15 10:53, Ferlicot D. Cyril a écrit :
>    (ConfigurationOfFastTable project version: #stable) load: #glamour


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Usman Bhatti
In reply to this post by Tudor Girba-2
Hi Doru,

Cyril has already copied glamour components for FASTTable in Glamour's repo.
To load these, we can create a group in configOfGlamour to load glamour components and their dependencies (fasttable).

Usman

On Wed, Nov 18, 2015 at 11:01 AM, Tudor Girba <[hidden email]> wrote:
Hi,

Great.

Please package the Glamour presentations in the Glamour repository and in the ConfigurationOfGlamour. It would preserve the cleanliness of dependencies.

Cheers,
Doru


> On Nov 18, 2015, at 10:53 AM, Ferlicot D. Cyril <[hidden email]> wrote:
>
> Hi everyone!
>
> I just wanted to say that I added a first version of Tree in FastTable
> and I corrected some bugs.
>
> If someone want to try it and give some feedback you can see some
> examples on the latest Pharo 5 in FTExamples class.
>
> With Usman we also worked on the glamour version of FastTable begun by
> Esteban.
> You can see some examples of FastList, FastTable, FastOutlineList and
> FastTree in the GLMExamplesBrowser after executing this:
>
>    (ConfigurationOfFastTable project version: #stable) load: #glamour
>
> Every feedback is welcome :)
>
> --
> Cyril Ferlicot ([hidden email])
>
> http://www.synectique.eu
>
> 165 Avenue Bretagne
> Lille 59000 France
>

--
www.tudorgirba.com

"No matter how many recipes we know, we still value a chef."








Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Tudor Girba-2
Hi,

Great. Please do not add any group. This is definitely a useful presentation, and it should be loaded by default with ConfigurationOfGlamour (not GlamourCore yet).

Cheers,
Doru


> On Nov 23, 2015, at 3:26 PM, Usman Bhatti <[hidden email]> wrote:
>
> Hi Doru,
>
> Cyril has already copied glamour components for FASTTable in Glamour's repo.
> To load these, we can create a group in configOfGlamour to load glamour components and their dependencies (fasttable).
>
> Usman
>
> On Wed, Nov 18, 2015 at 11:01 AM, Tudor Girba <[hidden email]> wrote:
> Hi,
>
> Great.
>
> Please package the Glamour presentations in the Glamour repository and in the ConfigurationOfGlamour. It would preserve the cleanliness of dependencies.
>
> Cheers,
> Doru
>
>
> > On Nov 18, 2015, at 10:53 AM, Ferlicot D. Cyril <[hidden email]> wrote:
> >
> > Hi everyone!
> >
> > I just wanted to say that I added a first version of Tree in FastTable
> > and I corrected some bugs.
> >
> > If someone want to try it and give some feedback you can see some
> > examples on the latest Pharo 5 in FTExamples class.
> >
> > With Usman we also worked on the glamour version of FastTable begun by
> > Esteban.
> > You can see some examples of FastList, FastTable, FastOutlineList and
> > FastTree in the GLMExamplesBrowser after executing this:
> >
> >    (ConfigurationOfFastTable project version: #stable) load: #glamour
> >
> > Every feedback is welcome :)
> >
> > --
> > Cyril Ferlicot ([hidden email])
> >
> > http://www.synectique.eu
> >
> > 165 Avenue Bretagne
> > Lille 59000 France
> >
>
> --
> www.tudorgirba.com
>
> "No matter how many recipes we know, we still value a chef."
>
>
>
>
>
>
>
>

--
www.tudorgirba.com

"Quality cannot be an afterthought."


Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

CyrilFerlicot
In reply to this post by CyrilFerlicot
Le 18/11/2015 10:53, Ferlicot D. Cyril a écrit :

> Hi everyone!
>
> I just wanted to say that I added a first version of Tree in FastTable
> and I corrected some bugs.
>
> If someone want to try it and give some feedback you can see some
> examples on the latest Pharo 5 in FTExamples class.
>
> With Usman we also worked on the glamour version of FastTable begun by
> Esteban.
> You can see some examples of FastList, FastTable, FastOutlineList and
> FastTree in the GLMExamplesBrowser after executing this:
>
>     (ConfigurationOfFastTable project version: #stable) load: #glamour
>
> Every feedback is welcome :)
>
Hi,

I took into account your feedback.

I corrected the broken examples.

I copied the Glamour package into glamour repository. I did not produced
a new configuration yet.

Now the FastTree selection is updated when we collapse/extend an item.
The selection of collapsed item is not saved because with the current
implementation of FastTable that would be really complex. I think that
if someone want to have a widget with this feature that should be a
subclass of FTTreeDataSource and not a basic feature.

And I did some small changes.

--
Cyril Ferlicot

http://www.synectique.eu

165 Avenue Bretagne
Lille 59000 France


signature.asc (836 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

Thierry Goubier
Hi Cyril,

Le 24/11/2015 11:58, Ferlicot D. Cyril a écrit :

> Le 18/11/2015 10:53, Ferlicot D. Cyril a écrit :
>> Hi everyone!
>>
>> I just wanted to say that I added a first version of Tree in FastTable
>> and I corrected some bugs.
>>
>> If someone want to try it and give some feedback you can see some
>> examples on the latest Pharo 5 in FTExamples class.
>>
>> With Usman we also worked on the glamour version of FastTable begun by
>> Esteban.
>> You can see some examples of FastList, FastTable, FastOutlineList and
>> FastTree in the GLMExamplesBrowser after executing this:
>>
>>      (ConfigurationOfFastTable project version: #stable) load: #glamour
>>
>> Every feedback is welcome :)
>>
>
> Hi,
>
> I took into account your feedback.
>
> I corrected the broken examples.
>
> I copied the Glamour package into glamour repository. I did not produced
> a new configuration yet.
>
> Now the FastTree selection is updated when we collapse/extend an item.
> The selection of collapsed item is not saved because with the current
> implementation of FastTable that would be really complex. I think that
> if someone want to have a widget with this feature that should be a
> subclass of FTTreeDataSource and not a basic feature.

Agreed.

> And I did some small changes.
>

Selection probably doesn't work very well: I got a DNU in
updateSelectionWithCollectBlock:

(running exampleTree1, and trying the select in subtree then collapse)

In Morphic-Widgets-FastTable-CyrilFerlicot.133

(changing collectAsSet: by collect: gives the correct behavior on the
selection).

Thierry

Reply | Threaded
Open this post in threaded view
|

Re: News about FastTable

CyrilFerlicot
Le 24/11/2015 18:47, Thierry Goubier a écrit :

> Hi Cyril,
>
> Agreed.
>
> Selection probably doesn't work very well: I got a DNU in
> updateSelectionWithCollectBlock:
>
> (running exampleTree1, and trying the select in subtree then collapse)
>
> In Morphic-Widgets-FastTable-CyrilFerlicot.133
>
> (changing collectAsSet: by collect: gives the correct behavior on the
> selection).
>
> Thierry
>
It should work now.

--
Cyril Ferlicot

http://www.synectique.eu

165 Avenue Bretagne
Lille 59000 France


signature.asc (836 bytes) Download Attachment