[etoys-dev] Etoys Inbox: Skeleton-Richo.1.mcz
Bert Freudenberg
bert at freudenbergs.de
Mon Oct 17 07:03:49 EDT 2011
On 14.10.2011, at 22:52, commits at source.squeak.org wrote:
> Spam detection software, running on the system "europa.mgmt.inetu.net", has
> identified this incoming email as possible spam.
Err, sometimes spam detectors are stupid ;)
Something is suspicious though. E.g., I think we can remove this:
> ----- Method: SkeletonBaseInfo class>>addPseudoMethodForBabel (in category 'class initialization') -----
> addPseudoMethodForBabel
> "This method supports both 3.6 and 3.7"
> "self addPseudoMethodForBabel"
> | addMethodBlock |
> addMethodBlock _ [:class | class compileInobtrusively:
> 'translated
> ^ self'
> classified: 'forward compatibility'].
> ['Can you translate?' translated]
> on: MessageNotUnderstood
> do: [:ex | addMethodBlock
> value: (Smalltalk
> at: #AbstractString
> ifAbsent: [^ addMethodBlock value: String])]!
And do we really want to add all those sounds? They will make the sound drop-down longer.
> ----- Method: SkeletonBaseInfo class>>arrow (in category 'sound library') -----
> arrow
> SampledSound
> addLibrarySoundNamed: 'arrow'
> samples: (self mimeStringToBuffer:
> '/WD9a/0g/N78nvx0/Kv9Rv39/qz/gACQAYsCGAIjAfIB9AJeAxgD2AREBGsElgTABOoFHAU9
> BU4FPwTpBIMEOwP+A+gEGQRSBDQDrQMcAr4CWwHeAXIBKwEjAUgBRwEFAKQASwAF/6P/C/50
...
> ----- Method: SkeletonBaseInfo class>>cassete (in category 'sound library') -----
> cassete
> SampledSound
> addLibrarySoundNamed: 'cassete'
> samples: (self mimeStringToBuffer:
> 'AQD/AP4A/wD+AAAAAAD+AP8AAAD/AP0AAAAAAP8AAAABAAIA/AD/AP0A/wAAAAEA/QADAAAA
> AAD+AP8AAQACAP8A/wD+AP8AAgD9AAQA/AD/AP8AAAACAP0AAAD6AAgACgD4APkA9gAGABIA
...
> ----- Method: SkeletonBaseInfo class>>cork (in category 'sound library') -----
> cork
> SampledSound
> addLibrarySoundNamed: 'cork'
> samples: (self mimeStringToBuffer:
> 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
...
> ----- Method: SkeletonBaseInfo class>>mochi (in category 'sound library') -----
> mochi
> SampledSound
> addLibrarySoundNamed: 'mochi'
> samples: (self mimeStringToBuffer:
> '8gDsAOIA3gDvAC4AUQBDAA8AAAAxACsAHQAtABIA4wDEAMEA6gDbAPYAOQAqAAwAEADzALkA
> xAAGAOgAzgABADAAMwAgADEAGQAEAAQAxgDgAPQA7QDUAN4A+gDtAPQABwD9ANoAxQDNANoA
...
> ----- Method: SkeletonBaseInfo class>>rice (in category 'sound library') -----
> rice
> SampledSound
> addLibrarySoundNamed: 'rice'
> samples: (self mimeStringToBuffer:
> 'CgAGAPQADAAAAAgA/gAIAPoABAAEAO4AAAAAAPoA9AAGAAIA+gAIAPIACgD6AAoA+gACAA4A
...
> ----- Method: SkeletonBaseInfo class>>unstick (in category 'sound library') -----
> unstick
> SampledSound
> addLibrarySoundNamed: 'unstick'
> samples: (self mimeStringToBuffer:
> 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
...
How about this?
> PackageInfo subclass: #SkeletonInfo
> instanceVariableNames: ''
> classVariableNames: ''
> poolDictionaries: ''
> category: 'Skeleton-Base'!
>
> !SkeletonInfo commentStamp: 'tak 3/30/2004 21:40' prior: 0!
> I am a full Skeleton package information.!
>
> ----- Method: SkeletonInfo>>packageName (in category 'naming') -----
> packageName
> ^ 'Skeleton'!
And there are some method flagged TODO.
> ----- Method: Point>>direction2:distance: (in category '*skeleton-base-sheet') -----
> direction2: freePoint distance: distance
> "Ask Point by extention of self - freePoint with distance.
> (100 at 100 direction: 400 at 100 distance: 100) =
> (200 at 100)"
> "IT SHOULD BE REMOVED!!!!!! use #direction:distance:"
> self flag: #TODO.
> ^ self = freePoint
> ifTrue: [self]
> ifFalse: [self + (freePoint - self * distance / (freePoint - self) r)]!
This here uses fork without synchronizing with the Morphic UI process:
> ----- Method: Morph>>showPointArrowFrom:to:label: (in category '*skeleton-base-arrow') -----
> showPointArrowFrom: morph1 to: morph2 label: aString
> "Morph new showPointArrowFrom: (Morph new position: 0 at 0) to: (Morph
> new position: 200 at 200) label: 'test'"
> | p1 p2 arrow label connector |
> p1 := morph1 center.
> p2 := morph2 center.
> arrow := PolygonMorph arrowPrototype.
> arrow
> borderColor: (TranslucentColor
> r: 1.0
> g: 0.3
> b: 0.0
> alpha: 0.6).
> arrow
> setVertices: (Array with: p1 with: p2).
> arrow dashedBorder: {30. 30. Color transparent. 0. -10};
> startStepping.
> (Smalltalk
> at: #NCConnectorMorph
> ifAbsent: [])
> ifNotNil: [connector := NCConnectorMorph fromMorph: morph1 toMorph: morph2.
> connector line: arrow.
> connector lock.
> label := NCLabelMorph new string: aString.
> label input: morph1.
> label color: Color red.
> label openInWorld.
> arrow := connector].
> [arrow openInWorld.
> (Delay forMilliseconds: 500) wait.
> arrow delete.
> label
> ifNotNilDo: [:obj | obj delete]] fork!
It should be at least something like
arrow openInWorld.
[
(Delay forMilliseconds: 500) wait.
WorldState addDeferredUIMessage: [
arrow delete.
label ifNotNilDo: [:obj | obj delete]].
] fork
Or even better schedule an alarm instead of forking, e.g.
arrow openInWorld.
arrow addAlarm: #delete after: 500.
label ifNotNil: [label addAlarm: #delete after: 500.
- Bert -
-------------- n?chster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.squeakland.org/pipermail/etoys-dev/attachments/20111017/83e605d6/attachment-0001.html>
More information about the etoys-dev
mailing list