'From etoys3.0 of 24 February 2008 [latest update: #2081] on 24 September 2008 at 12:50:53 am'! "Change Set: removeAudioChat-yo Date: 15 September 2008 Author: Yoshiki Ohshima This changeset removes AudioChatGUI and related classes by removing the user of it (EToySenderMorph>>startAudioChat:), and comment out the senders of its interface method (EToySenderMorph>>userName:userPicture:userEmail:userIPAddress: and SugarBuddy). The postscript has following. EToySenderMorph removeSelector: #startAudioChat. EToySenderMorph removeSelector: #startAudioChat:. Smalltalk removeClassNamed: #AudioChatGUI. SystemOrganization removeCategoriesMatching: 'Nebraska-Audio Chat'. EToyIncomingMessage class removeSelector: #typeAudioChat. EToyIncomingMessage class removeSelector: #typeAudioChatContinuous. EToyIncomingMessage classPool at: #MessageHandlers put: nil. EToyIncomingMessage classPool at: #MessageTypes put: nil. EToyIncomingMessage initializeMessageHandlers."! !EToyIncomingMessage class methodsFor: 'message types' stamp: 'yo 9/24/2008 00:44'! allTypes ^MessageTypes ifNil: [ MessageTypes _ { self typeKeyboardChat. self typeMorph. self typeFridge. self typeStatusRequest. self typeStatusReply. self typeSeeDesktop. self typeMultiChat. } ] ! ! !EToySenderMorph methodsFor: 'as yet unclassified' stamp: 'yo 9/15/2008 10:14'! userName: aString userPicture: aFormOrNil userEmail: emailString userIPAddress: ipString | dropZoneRow | self setProperty: #currentBadgeVersion toValue: self currentBadgeVersion. userPicture _ aFormOrNil ifNil: [ (TextStyle default fontOfSize: 26) emphasized: 1; characterFormAt: $? ]. userPicture _ userPicture scaledToSize: 61@53. self killExistingChat. self removeAllMorphs. self useRoundedCorners. self addARow: { self inAColumn: {(StringMorph contents: aString) lock} }. dropZoneRow _ self addARow: { self inAColumn: {userPicture asMorph lock} }. self establishDropZone: dropZoneRow. self addARow: { self textEntryFieldNamed: #emailAddress with: emailString help: 'Email address for this person' }; addARow: { self textEntryFieldNamed: #ipAddress with: ipString help: 'IP address for this person' }; addARow: { self indicatorFieldNamed: #working color: Color blue help: 'working' translated. self indicatorFieldNamed: #communicating color: Color green help: 'sending' translated. self buttonNamed: 'C' action: #startChat color: Color paleBlue help: 'Open a written chat with this person' translated. self buttonNamed: 'T' action: #startTelemorphic color: Color paleYellow help: 'Start telemorphic with this person' translated. self buttonNamed: '!!' action: #tellAFriend color: Color paleGreen help: 'Tell this person about the current project' translated. self buttonNamed: '?' action: #checkOnAFriend color: Color lightBrown help: 'See if this person is available' translated. "self buttonNamed: 'A' action: #startAudioChat color: Color yellow help: 'Open an audio chat with this person' translated." self buttonNamed: 'S' action: #startNebraskaClient color: Color white help: 'See this person''s world (if he allows that)' translated. }. ! ! !SugarBuddy methodsFor: 'actions' stamp: 'yo 9/15/2008 10:15'! makeBadge | badge font ext | badge := EToySenderMorph new userName: nick userPicture: (self xoFormExtent: 61@53 background: Color veryVeryLightGray) userEmail: 'who@where.net' userIPAddress: ip; color: Color veryVeryLightGray; borderColor: Color gray. badge setProperty: #buddy toValue: self. #( tellAFriend emailAddress startTelemorphic "startAudioChat" startNebraskaClient ipAddress checkOnAFriend ) do: [:ea | badge hideField: ea]. font := Preferences standardEToysFont. ext := (font widthOf: $m) + 2 @ font height. badge allMorphsDo: [:m | (m respondsTo: #font:) ifTrue: [m font: font]. (m class == SimpleButtonMorph) ifTrue: [m extent: ext]]. ^ badge.! ! "Postscript: " EToySenderMorph removeSelector: #startAudioChat. EToySenderMorph removeSelector: #startAudioChat:. Smalltalk removeClassNamed: #AudioChatGUI. SystemOrganization removeCategoriesMatching: 'Nebraska-Audio Chat'. EToyIncomingMessage class removeSelector: #typeAudioChat. EToyIncomingMessage class removeSelector: #typeAudioChatContinuous. EToyIncomingMessage classPool at: #MessageHandlers put: nil. EToyIncomingMessage classPool at: #MessageTypes put: nil. EToyIncomingMessage initializeMessageHandlers.!