Benjamin started and rewrote the recentMessages and friends. If people can review his code it would be great.
Related with the issue http://code.google.com/p/pharo/issues/detail?id=2757 (Issue 2757: Refactor StringHolder) I was looking at the StringHolder hierarchy, and well, it's not very nice. Playing to see how difficult should it be to refactor the hierarchy and decouple a bit those things, I took Workspace off from there, and writing 2 methods it happened to work well (at least with what I tested, hehe).
Sooo, I wondered why a StringHolder, what responsibilities it has, and what ones should it have... I found that most of the messages a StringHolder understands are for browsing things and inspect things, such as the Paragraph editor does :). And that's why Workspace could do all his stuff when I made him inherit from Object...
I think that we should - Replace ParagraphEditor by SmalltalkEditor, TextEditor (did not check but it should be like that in CUIS and Squeak) In Squeak TextMorph >> initialize "TextMorph initialize" "Initialize the default text editor class to use" DefaultEditorClass := SmalltalkEditor. - then we should probably rewrite some parts and do not inherit from StringHolder I never understood why MessageSet is a subclass of Browser :) But I would focus on the
StringHolder class comment says: "I am a kind of Model that includes a piece of text. In some cases, the text can be edited, and in some the text is a method."
And I smell that its main responsibility is to hold a Text or a String in its contents variable, and all its subclasses are there because of that... And if so, I don't like that inheritance approach :).
This is exact.
I want to destroy (literally) that hierarchy :). And maybe it helps us in coming refactors and cleanings, so we can do them with less fear :P.
So could you review benjamin code? then check the texteditor/paragraphEditor
Well, this mail is just for ask for advice and argue about the correctness of this change (or not).
Thanks for reading up to here! Guille _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project