1 "{ Package: 'jv:smallsense' }" |
1 "{ Package: 'jv:smallsense' }" |
2 |
2 |
3 "{ NameSpace: SmallSense }" |
3 "{ NameSpace: SmallSense }" |
4 |
4 |
5 PO subclass:#ClassPO |
5 PO subclass:#ClassPO |
6 instanceVariableNames:'showPrefix' |
6 instanceVariableNames:'showPrefix klass' |
7 classVariableNames:'' |
7 classVariableNames:'' |
8 poolDictionaries:'' |
8 poolDictionaries:'' |
9 category:'SmallSense-Core-Interface-PO' |
9 category:'SmallSense-Core-Interface-PO' |
10 ! |
10 ! |
11 |
11 |
12 |
12 |
13 !ClassPO methodsFor:'accessing'! |
13 !ClassPO methodsFor:'accessing'! |
14 |
14 |
15 icon |
15 icon |
16 |
16 |
17 icon ifNil:[icon := SystemBrowser iconForClass: subject]. |
17 icon ifNil:[icon := SystemBrowser iconForClass: klass]. |
18 ^icon |
18 ^icon |
19 |
19 |
20 "Created: / 06-04-2011 / 23:36:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
20 "Created: / 06-04-2011 / 23:36:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
21 ! |
21 ! |
22 |
22 |
23 klass |
23 klass |
24 ^ subject |
24 ^ klass |
25 |
25 |
26 "Created: / 25-08-2013 / 13:07:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
26 "Created: / 25-08-2013 / 13:07:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
27 ! |
27 ! |
28 |
28 |
29 klass: klass |
29 klass: aClass |
30 ^ subject := klass |
30 ^ klass := aClass |
31 |
31 |
32 "Created: / 25-08-2013 / 13:07:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
32 "Created: / 25-08-2013 / 13:07:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
33 "Modified: / 20-05-2014 / 10:05:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
33 ! |
34 ! |
34 |
35 |
35 name |
36 name |
36 |
37 |
37 | nm | |
38 | nm | |
38 |
39 |
39 showPrefix ifTrue:[ |
40 showPrefix ifTrue:[ |
40 nm := subject name. |
41 nm := klass name. |
41 (context notNil and:[subject isJavaClass]) ifTrue:[ |
42 (context notNil and:[klass isJavaClass]) ifTrue:[ |
42 context language isJava ifTrue:[ |
43 context language isJava ifTrue:[ |
43 nm := subject javaName |
44 nm := klass javaName |
44 ] ifFalse:[ |
45 ] ifFalse:[ |
45 context language isSmalltalk ifTrue:[ |
46 context language isSmalltalk ifTrue:[ |
46 nm := 'JAVA ' , (subject binaryName copyReplaceAll: $/ with: Character space) |
47 nm := 'JAVA ' , (klass binaryName copyReplaceAll: $/ with: Character space) |
47 ] |
48 ] |
48 ] |
49 ] |
49 ]. |
50 ]. |
50 ] ifFalse:[ |
51 ] ifFalse:[ |
51 nm := subject nameWithoutPrefix. |
52 nm := klass nameWithoutPrefix. |
52 ]. |
53 ]. |
53 ^nm |
54 ^nm |
54 |
55 |
55 "Created: / 26-08-2013 / 10:26:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
56 "Created: / 26-08-2013 / 10:26:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
56 "Modified: / 17-12-2013 / 22:16:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
57 "Modified: / 17-12-2013 / 22:16:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
82 |
83 |
83 "Created: / 20-10-2013 / 02:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84 "Created: / 20-10-2013 / 02:46:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
84 ! |
85 ! |
85 |
86 |
86 stringToCompleteForLanguage: language |
87 stringToCompleteForLanguage: language |
87 ^ (subject isJavaClass and:[language isSmalltalk]) ifTrue:[ |
88 ^ (klass isJavaClass and:[language isSmalltalk]) ifTrue:[ |
88 'JAVA ', (subject binaryName copyReplaceAll: $/ with: Character space) |
89 'JAVA ', (klass binaryName copyReplaceAll: $/ with: Character space) |
89 ] ifFalse:[ |
90 ] ifFalse:[ |
90 super stringToCompleteForLanguage: language |
91 super stringToCompleteForLanguage: language |
91 ]. |
92 ]. |
92 |
93 |
93 "Created: / 03-10-2013 / 16:42:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
94 "Created: / 03-10-2013 / 16:42:05 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
94 "Modified: / 20-10-2013 / 02:35:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
95 "Modified: / 20-10-2013 / 02:35:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
95 ! |
|
96 |
|
97 subject: aClass |
|
98 |
|
99 super subject: aClass. |
|
100 |
|
101 "Created: / 06-04-2011 / 21:02:34 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
102 "Modified: / 03-10-2013 / 16:30:10 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
103 ! ! |
96 ! ! |
104 |
97 |
105 !ClassPO methodsFor:'converting'! |
98 !ClassPO methodsFor:'converting'! |
106 |
99 |
107 asString |
100 asString |
108 ^subject isJavaClass ifTrue:[ |
101 ^klass isJavaClass ifTrue:[ |
109 subject javaName |
102 klass javaName |
110 ] ifFalse:[ |
103 ] ifFalse:[ |
111 subject name |
104 klass name |
112 ]. |
105 ]. |
113 |
106 |
114 "Created: / 04-04-2012 / 13:00:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
107 "Created: / 04-04-2012 / 13:00:58 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
115 "Modified: / 26-08-2013 / 10:27:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
108 "Modified: / 26-08-2013 / 10:27:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
116 ! ! |
109 ! ! |
121 | namespace y0 lw cnw fg | |
114 | namespace y0 lw cnw fg | |
122 |
115 |
123 super displayLabel:aLabel h:lH on:aGC x:x y:y h:h. |
116 super displayLabel:aLabel h:lH on:aGC x:x y:y h:h. |
124 |
117 |
125 showPrefix ifFalse:[ |
118 showPrefix ifFalse:[ |
126 namespace := subject isJavaClass |
119 namespace := klass isJavaClass |
127 ifFalse:[subject nameSpace name] |
120 ifFalse:[klass nameSpace name] |
128 ifTrue:[subject javaPackage]. |
121 ifTrue:[klass javaPackage]. |
129 (namespace notNil and:[namespace ~~ #Smalltalk]) ifTrue:[ |
122 (namespace notNil and:[namespace ~~ #Smalltalk]) ifTrue:[ |
130 namespace := 'in ', namespace. |
123 namespace := 'in ', namespace. |
131 lw := x + IconWidth + (aLabel widthOn: aGC). |
124 lw := x + IconWidth + (aLabel widthOn: aGC). |
132 y0 := y - (lH + 1 - h // 2). |
125 y0 := y - (lH + 1 - h // 2). |
133 y0 := y0 + (namespace ascentOn:aGC). |
126 y0 := y0 + (namespace ascentOn:aGC). |