David T. Lewis uploaded a new version of EToys to project The Trunk: http://source.squeak.org/trunk/EToys-dtl.87.mcz
==================== Summary ====================
Name: EToys-dtl.87 Author: dtl Time: 11 February 2012, 12:08:07.755 pm UUID: bd55f46b-4e07-4ff6-80fd-1538e83bccd1 Ancestors: EToys-ul.86
Make Connectors removable (almost).
Morph>>connections and Morph>>wantsEmbeddingsVocabulary are provided by package Connectors. Remove the stub implementations from Morphic and update Morph>>wantsConnectionVocabulary and Morph>>filterViewerCategoryDictionary: in package Etoys with #respondsTo: checks to break the package dependencies.
Update ObjectPropertiesMorph>>rebuild to match the version provided in Connectors. Move to method category "connectors-visual properties" as a reminder of the override in Connectors.
Follow up needed in Connectors: Remove Morph>>dismissMorph override Remove PasteUpMorph>>tellAllContents: override Remove ObjectPropertiesMorph>>rebuild override
=============== Diff against EToys-ul.86 ===============
Item was changed: ----- Method: Morph>>filterViewerCategoryDictionary: (in category '*Etoys-scripting') ----- filterViewerCategoryDictionary: dict "dict has keys of categories and values of priority. You can re-order or remove categories here."
self wantsConnectionVocabulary ifFalse: [ dict removeKey: #'connections to me' ifAbsent: []. dict removeKey: #connection ifAbsent: []]. self wantsConnectorVocabulary ifFalse: [ dict removeKey: #connector ifAbsent: [] ]. + ((self respondsTo: #wantsEmbeddingsVocabulary) "package Connectors" + and: [self perform: #wantsEmbeddingsVocabulary]) + ifFalse: [dict removeKey: #embeddings ifAbsent: []]. - self wantsEmbeddingsVocabulary - ifFalse: [dict removeKey: #embeddings ifAbsent: []]. Preferences eToyFriendly ifTrue: [dict removeKey: #layout ifAbsent: []]. (Preferences eToyFriendly or: [self isWorldMorph not]) ifTrue: [dict removeKey: #preferences ifAbsent: []].!
Item was changed: ----- Method: Morph>>wantsConnectionVocabulary (in category '*Etoys-scripting') ----- wantsConnectionVocabulary submorphs ifNil: [ ^true ]. "called from EToyVocabulary>>initialize after basicNew"
^ (Preferences valueOfFlag: #alwaysShowConnectionVocabulary) + or: [ (self respondsTo: #connections) + and: [(self perform: #connections) isEmpty not ] ]! - or: [ self connections isEmpty not ]!
Item was changed: + ----- Method: ObjectPropertiesMorph>>rebuild (in category 'connectors-visual properties') ----- - ----- Method: ObjectPropertiesMorph>>rebuild (in category 'as yet unclassified') ----- rebuild + | buttons | + - self removeAllMorphs. self addARow: { self lockedString: ('Properties for {1}' translated format: {myTarget name}). }. self addARow: { self inAColumn: { self paneForCornerRoundingToggle. self paneForStickinessToggle. self paneForLockedToggle. }. }.
self addARow: { self paneForMainColorPicker. self paneFor2ndGradientColorPicker. }. self addARow: { self paneForBorderColorPicker. self paneForShadowColorPicker. }.
+ buttons := OrderedCollection new. + buttons addAll: { + self - self addARow: { - self buttonNamed: 'Accept' translated action: #doAccept color: color lighter help: 'keep changes made and close panel' translated. self buttonNamed: 'Cancel' translated action: #doCancel color: color lighter help: 'cancel changes made and close panel' translated. + }. + + self addOptionalButtonsTo: buttons. + self addARow: buttons. - }, self rebuildOptionalButtons.
thingsToRevert := Dictionary new. "thingsToRevert at: #fillStyle: put: myTarget fillStyle." myTarget isSystemWindow ifTrue: [ thingsToRevert at: #setWindowColor: put: myTarget paneColorToUse ]. thingsToRevert at: #hasDropShadow: put: myTarget hasDropShadow. thingsToRevert at: #shadowColor: put: myTarget shadowColor. (myTarget respondsTo: #borderColor:) ifTrue: [ thingsToRevert at: #borderColor: put: myTarget borderColor. ].
thingsToRevert at: #borderWidth: put: myTarget borderWidth. thingsToRevert at: #cornerStyle: put: myTarget cornerStyle. thingsToRevert at: #sticky: put: myTarget isSticky. thingsToRevert at: #lock: put: myTarget isLocked. !
packages@lists.squeakfoundation.org