[Pharo-project] Morphic (for gary :) and others)
Gary and others I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements. I see several actions - checking squeak toolbuilder enhancements and using it for the tools - checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph - removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer. What do you think?
Stef, As long as you're not giving up, I approve :) Cuis has set objectives, and absent Pharo, Squeak would be back to business as usual with shocking speed. Let's not try it. There no doubt are areas in which performance can be improved. One thing that has stuck with me for a while is that a prominent Squeaker (don't recall who) once was bragging about Squeak's graphics and the fact that all parameters are always passed on each call. True or not, then or now, I don't really know. My point is simply that there could be horrible penalties for extra parameters on the stack and changing any device contexts[*] for every call (worst case). Gary, does any of the above ring true? If so, is there anything we can/should do about it? Whatever the cause, I recently had the opportunity to put a very large number of items into a tree. It was something that I did in Dolphin, fully expecting to have to break up the data set for performance reasons, but was *very* surprised to see that Dolphin tolerated it well. Pharo pretty much drops to its knees on the same data. It might be my fault, but it would be nice to see comparable performance. As a related aside, I recently noticed mention of removing the world menu from Squeak. That is something we will eventually need to do if we want to get away from having a single main window and emulated shells inside it. Remove the desktop, and there is nowhere to click to get the menu. Bill [*] sorry, recovering Windows programmer. -----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Stéphane Ducasse Sent: Saturday, January 09, 2010 5:21 AM To: Pharo-project@lists.gforge.inria.fr Development Subject: [Pharo-project] Morphic (for gary :) and others) Gary and others I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements. I see several actions - checking squeak toolbuilder enhancements and using it for the tools - checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph - removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer. What do you think? _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Stef,
As long as you're not giving up, I approve :)
I decided now that I will not and you can believe me. Last day I was discussing with some colleagues of mine about all kinds of news about pharo (web site, companies....) and oen the them told: "and we all that you were depressed" and he was right.
Cuis has set objectives, and absent Pharo, Squeak would be back to business as usual with shocking speed. Let's not try it.
We can learn from it and this is what is the most interesting part.
There no doubt are areas in which performance can be improved. One thing that has stuck with me for a while is that a prominent Squeaker (don't recall who) once was bragging about Squeak's graphics and the fact that all parameters are always passed on each call. True or not, then or now, I don't really know. My point is simply that there could be horrible penalties for extra parameters on the stack and changing any device contexts[*] for every call (worst case). Gary, does any of the above ring true? If so, is there anything we can/should do about it?
Whatever the cause, I recently had the opportunity to put a very large number of items into a tree. It was something that I did in Dolphin, fully expecting to have to break up the data set for performance reasons, but was *very* surprised to see that Dolphin tolerated it well. Pharo pretty much drops to its knees on the same data. It might be my fault, but it would be nice to see comparable performance.
Yes.
As a related aside, I recently noticed mention of removing the world menu from Squeak. That is something we will eventually need to do if we want to get away from having a single main window and emulated shells inside it. Remove the desktop, and there is nowhere to click to get the menu.
Yes now I'm quite sure you do not want to have the same as in squeak. It is the old worldMenuBar
Bill
[*] sorry, recovering Windows programmer.
-----Original Message----- From: pharo-project-bounces@lists.gforge.inria.fr [mailto:pharo-project-bounces@lists.gforge.inria.fr] On Behalf Of Stéphane Ducasse Sent: Saturday, January 09, 2010 5:21 AM To: Pharo-project@lists.gforge.inria.fr Development Subject: [Pharo-project] Morphic (for gary :) and others)
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru -- www.tudorgirba.com "Reasonable is what we are accustomed with."
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy Editor TextEditor SimpleEditor SmalltalkEditor See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html. New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller! SmalltalkEditor is has Smalltalk code specific features. SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line. Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress. Fernando On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Sun, Jan 10, 2010 at 5:45 PM, Fernando olivero wrote:
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Just a heads up: This will require some work in OB down the line. OBTextMorphEditor inherits from TextMorphEditor. Squeak trunk has this refactoring in, and the default editor is now TextEditor there. Which OB is not making use of, as of yet. -- Danie Roux *shuffle* Adore Unix - http://danieroux.com
Thanks ! Initially i wont be integrating this changes in OB but is good to know this extra info. Fernando On Jan 10, 2010, at 4:55 PM, Danie Roux wrote:
On Sun, Jan 10, 2010 at 5:45 PM, Fernando olivero wrote:
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Just a heads up:
This will require some work in OB down the line.
OBTextMorphEditor inherits from TextMorphEditor. Squeak trunk has this refactoring in, and the default editor is now TextEditor there.
Which OB is not making use of, as of yet.
-- Danie Roux *shuffle* Adore Unix - http://danieroux.com
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
It would be really great to have that in Pharo. I would adopt it in Glamour in a heartbeat :) Is there an easy way to load this code in Pharo? Especially given that it looks like it can live side-by-side with the current editor. Cheers, Doru On 10 Jan 2010, at 16:45, Fernando olivero wrote:
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html .
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com "Be rather willing to give than demanding to get."
File out the classes and edit and replace the underscores assignments with :=, and they load just ok. But Juan also modified other classes and methods referenced/used while adopting the new editors objects. You can adopt it right away for Glamour, but remember that Morphic in Cuis has a cleanup, and some methods may be not be there. I'm tracking them and will prepare a change set, for compatibiliy with the Morphic in Cuis and Morphic in Pharo. For example Text in Cuis, has some methods that in Pharo are missing. Juan did a really great work on this refactoring! and we should integrate it as soon as posible. Fernando On Jan 10, 2010, at 5:50 PM, Tudor Girba wrote:
It would be really great to have that in Pharo. I would adopt it in Glamour in a heartbeat :)
Is there an easy way to load this code in Pharo? Especially given that it looks like it can live side-by-side with the current editor.
Cheers, Doru
On 10 Jan 2010, at 16:45, Fernando olivero wrote:
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html .
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com
"Be rather willing to give than demanding to get."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi Fernando,
File out the classes and edit and replace the underscores assignments with :=, and they load just ok. But Juan also modified other classes and methods referenced/used while adopting the new editors objects.
You can adopt it right away for Glamour, but remember that Morphic in Cuis has a cleanup, and some methods may be not be there.
I'm tracking them and will prepare a change set, for compatibiliy with the Morphic in Cuis and Morphic in Pharo. For example Text in Cuis, has some methods that in Pharo are missing.
I will wait for your notice then.
Juan did a really great work on this refactoring! and we should integrate it as soon as posible.
I very much agree :). Cheers, Doru
Fernando
On Jan 10, 2010, at 5:50 PM, Tudor Girba wrote:
It would be really great to have that in Pharo. I would adopt it in Glamour in a heartbeat :)
Is there an easy way to load this code in Pharo? Especially given that it looks like it can live side-by-side with the current editor.
Cheers, Doru
On 10 Jan 2010, at 16:45, Fernando olivero wrote:
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html .
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com
"Be rather willing to give than demanding to get."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com "To lead is not to demand things, it is to make them happen."
doru ScriptLoader new ddExtraRepositories -> open squeak trunk and you can see their changes and integration of CUIS. This is since the sprint at lille that we should have a look. Stef On Jan 10, 2010, at 5:50 PM, Tudor Girba wrote:
It would be really great to have that in Pharo. I would adopt it in Glamour in a heartbeat :)
Is there an easy way to load this code in Pharo? Especially given that it looks like it can live side-by-side with the current editor.
Cheers, Doru
On 10 Jan 2010, at 16:45, Fernando olivero wrote:
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html .
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com
"Be rather willing to give than demanding to get."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Is it possible to integrate the work done in Safara ? Just asking ;) Cédrick
I took a look at Safara, i loved the Object-Oriented approach to editors. But i've loaded the lastest version and had some bugs, seemed to me un-finished. Also i recall Lukas speaking of some performance issues. Is the creator of Safara working on it currently? Till Safara is usable and performant i think Cuis editors and TextMorph cleanup is the way to go. Fernando On Jan 11, 2010, at 12:16 AM, Cédrick Béler wrote:
Is it possible to integrate the work done in Safara ?
Just asking ;)
Cédrick <ATT00001..txt>
On Jan 11, 2010, at 1:03 AM, Fernando olivero wrote:
I took a look at Safara, i loved the Object-Oriented approach to editors.
But i've loaded the lastest version and had some bugs, seemed to me un-finished.
Also i recall Lukas speaking of some performance issues.
Is the creator of Safara working on it currently?
not from what I know. ESUG wanted to sponsor him but I imgaine that he never restarted to work on it.
Till Safara is usable and performant i think Cuis editors and TextMorph cleanup is the way to go.
Yes
Fernando
On Jan 11, 2010, at 12:16 AM, Cédrick Béler wrote:
Is it possible to integrate the work done in Safara ?
Just asking ;)
Cédrick <ATT00001..txt>
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Excellent fernando! Did you start from squeak or cuis I was planning to start from Squeak since they ported back CUIS code in the context of WideStrings (CUIS is pre unicode support) Stef
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html.
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Stef, i've started from CUIS. This is what i have done so far. 1. Added the System-TextAttributes category 2. Moved the classes from Collections-Text to System-TextAttributes 3. Added System-Text category 4. Move Text from Collections-Text to System-Text. 5. File in CUIS new classes: Editor, SimpleEditor, TextEditor and SmalltalkEditor. 6. Removed Collections-Text category. Problems started here: 7. Merge CUIS Text class with Pharo Text class. (Cuis) Text has an attribute named initialStyle not present in (Pharo) Text. This is the main diff from both images. 8. Merge CUIS NewParagraph with Pharo NewParagraph (Pharo) NewParagraph has an attribute named textStyle not present in (Cuis) Pharo. In several NewParagraph methods CUIS doesn't care is some strings are isOctetString, and the Pharo NewParagraph does. For example #composeAll. I've preserved the Pharo behavior. Maybe i should start with the Squeak port then? Further steps: 9. Merge (cuis) TextMorph and (pharo) TextMorph, making it have a non-smalltalk,TextEditor. 10. Create (pharo) CodeMorph, replacing a TextMorph with a SmalltalkEditor. To my opinion , this will the major contribution, separating TextEditor and SmalltlakEditor concernes and their proper views , TextMorph and CodeMorph. Fernando On Jan 10, 2010, at 10:43 PM, Stéphane Ducasse wrote:
Excellent fernando! Did you start from squeak or cuis I was planning to start from Squeak since they ported back CUIS code in the context of WideStrings (CUIS is pre unicode support)
Stef
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html.
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi Fernando, This sounds really exciting :) Cheers, Doru On 12 Jan 2010, at 13:32, Fernando olivero wrote:
Stef, i've started from CUIS.
This is what i have done so far.
1. Added the System-TextAttributes category 2. Moved the classes from Collections-Text to System-TextAttributes 3. Added System-Text category 4. Move Text from Collections-Text to System-Text. 5. File in CUIS new classes: Editor, SimpleEditor, TextEditor and SmalltalkEditor. 6. Removed Collections-Text category.
Problems started here:
7. Merge CUIS Text class with Pharo Text class.
(Cuis) Text has an attribute named initialStyle not present in (Pharo) Text. This is the main diff from both images.
8. Merge CUIS NewParagraph with Pharo NewParagraph
(Pharo) NewParagraph has an attribute named textStyle not present in (Cuis) Pharo.
In several NewParagraph methods CUIS doesn't care is some strings are isOctetString, and the Pharo NewParagraph does. For example #composeAll. I've preserved the Pharo behavior.
Maybe i should start with the Squeak port then?
Further steps:
9. Merge (cuis) TextMorph and (pharo) TextMorph, making it have a non-smalltalk,TextEditor.
10. Create (pharo) CodeMorph, replacing a TextMorph with a SmalltalkEditor. To my opinion , this will the major contribution, separating TextEditor and SmalltlakEditor concernes and their proper views , TextMorph and CodeMorph.
Fernando
On Jan 10, 2010, at 10:43 PM, Stéphane Ducasse wrote:
Excellent fernando! Did you start from squeak or cuis I was planning to start from Squeak since they ported back CUIS code in the context of WideStrings (CUIS is pre unicode support)
Stef
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html .
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com "Obvious things are difficult to teach."
Hi Fernano, Any new development on this front? :) Cheers, Doru On 12 Jan 2010, at 16:40, Tudor Girba wrote:
Hi Fernando,
This sounds really exciting :)
Cheers, Doru
On 12 Jan 2010, at 13:32, Fernando olivero wrote:
Stef, i've started from CUIS.
This is what i have done so far.
1. Added the System-TextAttributes category 2. Moved the classes from Collections-Text to System-TextAttributes 3. Added System-Text category 4. Move Text from Collections-Text to System-Text. 5. File in CUIS new classes: Editor, SimpleEditor, TextEditor and SmalltalkEditor. 6. Removed Collections-Text category.
Problems started here:
7. Merge CUIS Text class with Pharo Text class.
(Cuis) Text has an attribute named initialStyle not present in (Pharo) Text. This is the main diff from both images.
8. Merge CUIS NewParagraph with Pharo NewParagraph
(Pharo) NewParagraph has an attribute named textStyle not present in (Cuis) Pharo.
In several NewParagraph methods CUIS doesn't care is some strings are isOctetString, and the Pharo NewParagraph does. For example #composeAll. I've preserved the Pharo behavior.
Maybe i should start with the Squeak port then?
Further steps:
9. Merge (cuis) TextMorph and (pharo) TextMorph, making it have a non-smalltalk,TextEditor.
10. Create (pharo) CodeMorph, replacing a TextMorph with a SmalltalkEditor. To my opinion , this will the major contribution, separating TextEditor and SmalltlakEditor concernes and their proper views , TextMorph and CodeMorph.
Fernando
On Jan 10, 2010, at 10:43 PM, Stéphane Ducasse wrote:
Excellent fernando! Did you start from squeak or cuis I was planning to start from Squeak since they ported back CUIS code in the context of WideStrings (CUIS is pre unicode support)
Stef
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html .
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com
"Obvious things are difficult to teach."
-- www.tudorgirba.com "Speaking louder won't make the point worthier."
Hi Tudor, I had to postpone this work for a while, because i have a deadline this 22. But i will continue to work on it next week. Up to now, i have a changeset that reifies the list i sent in the previous email. And started to look at the port of CUIS editors in the Squeak Trunk , as Steff suggest it would be a better starting point. I have everything ported up to NewParagraph. Just a thought, TextMorph andPluggableTextMorph hierarchies are full of overrides, i think because people diddnt want to cleanup over complicated TextMorph and PluggableTextMorph, and still be able to edit text and code! After porting CUIS Editor, there will be a major problem when making the new TextMorph ( FOR TEXT) and CodeMorph ( for...CODE). A lot of compatibility with the IDE tools will be a problem. So i will make a clean CodeMorph and CleanTextMorph to start with. Later Shout and OB, and O2 people could extend the hierarchies properly. Saludos, Fernando On Jan 18, 2010, at 9:20 AM, Tudor Girba wrote:
Hi Fernano,
Any new development on this front? :)
Cheers, Doru
On 12 Jan 2010, at 16:40, Tudor Girba wrote:
Hi Fernando,
This sounds really exciting :)
Cheers, Doru
On 12 Jan 2010, at 13:32, Fernando olivero wrote:
Stef, i've started from CUIS.
This is what i have done so far.
1. Added the System-TextAttributes category 2. Moved the classes from Collections-Text to System-TextAttributes 3. Added System-Text category 4. Move Text from Collections-Text to System-Text. 5. File in CUIS new classes: Editor, SimpleEditor, TextEditor and SmalltalkEditor. 6. Removed Collections-Text category.
Problems started here:
7. Merge CUIS Text class with Pharo Text class.
(Cuis) Text has an attribute named initialStyle not present in (Pharo) Text. This is the main diff from both images.
8. Merge CUIS NewParagraph with Pharo NewParagraph
(Pharo) NewParagraph has an attribute named textStyle not present in (Cuis) Pharo.
In several NewParagraph methods CUIS doesn't care is some strings are isOctetString, and the Pharo NewParagraph does. For example #composeAll. I've preserved the Pharo behavior.
Maybe i should start with the Squeak port then?
Further steps:
9. Merge (cuis) TextMorph and (pharo) TextMorph, making it have a non-smalltalk,TextEditor.
10. Create (pharo) CodeMorph, replacing a TextMorph with a SmalltalkEditor. To my opinion , this will the major contribution, separating TextEditor and SmalltlakEditor concernes and their proper views , TextMorph and CodeMorph.
Fernando
On Jan 10, 2010, at 10:43 PM, Stéphane Ducasse wrote:
Excellent fernando! Did you start from squeak or cuis I was planning to start from Squeak since they ported back CUIS code in the context of WideStrings (CUIS is pre unicode support)
Stef
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html .
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- www.tudorgirba.com
"Obvious things are difficult to teach."
-- www.tudorgirba.com
"Speaking louder won't make the point worthier."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Jan 12, 2010, at 1:32 PM, Fernando olivero wrote:
Stef, i've started from CUIS.
This is what i have done so far.
1. Added the System-TextAttributes category 2. Moved the classes from Collections-Text to System-TextAttributes 3. Added System-Text category 4. Move Text from Collections-Text to System-Text. 5. File in CUIS new classes: Editor, SimpleEditor, TextEditor and SmalltalkEditor. 6. Removed Collections-Text category.
Problems started here:
7. Merge CUIS Text class with Pharo Text class.
(Cuis) Text has an attribute named initialStyle not present in (Pharo) Text. This is the main diff from both images.
8. Merge CUIS NewParagraph with Pharo NewParagraph
(Pharo) NewParagraph has an attribute named textStyle not present in (Cuis) Pharo.
In several NewParagraph methods CUIS doesn't care is some strings are isOctetString, and the Pharo NewParagraph does. For example #composeAll. I've preserved the Pharo behavior.
Maybe i should start with the Squeak port then?
yes
Further steps:
9. Merge (cuis) TextMorph and (pharo) TextMorph, making it have a non-smalltalk,TextEditor.
10. Create (pharo) CodeMorph, replacing a TextMorph with a SmalltalkEditor. To my opinion , this will the major contribution, separating TextEditor and SmalltlakEditor concernes and their proper views , TextMorph and CodeMorph.
Fernando
On Jan 10, 2010, at 10:43 PM, Stéphane Ducasse wrote:
Excellent fernando! Did you start from squeak or cuis I was planning to start from Squeak since they ported back CUIS code in the context of WideStrings (CUIS is pre unicode support)
Stef
Juan re-factored the smalltalk behavior in the editors, creating the following hierarchy
Editor TextEditor SimpleEditor SmalltalkEditor
See the comment in Editor class in Cuis image http://www.jvuletich.org/Cuis/Index.html.
New text editors. TextEditor provides most of the functionality that used to be in TextMorphEditor. This class is no longer a Controller!
SmalltalkEditor is has Smalltalk code specific features.
SimpleEditor provides basic functionality for single line text editing. It does not handle fonts and styles, aligning and Smalltalk utilities. It handles one single line.
Would be nice to adopt this refactoring into Pharo, i've started to port it and cleaning up the textmorph in the process. But it's still a work in progress.
Fernando
On Jan 10, 2010, at 3:09 PM, Tudor Girba wrote:
Hi,
Gary and others
I really think that we should do an audit of Morphic. In 1.1 we are going already faster but I'm sure that there is plenty of space for improvements.
I see several actions - checking squeak toolbuilder enhancements and using it for the tools
- checking CUIS - juan did an excellent job remocving a lot of unnecessary code - juan optimize scrollbar - juan did a new texteditor morph
Indeed, a text editor that does not hardcode smalltalk specific behavior would be great :).
- removing/cleaning extra widgets Pluggable/nonpluggable plague. - integrating better polymorph into the widgets layer.
What do you think?
Doru
-- www.tudorgirba.com
"Reasonable is what we are accustomed with."
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (6)
-
Cédrick Béler -
Danie Roux -
Fernando olivero -
Schwab,Wilhelm K -
Stéphane Ducasse -
Tudor Girba