-
Notifications
You must be signed in to change notification settings - Fork 11
/
LanguageUiDescriptionRegistry.ns
111 lines (107 loc) · 12.5 KB
/
LanguageUiDescriptionRegistry.ns
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
Newspeak3
'HopscotchIDE'
class LanguageUiDescriptionRegistry usingPlatform: platform ide: ide = (
(*
Copyright 2008 Cadence Design Systems, Inc.
Licensed under the Apache License, Version 2.0 (the ''License''); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*)
|
Form = platform squeak Form.
BitOfWisdom = ide browsingMisc BitOfWisdom.
SmalltalkLanguage = platform squeak SmalltalkLanguage.
NewspeakLanguage3 = platform kernel NewspeakLanguage3.
Map = platform collections Map.
registry ::= Map new.
|self init) (
class LanguageUiDescription = (|
protected classIcon_slot
|) (
public bitOfWisdom = (
^[BitOfWisdom text: classIconHint image: classIcon]
)
public classIcon = (
classIcon_slot isNil ifTrue: [classIcon_slot:: createClassIcon].
^classIcon_slot
)
classIconHint ^<String> = (
subclassResponsibility
)
createClassIcon ^<Form> = (
^Form
extent: 17@18
depth: 32
fromArray: {0. 16777216. 16777216. 67108864. 117440512. 677537604. 1500805712. 2309138056. 2544413582. 2258477698. 1500805712. 677537604. 117440512. 50331648. 16777216. 16777216. 0. 16777216. 33554432. 83886080. 306069803. 1332638796. 3234841253. 4193840093. 4294834162. 4294965490. 4294834162. 4176996311. 3133848475. 1332638796. 306069803. 83886080. 33554432. 16777216. 33554432. 83886080. 525555770. 2172879958. 3924283317. 4294897377. 4294897376. 4294897376. 4294897376. 4294897376. 4294897376. 4294897377. 3890662833. 2172683095. 525555770. 83886080. 33554432. 67108864. 184549376. 1399681868. 3823220619. 4294894797. 4294892735. 4294754960. 4294685556. 4294616668. 4294685813. 4294755218. 4294826941. 4294894797. 3856841362. 1399681868. 184549376. 67108864. 117440512. 743527736. 2863830370. 4294826165. 4294555256. 4293890622. 4293495862. 4293824311. 4294218297. 4293889848. 4293495862. 4293824826. 4294488174. 4294825393. 3015089263. 743527736. 117440512. 201326592. 1533899596. 3806308718. 4294682972. 4294153790. 4293439610. 4294503908. 4293442708. 4293365563. 4293308026. 4294503908. 4293574036. 4293956669. 4294615631. 3873484150. 1533899596. 201326592. 268435456. 1953987666. 4059274823. 4294615110. 4293958211. 4293113481. 4294703090. 4294504164. 4292184124. 4293512367. 4294703090. 4293512367. 4293695298. 4294615110. 4059275080. 1953987666. 268435456. 318767104. 2071625812. 4244219469. 4294616653. 4293959498. 4293114252. 4294504421. 4294703090. 4292058469. 4294504421. 4294240216. 4293512882. 4293631048. 4294616653. 4244219469. 2071625812. 318767104. 352321536. 1970699089. 4059277908. 4294618196. 4293961041. 4293115024. 4294504422. 4294240473. 4293249191. 4294703090. 4293777600. 4293579188. 4293632591. 4294618196. 4059277908. 1970699089. 352321536. 318767104. 1600745032. 3521161307. 4294685533. 4294028377. 4293181589. 4294504679. 4293315499. 4294504679. 4294240731. 4293513911. 4293645495. 4293699672. 4294685533. 3521161307. 1600745032. 318767104. 268435456. 943735596. 2628622428. 4294753383. 4294227556. 4293576860. 4294504936. 4292655500. 4294967295. 4293316270. 4293646011. 4293908924. 4293964642. 4294753383. 2628622428. 943735596. 268435456. 201326592. 452984832. 1600218691. 3420238954. 4294558576. 4294032748. 4293705075. 4293506665. 4293508731. 4293506665. 4293705075. 4293902197. 4294426991. 3420238954. 1600218691. 452984832. 201326592. 117440512. 318767104. 909588774. 2155971927. 3235165550. 4261203322. 4294757498. 4294757498. 4294691705. 4294757498. 4294757498. 4261137530. 3235165550. 2155971927. 909588774. 318767104. 117440512. 67108864. 184549376. 385875968. 824254999. 1633378367. 2510658403. 3571762041. 4093038464. 4294824834. 4093038464. 3571762041. 2510658403. 1633378367. 824254999. 385875968. 184549376. 67108864. 33554432. 83886080. 201326592. 385875968. 603979776. 1161378855. 1751345221. 2020899152. 2105246037. 2020899152. 1751345221. 1161378855. 603979776. 385875968. 201326592. 83886080. 33554432. 16777216. 33554432. 83886080. 184549376. 301989888. 452984832. 587202560. 687865856. 721420288. 687865856. 587202560. 452984832. 301989888. 184549376. 83886080. 33554432. 16777216. 0. 16777216. 16777216. 67108864. 117440512. 201326592. 268435456. 318767104. 352321536. 318767104. 268435456. 201326592. 117440512. 67108864. 16777216. 16777216. 0. 0. 0. 0. 16777216. 33554432. 50331648. 83886080. 100663296. 100663296. 100663296. 83886080. 50331648. 33554432. 16777216. 0. 0. 0}
offset: 0@0
)
public language = (
subclassResponsibility
)
public title ^<String> = (
subclassResponsibility
)
) : (
)
class Newspeak3UiDescription = LanguageUiDescription (|
public language = NewspeakLanguage3 new.
|) (
classIconHint ^<String> = (
^'This icon identifies Newspeak 3 language classes.'
)
createClassIcon = (
^Form
extent: 17@18
depth: 32
fromArray: {16777215. 16777215. 16777216. 50331648. 117440512. 677537604. 1500805712. 2308940934. 2544150923. 2258345856. 1500805712. 677537604. 117440512. 50331648. 16777216. 16777215. 16777215. 16777215. 33554432. 83886080. 306069803. 1332638796. 3234250912. 4193380565. 4294636777. 4294702570. 4294636778. 4176471504. 3133258390. 1332638796. 306069803. 83886080. 33554432. 16777215. 16777216. 83886080. 525555770. 2172748886. 3923628209. 4294504412. 4294504411. 4294504411. 4294504411. 4294504411. 4294504411. 4294504412. 3890007981. 2172617815. 508975932. 83886080. 16777216. 67108864. 167772160. 1399681868. 3822305163. 4294305997. 4294107838. 4293512336. 4293115764. 4292851036. 4293181557. 4293512593. 4294107580. 4294305996. 3855991442. 1399681868. 167772160. 50331648. 117440512. 726882105. 2863242339. 4294107322. 4293313402. 4292454720. 4292191289. 4291862583. 4291796790. 4292125241. 4292388409. 4292519997. 4293181297. 4294041270. 3014566768. 726882105. 117440512. 184549376. 1533899596. 3805263218. 4292982878. 4292586303. 4292257598. 4291733588. 4292791201. 4292989358. 4291734880. 4292060477. 4292586304. 4292586304. 4292784720. 3872504187. 1533899596. 184549376. 268435456. 1953987666. 4057509191. 4292718662. 4292718406. 4292060995. 4293780427. 4293583306. 4293253565. 4294637554. 4291733325. 4292652870. 4292718406. 4292718662. 4057509192. 1953987666. 268435456. 318767104. 2071625812. 4242453325. 4292850765. 4292851021. 4292324938. 4292394626. 4291671678. 4292265112. 4294637810. 4291536465. 4292719436. 4292850765. 4292850765. 4242453325. 2071625812. 318767104. 335544320. 1953987666. 4057708372. 4292983380. 4292983380. 4292523089. 4291603543. 4292792232. 4294308326. 4294637810. 4291669857. 4292720210. 4292983380. 4292983380. 4057708372. 1953987666. 335544320. 318767104. 1600745032. 3519984475. 4293181533. 4293181533. 4292458329. 4294110428. 4292726955. 4290815842. 4294308583. 4292725399. 4292852570. 4293181533. 4293181533. 3519984475. 1600745032. 318767104. 268435456. 943735596. 2628099164. 4293380199. 4293380199. 4292919908. 4292396166. 4294638067. 4294967295. 4293517766. 4292261983. 4293248614. 4293380199. 4293380199. 2628099164. 943735596. 268435456. 201326592. 452984832. 1600218691. 3419389034. 4293578609. 4293447024. 4292986733. 4292395121. 4292330106. 4292592234. 4293315695. 4293578609. 4293578609. 3419389034. 1600218691. 452984832. 201326592. 117440512. 318767104. 909588774. 2155906391. 3234446191. 4260222331. 4293776763. 4293645177. 4293645177. 4293711226. 4293776763. 4260222330. 3234446190. 2155906391. 909588774. 318767104. 117440512. 67108864. 184549376. 385875968. 824254999. 1633378367. 2510331491. 3571042937. 4092188288. 4293909378. 4092188288. 3571042937. 2510397027. 1633378367. 824254999. 385875968. 184549376. 67108864. 16777216. 83886080. 201326592. 385875968. 603979776. 1161378855. 1751345221. 2020899152. 2105246037. 2020899152. 1751345221. 1161378855. 603979776. 385875968. 201326592. 83886080. 16777216. 16777215. 33554432. 83886080. 167772160. 301989888. 452984832. 587202560. 687865856. 721420288. 687865856. 587202560. 452984832. 301989888. 167772160. 83886080. 33554432. 16777215. 16777215. 16777215. 16777216. 50331648. 117440512. 184549376. 268435456. 318767104. 335544320. 318767104. 268435456. 184549376. 117440512. 50331648. 16777216. 16777215. 16777215. 16777215. 16777215. 16777215. 16777216. 16777216. 50331648. 67108864. 100663296. 100663296. 100663296. 67108864. 50331648. 16777216. 16777216. 16777215. 16777215. 16777215. }
offset: 0@0
)
public title ^<String> = (
^'Newspeak 3 Language'
)
) : (
)
class SmalltalkUiDescription = LanguageUiDescription (|
public language = SmalltalkLanguage new.
|) (
classIconHint ^<String> = (
^'This icon identifies Smalltalk language classes.'
)
createClassIcon ^<Form> = (
^Form
extent: 17@18
depth: 32
fromArray: {16777215. 16777216. 16777216. 67108864. 117440512. 675036786. 1497844359. 2306966448. 2542308021. 2256240044. 1497844359. 675036786. 117440512. 50331648. 16777216. 16777216. 16777215. 16777216. 33554432. 83886080. 304490312. 1329809024. 3232739789. 4192856561. 4294440954. 4294506747. 4294440954. 4175816175. 3131484103. 1329809024. 304490312. 83886080. 33554432. 16777216. 33554432. 83886080. 523449697. 2169590931. 3922250203. 4293848821. 4293848821. 4293848821. 4293848821. 4293848821. 4293848821. 4293848821. 3888564186. 2169525138. 523449697. 83886080. 33554432. 67108864. 184549376. 1396917631. 3819942092. 4293125359. 4292599018. 4290888667. 4289901778. 4289046475. 4289967571. 4290954460. 4292533226. 4293125359. 3853759694. 1396917631. 184549376. 67108864. 117440512. 741421918. 2860088490. 4292401384. 4290164692. 4288125378. 4287928000. 4287928000. 4287928000. 4287928000. 4287928000. 4288059585. 4289835729. 4292204006. 3011741359. 741421918. 117440512. 201326592. 1531135359. 3802178243. 4289243852. 4288257219. 4288257219. 4288257219. 4288257219. 4288257219. 4288257219. 4288257219. 4288257219. 4288257219. 4288783560. 3869616069. 1531135359. 201326592. 268435456. 1950894986. 4053441732. 4288651719. 4288651719. 4288651719. 4288651719. 4288651719. 4288651719. 4288651719. 4288651719. 4288651719. 4288651719. 4288651719. 4053507524. 1950894986. 268435456. 318767104. 2068467086. 4238583497. 4288980938. 4288980938. 4288980938. 4288980938. 4288980938. 4288980938. 4288980938. 4288980938. 4288980938. 4288980938. 4288980938. 4238583497. 2068467086. 318767104. 352321536. 1967672201. 4054231243. 4289441230. 4289441230. 4289441230. 4289441230. 4289441230. 4289441230. 4289441230. 4289441230. 4289441230. 4289441230. 4289441230. 4054231243. 1967672201. 352321536. 318767104. 1598046842. 3516702404. 4289901778. 4289901778. 4289901778. 4289901778. 4289901778. 4289901778. 4289901778. 4289901778. 4289901778. 4289901778. 4289901778. 3516702404. 1598046842. 318767104. 268435456. 942090314. 2625010091. 4290559448. 4290559448. 4290559448. 4290559448. 4290559448. 4290559448. 4290559448. 4290559448. 4290559448. 4290559448. 4290559448. 2625010091. 942090314. 268435456. 201326592. 452984832. 1597717873. 3416762570. 4291151581. 4291151581. 4291151581. 4291151581. 4291151581. 4291151581. 4291151581. 4291151581. 4291151581. 3416762570. 1597717873. 452984832. 201326592. 117440512. 318767104. 908141375. 2152813715. 3232016072. 4257992162. 4291612386. 4291612386. 4291612386. 4291612386. 4291612386. 4257992162. 3232016072. 2152813715. 908141375. 318767104. 117440512. 67108864. 184549376. 385875968. 823399718. 1631074922. 2507635115. 3568941780. 4090285537. 4292072677. 4090285537. 3568941780. 2507635115. 1631074922. 823399718. 385875968. 184549376. 67108864. 33554432. 83886080. 201326592. 385875968. 603979776. 1159930946. 1748844404. 2017937799. 2102087311. 2017937799. 1748844404. 1159930946. 603979776. 385875968. 201326592. 83886080. 33554432. 16777216. 33554432. 83886080. 184549376. 301989888. 452984832. 587202560. 687865856. 721420288. 687865856. 587202560. 452984832. 301989888. 184549376. 83886080. 33554432. 16777216. 16777215. 16777216. 16777216. 67108864. 117440512. 201326592. 268435456. 318767104. 352321536. 318767104. 268435456. 201326592. 117440512. 67108864. 16777216. 16777216. 16777215. 16777215. 16777215. 16777215. 16777216. 33554432. 50331648. 83886080. 100663296. 100663296. 100663296. 83886080. 50331648. 33554432. 16777216. 16777215. 16777215. 16777215}
offset: 0@0
)
public title ^<String> = (
^'Smalltalk Language'
)
) : (
)
allDescriptions = (
^registry values asArray sort: [:a :b | a title <= b title]
)
public bitsOfWisdom = (
^allDescriptions collect: [:desc | desc bitOfWisdom]
)
public descriptionFor: language <Language> = (
^registry at: language name
)
descriptionForClass: cls <Class> = (
^descriptionFor: cls theNonMetaClass language
)
error: str = (
(* Parts of brazil still expect Object has this method *)
^Error signal: str
)
init = (
registry: Map new.
{SmalltalkUiDescription.
Newspeak3UiDescription}
do: [:descClass |
|desc|
desc:: descClass new.
registry at: desc language name put: desc.
].
)
) : (
)