On Jul 4, 2008, at 1:04 AM, Matthew Fulmer wrote:
On Thu, Jul 03, 2008 at 08:32:33PM +0200, St?phane Ducasse wrote:
I was wondering what is the amount of work to add traits support.
The problem is that I do not have a big picture about all the palyer:
classDecorator, classEditor....
It does not look complex but I'm ill so comment and a class diagram
would help.
SystemEditor is an experiment done by Colin to try out a model
he had to make loading truly atomic. He did the first 90% of the
work; he made the model and got it passing the test suite.
He then abandoned it and went back to working on Monticello2.
Now, I am doing the other 90% of the work: fixing bugs, and
cleaning up the code.
:)
I know that. I did game dev long time ago and this was like that :)
ClassDecorator is something I made just 2 weeks ago to bring
some extensibility to SystemEditor. Classes don't have the same
properties on every system. On 3.9 systems, they have a
traitDescription. In Tweak, they have fields. On Squeak 3.x,
they have an organization. In Spoon, they have tags. So, there
would be things like:
- TraitDecorator
- TweakFieldDecorator
- ClassOrganizationDecorator
- NaiadTagDecorator
depending on the system, and which extra packages are loaded.
These decorators would insert behavior and state at various
points in the life of a class editor (definition time, build
time, migration time, etc.). They were inspired roughly by
PRDocument decorators in Pier.
Ok add that to the class comment.
Why there is no common superclass?
MetaclassEditor needs to be a subclass of Behavior, since it
creates instances (in order to support the class protocol: the
class of a ClassEditor is a MetaclassEditor). The others,
however could be subclasses of an AbstractEditor. I have created
an AbstractEditor in my latest code (not yet uploaded), so that
doing "AbstractEditor on: anObject" will create an instance of
the correct editor class. Also, MethodDictionaryEditor and
SystemEditor could both be subclasses of a DictionaryEditor;
they share a lot of behavior like that.
good.
<snip lots of great code comments>
Thanks for the comments in the code. I will definitely apply
them.
Also, thanks for your comments. They are helping a lot. I have a
lot of the makings of a design document now.
Excellent. I asked david to improve the OB browser to display forms in
the text
pan when it browses Manifesto classes and methods with PNG I will ask
him
if this is possible to make a try for real.
Thanks matthew.
--
Matthew Fulmer -- http://mtfulmer.wordpress.com/
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project