Status: Accepted
Owner: [hidden email] CC: [hidden email] Labels: Milestone-1.4 New issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 - It is much too slow - the implementation implies the creation of MorphTreeModel subclasses even for simple lists (as an example, TickList* is made of 8 classes) - composition is not made easy (MCSliceMaker, SettingBrowser, TimeProfiler, FinderUI and MessageListBrowser should not be subclasses of MorphTreeModel) _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #1 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 Thanks alain. We need you. Stef _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #2 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 first part: SLICE-Issue-4904-MorphTreeMorph-improvements-AlainPlantec.1 - Speed improvement: 10 to 12 times faster ! the speed is now very near from what is possible with PluggableListMorph. the TimeProfiler is now very efficient. - made MorphTreeModel composable (see MCSliceMaker which is not a MorphTreeModel subclass anymore) - Start to use Annoucements instead of change/update (see MorphTreeSelectionChanged announcement) - no item "forgotten" when sliding with the mouse for auto multiselection (as in the TestRunner, try to select items with the mouse, some items are not selected if the mouse slides too fast) - no need for TickList* (8 classes) and no need for a CheckList class ---- (TickDialogWindo itemsList: Morph methodDict values itemsHeaderName: 'Plop' wrapBlockOrSelector: #selector title: 'Example') choose ---- can be implemented as: ---- (MorphTreeModel new rootItems: Morph methodDict values; wrapBlockOrSelector: #selector; autoMultiSelection: true; headerLabel: 'Plop'; beCheckList) openDialogWindowIn: World title: 'All Morph methods' ---- (10 times faster) _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Updates:
Status: ReviewNeeded Comment #3 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 (No comment was entered for this change.) _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #4 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 Sweet! Just a quick comment: Why not call it SelectionChanged? I'm quite certain there are others widgets changing selection as well :) Perhaps make it the beginning of a GUI-Announcements package? IE: Have the Announcement be general, and specify which widget you are interested in listening to based on which Announcer you subscribe to instead. _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #5 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 alain do you want me to integrate these changes now? _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #6 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 @rydier yep, I think announcement should be general, but announcer specific. But it's not always easy to set up :) By the way, great job Alain. It's damn so cool :) _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #7 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 Ok I will integrate them now :) _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #8 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 take the second version SLICE-Issue-4904-MorphTreeMorph-improvements-AlainPlantec.2 _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #9 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 regarding announcements, I agree but for now I prefer to let it tree specific. The goal is to use annoucements instead of the change/update only for the tree for now. When this kind of refactoring will be done for other widgets, then we will see how to better integrate Annoucmement. _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #10 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 I'm taking v2 now :) _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Updates:
Status: Closed Comment #11 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 in 14191 _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #12 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 Argh I got a bug when I wanted to test if the package would load well. So I'm trying to push the change without verification because I suspect the problem to be in the update process. and we will see _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Updates:
Status: ReviewNeeded Comment #13 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 argh I have a problem so I will rollback but now I have to take the train. Apparently there is a do it with classTrait that is not understood by the Obsoleteclass _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #14 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 Seems to come from here Model subclass: #MorphTreeModel uses: AnObsoleteTMorphTreeModel instanceVariableNames: 'selection announcer rootItems autoMultiSelection headerLabel multiSelection wrapBlockOrSelector isCheckList' classVariableNames: '' poolDictionaries: '' category: 'Morphic-MorphTreeWidget' _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #15 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 yes, the problem is that I have the correct declaration and the trait is actually removed in my package. But when the slice is merged or loaded this bad declaration is here again ... here is what I have when the slice is uploaded: Model subclass: #MorphTreeModel instanceVariableNames: 'selection announcer rootItems autoMultiSelection headerLabel multiSelection wrapBlockOrSelector isCheckList' classVariableNames: '' poolDictionaries: '' category: 'Morphic-MorphTreeWidget' _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #16 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 I've found a workarround by manually removing the trait and accept the new MorphTreeModel class declaration *before* merging. -> 21 conflicts when merging. If one accept all incoming versions, all seems ok. _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #17 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 alain so that understand well. I could do first a change with the class without trait and then I do an update with the slice? _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #18 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 yes, only if the update is a merge. remove the trait and its uses in MorphTreeModel, then merge. _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Comment #19 on issue 4904 by [hidden email]: MorphTreeMorph improvements http://code.google.com/p/pharo/issues/detail?id=4904 so, as a pre-script ------ Model subclass: #MorphTreeModel uses: {} instanceVariableNames: 'selection pageSize' classVariableNames: '' poolDictionaries: '' category: 'Morphic-MorphTreeWidget'. TMorphTreeModel removeFromSystem. ------- then merge with: SLICE-Issue-4904-MorphTreeMorph-improvements-AlainPlantec.6 _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
Free forum by Nabble | Edit this page |