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 (cyril.ferlicot@synectique.eu) http://www.synectique.eu 165 Avenue Bretagne Lille 59000 France
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 <cyril.ferlicot@gmail.com> 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 (cyril.ferlicot@synectique.eu)
165 Avenue Bretagne Lille 59000 France
-- www.tudorgirba.com "No matter how many recipes we know, we still value a chef."
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 <tudor@tudorgirba.com> 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 < cyril.ferlicot@gmail.com> 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 (cyril.ferlicot@synectique.eu)
165 Avenue Bretagne Lille 59000 France
-- www.tudorgirba.com
"No matter how many recipes we know, we still value a chef."
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 <usman.bhatti@gmail.com> 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 <tudor@tudorgirba.com> 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 <cyril.ferlicot@gmail.com> 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 (cyril.ferlicot@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."
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 :)
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
2015-11-19 12:41 GMT+01:00 Stephan Eggermont <stephan@stack.nl>:
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
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
2015-11-19 15:46 GMT+01:00 Stephan Eggermont <stephan@stack.nl>:
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
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
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
2015-11-18 10:53 GMT+01:00 Ferlicot D. Cyril <cyril.ferlicot@gmail.com>:
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 (cyril.ferlicot@synectique.eu)
165 Avenue Bretagne Lille 59000 France
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 <cyril.ferlicot@gmail.com> 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 (cyril.ferlicot@synectique.eu)
165 Avenue Bretagne Lille 59000 France
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 :)
Yes, this is nice, thanks guys.
On 19 Nov 2015, at 21:31, stepharo <stepharo@free.fr> 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 :)
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 :)
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
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
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
participants (9)
-
Alexandre Bergel -
Ferlicot D. Cyril -
Nicolai Hess -
Stephan Eggermont -
stepharo -
Sven Van Caekenberghe -
Thierry Goubier -
Tudor Girba -
Usman Bhatti