I'm implemented a new ToolRegistry class, which can work as
replacement of ToolSet.

It would require a 'bit' refactoring, to replace all references to
'ToolSet' with 'Smalltalk tools'.

What i discovered during implementation, if we migrate to new class, a
lot of stuff can be cleaned up.
For instance,

Smalltalk tools inspectorTypes

holds a dictionary of  Class name -> inspector class name
so, one could simply register own inspector by including a line:

Smalltalk tools inspectorTypes at: #MySpecialClass put: #MySpecialInspector

in package/class initialization method, instead of overriding #inspect method.

Also, during copying a StandartToolSet convenience methods
implementation i discovered a lot of tools which support different
protocols. It would be nice to at least make them all respond to same
message, like #open. Because currently, if you take a look at
different #openXXXXX methods in ToolRegistry, its using many
different/weird selectors to do the simplest possible thing - open a
new window!

In attachments you can find the actual class, and a small changeset
which is required to make magic
'Smalltalk tools' working.
I decided to put default tools/inspectors types in Preferences class.
See Preferences class>>registerPreferredTools method in changeset.



-- 
Best regards,
Igor Stasenko AKA sig.

Attachment: ToolRegistry-changes.2.cs
Description: Binary data

Attachment: ToolRegistry.st
Description: Binary data

_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to