author | Claus Gittinger <cg@exept.de> |
Thu, 18 Jan 2018 19:07:03 +0100 | |
changeset 17944 | 58da3a446bc2 |
parent 17938 | 873e0a718474 |
child 17945 | e5a9fa05e956 |
permissions | -rw-r--r-- |
0 | 1 |
" |
5 | 2 |
COPYRIGHT (c) 1989 by Claus Gittinger |
8908 | 3 |
All Rights Reserved |
0 | 4 |
|
5 |
This software is furnished under a license and may be used |
|
6 |
only in accordance with the terms of that license and with the |
|
7 |
inclusion of the above copyright notice. This software may not |
|
8 |
be provided or otherwise made available to, or used by, any |
|
9 |
other person. No title to or ownership of the software is |
|
10 |
hereby transferred. |
|
11 |
" |
|
2657 | 12 |
"{ Package: 'stx:libtool' }" |
13 |
||
15246 | 14 |
"{ NameSpace: Smalltalk }" |
15 |
||
93 | 16 |
SimpleView subclass:#InspectorView |
11909
9ea1b7aa98dc
changed: #pseudoFieldNamesWithIndexed:
Claus Gittinger <cg@exept.de>
parents:
11895
diff
changeset
|
17 |
instanceVariableNames:'listView labelView workspace inspectedObject selectedLine nShown |
9ea1b7aa98dc
changed: #pseudoFieldNamesWithIndexed:
Claus Gittinger <cg@exept.de>
parents:
11895
diff
changeset
|
18 |
hasMore monitorProcess hideReceiver integerDisplayRadix |
9ea1b7aa98dc
changed: #pseudoFieldNamesWithIndexed:
Claus Gittinger <cg@exept.de>
parents:
11895
diff
changeset
|
19 |
inspectHistory allowFollow isStandaloneInspector selectionIndex |
9ea1b7aa98dc
changed: #pseudoFieldNamesWithIndexed:
Claus Gittinger <cg@exept.de>
parents:
11895
diff
changeset
|
20 |
object inspectedObjectHolder displayStringMessage |
9ea1b7aa98dc
changed: #pseudoFieldNamesWithIndexed:
Claus Gittinger <cg@exept.de>
parents:
11895
diff
changeset
|
21 |
suppressPseudoSlots dereferenceValueHolders suppressHeadline |
12467 | 22 |
headLineLabel sortOrder hideMessages hideHashes |
16546 | 23 |
holderChangeInterest sortOrderHolder' |
24 |
classVariableNames:'DefaultIcon DefaultIntegerDisplayRadix ExpandArraysInAllLists |
|
25 |
IdDictionary LastExtent NextSequentialID SortOrderAlphabetical |
|
17872 | 26 |
SortOrderInstvarOrder DefaultHideMessages DefaultHideHashes |
27 |
NoLongerPresentDummyObject' |
|
11909
9ea1b7aa98dc
changed: #pseudoFieldNamesWithIndexed:
Claus Gittinger <cg@exept.de>
parents:
11895
diff
changeset
|
28 |
poolDictionaries:'' |
9ea1b7aa98dc
changed: #pseudoFieldNamesWithIndexed:
Claus Gittinger <cg@exept.de>
parents:
11895
diff
changeset
|
29 |
category:'Interface-Inspector' |
0 | 30 |
! |
31 |
||
871 | 32 |
!InspectorView class methodsFor:'documentation'! |
29 | 33 |
|
34 |
copyright |
|
35 |
" |
|
36 |
COPYRIGHT (c) 1989 by Claus Gittinger |
|
8908 | 37 |
All Rights Reserved |
29 | 38 |
|
39 |
This software is furnished under a license and may be used |
|
40 |
only in accordance with the terms of that license and with the |
|
41 |
inclusion of the above copyright notice. This software may not |
|
42 |
be provided or otherwise made available to, or used by, any |
|
43 |
other person. No title to or ownership of the software is |
|
44 |
hereby transferred. |
|
45 |
" |
|
46 |
! |
|
47 |
||
48 |
documentation |
|
49 |
" |
|
1570 | 50 |
This class implements a graphical inspector. |
29 | 51 |
Inspecting can be done on an object - |
52 |
(where its instvarnames/values are inspected) |
|
1570 | 53 |
or a list of objects (where a nameArray/valuesArray is inspected). |
29 | 54 |
The later is used by the debugger to inspect method variables/args. |
55 |
||
56 |
The system calls the inspector through the global variable 'Inspector' |
|
57 |
which is bound to this class (but could be redefined - it actually is |
|
1570 | 58 |
set to MiniInspector in a smalltalk without graphical user interface, |
59 |
or to NewInspector if that is wanted). |
|
0 | 60 |
|
29 | 61 |
Also notice, that there are two methods to inspect an object: |
62 |
sending #basicInspect to any object, will open this kind of inspector on |
|
63 |
it (showing instance variables which are physically present). |
|
64 |
||
65 |
Sending it #inspect, will - depending on the object - sometimes invoke a |
|
66 |
specialized inspector. |
|
1570 | 67 |
(see OrderedCollectionInspectorView, ImageInspectorView, |
68 |
ColorInspectorView etc. as examples). |
|
29 | 69 |
|
446 | 70 |
You can also open a monitoring inspector, which displays some instance |
71 |
variable in regular intervals. See #openOn:monitor:. |
|
72 |
||
29 | 73 |
examples: |
2008
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
74 |
#(1 2 3 4) asOrderedCollection inspect |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
75 |
#(1 2 3 4) asOrderedCollection basicInspect |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
76 |
(Array new:10000) inspect |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
77 |
(Image fromFile:'bitmaps/claus.gif') inspect |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
78 |
(Image fromFile:'bitmaps/claus.gif') basicInspect |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
79 |
(Image fromFile:'bitmaps/SBrowser.xbm') inspect |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
80 |
(Image fromFile:'bitmaps/SBrowser.xbm') basicInspect |
446 | 81 |
|
2008
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
82 |
InspectorView openOn:Display |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
83 |
InspectorView openOn:Display monitor:'shiftDown' |
11660 | 84 |
InspectorView openOn:(Image fromScreen) |
85 |
InspectorView openOn:(Image fromFile:'banner8.xpm') |
|
2008
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
86 |
|
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
87 |
The InspectorView can also be used as a subComponent within another view. |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
88 |
In this case, the isStandAlone flag should be cleared, to prevent the |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
89 |
inspector from changing the topViews window label. |
510 | 90 |
|
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
91 |
Notice: |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
92 |
the instvars 'inspectedObject' and 'selectedLine' have been |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
93 |
renamed to 'object' and 'selectionIndex' for squeak compatibility; |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
94 |
however, the old vars are kept (in sync) for a while, to allow for |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
95 |
smooth migration. |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
96 |
|
6940 | 97 |
Controlling the contents from the inspected object. |
98 |
||
99 |
By redefining inspectorExtraAttributes or inspectorExtraNamedFields, the inspected |
|
100 |
object can add items to the list of fields as ashown in the left list-view of the inspector. |
|
101 |
These methods are meant to return a sequencable Collection of Associations, which represent |
|
102 |
of pseudo slot-name, slot-value pairs. |
|
103 |
In the list, extra attributes are shown with a dash (-), extra named fields are marked with a tick (`). |
|
104 |
These are added (read only) to the list. |
|
105 |
||
510 | 106 |
[author:] |
2008
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
107 |
Claus Gittinger |
29 | 108 |
" |
16550 | 109 |
! ! |
110 |
||
111 |
!InspectorView class methodsFor:'initialization'! |
|
112 |
||
113 |
initialize |
|
16546 | 114 |
SortOrderAlphabetical := #alphabetical. |
17872 | 115 |
SortOrderInstvarOrder := #instvarOrder. |
116 |
NoLongerPresentDummyObject := Object new. |
|
29 | 117 |
! ! |
0 | 118 |
|
871 | 119 |
!InspectorView class methodsFor:'instance creation'! |
0 | 120 |
|
200 | 121 |
for:anObject |
122 |
"create and launch a new inspector for anObject. |
|
123 |
This protocol is a historic leftover - this method will vanish." |
|
124 |
||
125 |
^ self openOn:anObject |
|
126 |
! |
|
127 |
||
128 |
inspect:anObject |
|
129 |
"create and launch a new inspector for anObject. |
|
130 |
This protocol is a historic leftover - this method will vanish." |
|
131 |
||
132 |
^ self openOn:anObject |
|
133 |
! |
|
134 |
||
0 | 135 |
openOn:anObject |
136 |
"create and launch a new inspector for anObject" |
|
137 |
||
416
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
138 |
^ self openOn:anObject monitor:nil |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
139 |
|
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
140 |
" |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
141 |
InspectorView openOn:(5 @ 7) |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
142 |
InspectorView openOn:(Array new:400) |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
143 |
DictionaryInspectorView openOn:(IdentityDictionary new) |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
144 |
" |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
145 |
|
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
146 |
"Modified: 1.3.1996 / 19:31:03 / cg" |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
147 |
! |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
148 |
|
8452 | 149 |
openOn:anObject monitor:anInstVarNameOrNil |
416
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
150 |
"create and launch a new inspector for anObject. |
8452 | 151 |
If anInstVarNameOrNil is nonNil, let the inspector monitor it |
2008
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
152 |
(use an integer-printString as name, for indexed instVars)." |
416
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
153 |
|
105 | 154 |
|topView inspectorView| |
0 | 155 |
|
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
156 |
topView := StandardSystemView new. |
9295 | 157 |
topView |
158 |
icon:self defaultIcon; |
|
159 |
label:'Inspector'; |
|
160 |
iconLabel:'Inspector'; |
|
161 |
extent:self defaultTopViewExtent; |
|
162 |
objectAttributeAt:#rememberExtent put:true. |
|
0 | 163 |
|
164 |
inspectorView := self origin:(0.0 @ 0.0) |
|
2007 | 165 |
corner:(1.0 @ 1.0) |
166 |
in:topView. |
|
0 | 167 |
|
3 | 168 |
"kludge: must realize first, to be able to set menu again" |
352 | 169 |
topView openAndWait. |
871 | 170 |
topView windowGroup |
2007 | 171 |
focusSequence:(Array |
172 |
with:inspectorView listView |
|
173 |
with:inspectorView workspace). |
|
9262 | 174 |
inspectorView |
175 |
allowFollow:true; |
|
176 |
isStandaloneInspector:true; |
|
177 |
inspect:anObject. |
|
416
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
178 |
|
8452 | 179 |
anInstVarNameOrNil notNil ifTrue:[ |
180 |
inspectorView monitor:anInstVarNameOrNil |
|
416
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
181 |
]. |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
182 |
|
69 | 183 |
^ inspectorView |
0 | 184 |
|
29 | 185 |
" |
416
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
186 |
|m| |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
187 |
|
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
188 |
m := 1 asValue. |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
189 |
InspectorView openOn:m monitor:'value'. |
871 | 190 |
|
191 |
2 to:10 do:[:i | |
|
2007 | 192 |
Delay waitForSeconds:1. |
193 |
m value:i |
|
871 | 194 |
] |
416
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
195 |
" |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
196 |
|
29 | 197 |
" |
416
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
198 |
|o| |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
199 |
|
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
200 |
o := Array with:1 with:2 with:3. |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
201 |
InspectorView openOn:o monitor:'2'. |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
202 |
Delay waitForSeconds:1. |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
203 |
o at:2 put:20 |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
204 |
" |
fd30ab6185c7
added startup-with-monitor method
Claus Gittinger <cg@exept.de>
parents:
383
diff
changeset
|
205 |
|
7867 | 206 |
"Created: / 01-03-1996 / 19:30:50 / cg" |
207 |
"Modified: / 23-10-2007 / 19:08:21 / cg" |
|
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
208 |
! |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
209 |
|
13133 | 210 |
openOn:anObject title:aString |
211 |
"create and launch a new inspector for anObject" |
|
212 |
||
213 |
(self openOn:anObject monitor:nil) topView label:aString |
|
214 |
||
215 |
" |
|
216 |
InspectorView openOn:(5 @ 7) title:'my point' |
|
217 |
" |
|
218 |
! |
|
219 |
||
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
220 |
openOn:anObject withEvalPane:withEvalPane |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
221 |
^ self openOn:anObject |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
222 |
! |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
223 |
|
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
224 |
openOn:anObject withEvalPane:withEvalPane withLabel:aLabel |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
225 |
^ self openOn:anObject |
73 | 226 |
! ! |
227 |
||
10321 | 228 |
!InspectorView class methodsFor:'common label support'! |
229 |
||
230 |
commonLabelFor:anObject |
|
231 |
"return the windowLabel to use in my topView, when inspecting anObject. |
|
232 |
Identical objects are labelled with the same id, which makes it easy to |
|
233 |
see if two objects are identical (and is very useful, indeed). |
|
234 |
WARNING: used by both Inspector and Inspector2 !!!!!!" |
|
235 |
||
14184 | 236 |
|lbl id| |
10321 | 237 |
|
17123 | 238 |
(anObject isProtoObject not and:[anObject isImmediate or:[anObject isBoolean]]) ifTrue:[ |
14508 | 239 |
^ self labelNameFor:anObject. |
10321 | 240 |
]. |
14508 | 241 |
lbl := '<%1> %2'. |
10321 | 242 |
|
243 |
IdDictionary isNil ifTrue:[ |
|
244 |
IdDictionary := WeakIdentityDictionary new. |
|
245 |
]. |
|
14508 | 246 |
|
247 |
"/ get or assign a new id |
|
10321 | 248 |
[ |
249 |
id := IdDictionary |
|
250 |
at:anObject |
|
251 |
ifAbsentPut:[ |
|
252 |
|nextID| |
|
253 |
||
254 |
nextID := NextSequentialID ? 0. |
|
255 |
NextSequentialID := nextID + 1. |
|
256 |
nextID |
|
257 |
]. |
|
258 |
] valueUninterruptably. |
|
259 |
||
260 |
^ self classResources |
|
261 |
string:lbl |
|
14508 | 262 |
with:id |
10321 | 263 |
with:(self labelNameFor:anObject) |
264 |
||
265 |
"Created: / 15-07-2011 / 16:21:44 / cg" |
|
266 |
! |
|
267 |
||
268 |
labelNameFor:anObject |
|
269 |
"return the iconLabel to use in my topView, when inspecting anObject. |
|
270 |
Simply returns the className or name of anObjects class" |
|
271 |
||
272 |
|s| |
|
273 |
||
17123 | 274 |
anObject isProtoObject ifTrue:[ |
17816 | 275 |
^ anObject class nameWithArticle. |
16758 | 276 |
]. |
277 |
||
10321 | 278 |
anObject isClass ifTrue:[ |
279 |
s := anObject displayString |
|
280 |
] ifFalse:[ |
|
281 |
(anObject isImmediate |
|
282 |
or:[anObject isBoolean]) ifTrue:[ |
|
283 |
s := anObject printString , ', ' , anObject classNameWithArticle |
|
284 |
] ifFalse:[ |
|
285 |
s := anObject classNameWithArticle |
|
286 |
]. |
|
287 |
]. |
|
288 |
s isNil ifTrue:[ |
|
289 |
anObject isBehavior ifTrue:[ |
|
290 |
^ 'someBehavior' |
|
291 |
]. |
|
292 |
^ 'something' |
|
293 |
]. |
|
294 |
^ s |
|
295 |
||
296 |
"Created: / 15-07-2011 / 16:20:06 / cg" |
|
17816 | 297 |
"Modified: / 29-11-2017 / 10:22:15 / stefan" |
10321 | 298 |
! ! |
299 |
||
871 | 300 |
!InspectorView class methodsFor:'defaults'! |
73 | 301 |
|
1873
5fd55aa184d4
added redefinable #defaultExtent method.
Claus Gittinger <cg@exept.de>
parents:
1855
diff
changeset
|
302 |
defaultExtent |
13768
956c2f91c5d9
Replace references to Diplay with "Screen current" - where appropriate
Stefan Vogel <sv@exept.de>
parents:
13701
diff
changeset
|
303 |
"return the default extent of my instances. |
956c2f91c5d9
Replace references to Diplay with "Screen current" - where appropriate
Stefan Vogel <sv@exept.de>
parents:
13701
diff
changeset
|
304 |
The value returned here is usually ignored, and |
956c2f91c5d9
Replace references to Diplay with "Screen current" - where appropriate
Stefan Vogel <sv@exept.de>
parents:
13701
diff
changeset
|
305 |
the value from preferredExtent taken instead." |
956c2f91c5d9
Replace references to Diplay with "Screen current" - where appropriate
Stefan Vogel <sv@exept.de>
parents:
13701
diff
changeset
|
306 |
|
956c2f91c5d9
Replace references to Diplay with "Screen current" - where appropriate
Stefan Vogel <sv@exept.de>
parents:
13701
diff
changeset
|
307 |
|display| |
956c2f91c5d9
Replace references to Diplay with "Screen current" - where appropriate
Stefan Vogel <sv@exept.de>
parents:
13701
diff
changeset
|
308 |
|
956c2f91c5d9
Replace references to Diplay with "Screen current" - where appropriate
Stefan Vogel <sv@exept.de>
parents:
13701
diff
changeset
|
309 |
display := Screen current. |
956c2f91c5d9
Replace references to Diplay with "Screen current" - where appropriate
Stefan Vogel <sv@exept.de>
parents:
13701
diff
changeset
|
310 |
^ (display monitorBoundsAt:display pointerPosition) extent // 3. |
1873
5fd55aa184d4
added redefinable #defaultExtent method.
Claus Gittinger <cg@exept.de>
parents:
1855
diff
changeset
|
311 |
|
5fd55aa184d4
added redefinable #defaultExtent method.
Claus Gittinger <cg@exept.de>
parents:
1855
diff
changeset
|
312 |
"Created: / 7.9.1998 / 13:47:45 / cg" |
5fd55aa184d4
added redefinable #defaultExtent method.
Claus Gittinger <cg@exept.de>
parents:
1855
diff
changeset
|
313 |
"Modified: / 7.9.1998 / 14:15:38 / cg" |
5fd55aa184d4
added redefinable #defaultExtent method.
Claus Gittinger <cg@exept.de>
parents:
1855
diff
changeset
|
314 |
! |
5fd55aa184d4
added redefinable #defaultExtent method.
Claus Gittinger <cg@exept.de>
parents:
1855
diff
changeset
|
315 |
|
16883 | 316 |
defaultHideHashes |
317 |
^ DefaultHideHashes? true |
|
318 |
! |
|
319 |
||
320 |
defaultHideHashes:aBoolean |
|
321 |
DefaultHideHashes := aBoolean |
|
322 |
! |
|
323 |
||
324 |
defaultHideMessages |
|
325 |
^ DefaultHideMessages ? true |
|
326 |
! |
|
327 |
||
328 |
defaultHideMessages:aBoolean |
|
329 |
DefaultHideMessages := aBoolean |
|
330 |
! |
|
331 |
||
73 | 332 |
defaultIcon |
1146 | 333 |
"return the browsers default window icon" |
334 |
||
7835 | 335 |
<resource: #programImage> |
7629 | 336 |
<resource: #style (#INSPECTOR_ICON #INSPECTOR_ICON_FILE)> |
1146 | 337 |
|
7629 | 338 |
|nm i resources| |
1146 | 339 |
|
340 |
(i := DefaultIcon) isNil ifTrue:[ |
|
7629 | 341 |
resources := self classResources. |
342 |
i := resources at:#INSPECTOR_ICON default:nil. |
|
2338 | 343 |
i isNil ifTrue:[ |
7629 | 344 |
nm := resources at:#INSPECTOR_ICON_FILE default:'Inspector.xbm'. |
2475 | 345 |
i := Smalltalk imageFromFileNamed:nm forClass:self. |
2338 | 346 |
i isNil ifTrue:[ |
2454
114111038a2b
try my bitmaps in package directory
Claus Gittinger <cg@exept.de>
parents:
2447
diff
changeset
|
347 |
i := StandardSystemView defaultIcon |
2338 | 348 |
] |
349 |
]. |
|
350 |
i notNil ifTrue:[ |
|
351 |
DefaultIcon := i := i onDevice:Display |
|
352 |
] |
|
73 | 353 |
]. |
1146 | 354 |
^ i |
874 | 355 |
|
7629 | 356 |
" |
357 |
DefaultIcon := nil |
|
358 |
" |
|
7835 | 359 |
|
360 |
"Modified: / 17-09-2007 / 11:36:17 / cg" |
|
7867 | 361 |
! |
362 |
||
11247
992680ca31b0
added: #defaultIntegerDisplayRadix
Claus Gittinger <cg@exept.de>
parents:
11232
diff
changeset
|
363 |
defaultIntegerDisplayRadix |
992680ca31b0
added: #defaultIntegerDisplayRadix
Claus Gittinger <cg@exept.de>
parents:
11232
diff
changeset
|
364 |
^ DefaultIntegerDisplayRadix ? 10 |
992680ca31b0
added: #defaultIntegerDisplayRadix
Claus Gittinger <cg@exept.de>
parents:
11232
diff
changeset
|
365 |
|
992680ca31b0
added: #defaultIntegerDisplayRadix
Claus Gittinger <cg@exept.de>
parents:
11232
diff
changeset
|
366 |
"Created: / 10-02-2012 / 19:51:38 / cg" |
992680ca31b0
added: #defaultIntegerDisplayRadix
Claus Gittinger <cg@exept.de>
parents:
11232
diff
changeset
|
367 |
! |
992680ca31b0
added: #defaultIntegerDisplayRadix
Claus Gittinger <cg@exept.de>
parents:
11232
diff
changeset
|
368 |
|
16546 | 369 |
defaultSortOrder |
370 |
^ SortOrderInstvarOrder |
|
371 |
! |
|
372 |
||
7867 | 373 |
defaultTopViewExtent |
9389 | 374 |
|def| |
375 |
||
376 |
def := LastExtent ? self defaultExtent. |
|
377 |
^ def min:(Screen current usableExtent) |
|
7867 | 378 |
|
379 |
"Created: / 23-10-2007 / 19:04:13 / cg" |
|
380 |
! |
|
381 |
||
11230 | 382 |
expandArraysInAllLists |
383 |
"in the 'all instvars' list, expand arrays" |
|
384 |
||
385 |
^ ExpandArraysInAllLists ? false |
|
386 |
||
387 |
"Created: / 30-01-2012 / 16:52:57 / cg" |
|
388 |
! |
|
389 |
||
390 |
expandArraysInAllLists:aBoolean |
|
391 |
"in the 'all instvars' list, expand arrays" |
|
392 |
||
393 |
ExpandArraysInAllLists := aBoolean |
|
394 |
||
395 |
"Created: / 30-01-2012 / 16:53:01 / cg" |
|
396 |
! |
|
397 |
||
7867 | 398 |
rememberLastExtent:anExtent |
399 |
LastExtent := anExtent |
|
400 |
||
401 |
"Created: / 23-10-2007 / 19:10:02 / cg" |
|
16546 | 402 |
! |
403 |
||
404 |
sortOrderAlphabetical |
|
405 |
^ SortOrderAlphabetical |
|
406 |
! |
|
407 |
||
408 |
sortOrderInstvarOrder |
|
409 |
^ SortOrderInstvarOrder |
|
73 | 410 |
! ! |
411 |
||
11511 | 412 |
!InspectorView class methodsFor:'image specs'! |
413 |
||
11514 | 414 |
imageFor_arrays |
415 |
"This resource specification was automatically generated |
|
416 |
by the ImageEditor of ST/X." |
|
17477 | 417 |
|
11514 | 418 |
"Do not manually edit this!! If it is corrupted, |
419 |
the ImageEditor may not be able to read the specification." |
|
17477 | 420 |
|
11514 | 421 |
" |
422 |
self imageFor_arrays inspect |
|
423 |
ImageEditor openOnClass:self andSelector:#imageFor_arrays |
|
17477 | 424 |
Icon flushCachedIcons |
425 |
" |
|
426 |
||
427 |
<resource: #image> |
|
428 |
||
429 |
^Icon |
|
430 |
constantNamed:'InspectorView class imageFor_arrays' |
|
431 |
ifAbsentPut:[(Depth4Image width:16 height:16) bits:(ByteArray fromPackedString:' |
|
432 |
H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H&*H)"H"H"H!! 3@0D"H"H!! C@8PAH"H"(@@@!!@\"H"JC@0!!DARH"H(@@@D\EH"H")@PD]P\"H"HTQ@U[BRH"H" |
|
433 |
EUTKBRH"H"H!!]U^RH"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"Hb') |
|
434 |
colorMapFromArray:#[255 255 255 218 112 214 226 226 226 255 0 255 199 21 133 115 16 49 198 123 148 140 49 74 208 32 144 156 74 99 186 85 211 90 0 33] |
|
435 |
mask:((ImageMask width:16 height:16) bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); yourself); yourself] |
|
11514 | 436 |
! |
437 |
||
11511 | 438 |
imageFor_characters |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
439 |
<resource: #image> |
11511 | 440 |
"This resource specification was automatically generated |
441 |
by the ImageEditor of ST/X." |
|
442 |
"Do not manually edit this!! If it is corrupted, |
|
443 |
the ImageEditor may not be able to read the specification." |
|
444 |
" |
|
445 |
self imageFor_characters inspect |
|
446 |
ImageEditor openOnClass:self andSelector:#imageFor_characters |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
447 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
448 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
449 |
^ Icon constantNamed:'InspectorView class imageFor_characters' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
450 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
451 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
452 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
453 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
454 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
455 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
456 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
457 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
458 |
fromPackedString:' |
11511 | 459 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6LD5MLCX@@@@@@@@@@@ADRTDIOC-FQ@@@@@@@@@A@MP$IBP$I |
460 |
Q$U@@@@@@@@@L@%SOP%HRP$>M@@@@@@@@D4<BP$IS#MEP4H@@@@@@@AMNUP9BP$IP3)B@@@@@@@@L@$3R0%EP0%GLP@@@@@@@D@>BP$IBP%RQ2<@@@@@@@@@ |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
461 |
K$1LBT]GQ3<@@@@@@@@@@@A@LTIBLR<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
462 |
colorMapFromArray:#[ 226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 0 0 0 227 231 0 132 132 0 151 156 0 142 131 128 255 252 49 175 181 0 255 234 140 218 222 0 251 255 33 74 74 0 94 99 0 107 107 0 143 148 0 189 189 0 87 90 0 251 255 8 247 255 16 167 173 0 206 99 132 156 74 99 206 66 107 115 16 49 255 16 90 189 0 57 132 16 49 206 0 57 198 123 140 255 49 123 255 33 99 222 0 66 99 0 24 239 0 66 255 0 74 255 140 214 148 0 41 140 49 74 198 123 148 255 0 82 90 0 24 132 0 41 206 99 123 156 0 41 198 0 57 74 0 24 255 16 82 214 0 66 90 0 33 189 0 49 107 0 33 206 16 74 214 8 66 173 0 49 115 0 33 181 0 49 74 0 16 255 8 82 231 0 66 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
463 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
464 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
465 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
466 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
467 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
468 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
469 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
470 |
] |
11511 | 471 |
! |
472 |
||
473 |
imageFor_classes |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
474 |
<resource: #image> |
11511 | 475 |
"This resource specification was automatically generated |
476 |
by the ImageEditor of ST/X." |
|
477 |
"Do not manually edit this!! If it is corrupted, |
|
478 |
the ImageEditor may not be able to read the specification." |
|
479 |
" |
|
480 |
self imageFor_classes inspect |
|
481 |
ImageEditor openOnClass:self andSelector:#imageFor_classes |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
482 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
483 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
484 |
^ Icon constantNamed:'InspectorView class imageFor_classes' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
485 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
486 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
487 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
488 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
489 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
490 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
491 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
492 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
493 |
fromPackedString:' |
11517 | 494 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6LD5MLCX@@@@@@@@@@@ADRTEAOC-FQ@@@@@@@@@A@MT 2M3\; |
495 |
Q$U@@@@@@@@@LD!!HRD!!HRTX>M@@@@@@@@D4<RC\8S$%FP4H@@@@@@@AMNS$9MST3P3)B@@@@@@@@LCL3R4,3P4)GLP@@@@@@@D@>O#8>R$)JQ2<@@@@@@@@@ |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
496 |
K$1LP$]GQ3<@@@@@@@@@@@A@LTIBLR<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
497 |
colorMapFromArray:#[ 226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 0 0 0 0 215 231 0 125 132 0 143 156 128 142 132 49 248 255 0 166 181 140 255 240 0 207 222 33 240 255 0 70 74 0 89 99 0 102 107 0 136 148 0 180 189 0 82 90 8 239 255 16 235 255 0 158 173 127 206 99 95 156 74 100 206 66 44 115 16 78 255 16 48 189 0 43 132 16 47 206 0 136 198 123 113 255 49 88 255 33 55 222 0 19 99 0 54 239 0 61 255 0 208 255 140 34 148 0 69 140 49 144 198 123 69 255 0 19 90 0 34 132 0 118 206 99 33 156 0 47 198 0 20 74 0 70 255 16 55 214 0 28 90 0 40 189 0 28 107 0 64 206 16 56 214 8 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
498 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
499 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
500 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
501 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
502 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
503 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
504 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
505 |
] |
11511 | 506 |
! |
507 |
||
15613 | 508 |
imageFor_collectionHolder |
509 |
"This resource specification was automatically generated |
|
510 |
by the ImageEditor of ST/X." |
|
511 |
||
512 |
"Do not manually edit this!! If it is corrupted, |
|
513 |
the ImageEditor may not be able to read the specification." |
|
514 |
||
515 |
" |
|
516 |
self imageFor_collectionHolder inspect |
|
517 |
ImageEditor openOnClass:self andSelector:#imageFor_collectionHolder |
|
518 |
Icon flushCachedIcons |
|
519 |
" |
|
520 |
||
521 |
<resource: #image> |
|
522 |
||
523 |
^Icon |
|
17477 | 524 |
constantNamed:'InspectorView class imageFor_collectionHolder' |
525 |
ifAbsentPut:[(Depth4Image width:16 height:16) bits:(ByteArray fromPackedString:' |
|
526 |
&Y$"H"H"&Y&Y&RH"H"JY&Y$"H"H"H"JY&RH U&TBH)&YH!!1DQLD"&Y$!!1DQF#AJY&RWDQDZL()&YI,QDZH12&Y$&1L!!,+GJY&RWH"H)<()&YH\"H];02&Y$" |
|
527 |
GG];02JY&RH!!)7(2H)&YH"H"H"H"&Y&YH"H"H)&Y&Y$"H"H"&Y$b') |
|
528 |
colorMapFromArray:#[198 123 148 218 112 214 226 226 226 156 74 99 255 0 255 186 85 211 208 32 144 115 16 49 199 21 133 60 59 55 140 49 74 90 0 33 255 255 255] |
|
529 |
mask:((ImageMask width:16 height:16) bits:(ByteArray fromPackedString:'<@?0C<@C1>OO<=?;7?/_>=?;7?/_><?31>O@@?@O<@<b'); yourself); yourself] |
|
15613 | 530 |
! |
531 |
||
11514 | 532 |
imageFor_collections |
533 |
"This resource specification was automatically generated |
|
534 |
by the ImageEditor of ST/X." |
|
17477 | 535 |
|
11514 | 536 |
"Do not manually edit this!! If it is corrupted, |
537 |
the ImageEditor may not be able to read the specification." |
|
17477 | 538 |
|
11514 | 539 |
" |
540 |
self imageFor_collections inspect |
|
541 |
ImageEditor openOnClass:self andSelector:#imageFor_collections |
|
17477 | 542 |
Icon flushCachedIcons |
543 |
" |
|
544 |
||
545 |
<resource: #image> |
|
546 |
||
547 |
^Icon |
|
548 |
constantNamed:'InspectorView class imageFor_collections' |
|
549 |
ifAbsentPut:[(Depth4Image width:16 height:16) bits:(ByteArray fromPackedString:' |
|
550 |
H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H&*H)"H"H"H!!@3L0D"H"H!!@3L8PAH"H"(CL3!!@\"H"J@L3!!DARH"H(@0R@\EH"H"(DQD]P\"H"HPQDU[BRH"H" |
|
551 |
DEU[BRH"H"H!!]U^RH"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"Hb') |
|
552 |
colorMapFromArray:#[255 255 255 218 112 214 226 226 226 255 0 255 199 21 133 115 16 49 198 123 148 140 49 74 208 32 144 156 74 99 186 85 211 90 0 33] |
|
553 |
mask:((ImageMask width:16 height:16) bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); yourself); yourself] |
|
554 |
! |
|
555 |
||
556 |
imageFor_collections_empty |
|
557 |
"This resource specification was automatically generated |
|
558 |
by the ImageEditor of ST/X." |
|
559 |
||
560 |
"Do not manually edit this!! If it is corrupted, |
|
561 |
the ImageEditor may not be able to read the specification." |
|
562 |
||
563 |
" |
|
564 |
self imageFor_collections_empty inspect |
|
565 |
ImageEditor openOnClass:self andSelector:#imageFor_collections_empty |
|
566 |
Icon flushCachedIcons |
|
567 |
" |
|
568 |
||
569 |
<resource: #image> |
|
570 |
||
571 |
^Icon |
|
572 |
constantNamed:'InspectorView class imageFor_collections_empty' |
|
573 |
ifAbsentPut:[(Depth4Image width:16 height:16) bits:(ByteArray fromPackedString:' |
|
574 |
H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H&*H)"H"H"H!!@3L0D"H"H!!@3L8PAH"H"(CL3!!@\"H"J@L3!!DARH"H(@3RD\EH"H"(DQD]P\"H"HPQDU[BRH"H" |
|
575 |
DEU[BRH"H"H!!]U^RH"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"Hb') |
|
576 |
colorMapFromArray:#[255 255 255 218 112 214 226 226 226 255 0 255 199 21 133 115 16 49 198 123 148 140 49 74 208 32 144 156 74 99 186 85 211 90 0 33] |
|
577 |
mask:((ImageMask width:16 height:16) bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); yourself); yourself] |
|
11514 | 578 |
! |
579 |
||
11768 | 580 |
imageFor_colors |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
581 |
<resource: #image> |
11768 | 582 |
"This resource specification was automatically generated |
583 |
by the ImageEditor of ST/X." |
|
584 |
"Do not manually edit this!! If it is corrupted, |
|
585 |
the ImageEditor may not be able to read the specification." |
|
586 |
" |
|
587 |
self imageFor_colors inspect |
|
588 |
ImageEditor openOnClass:self andSelector:#imageFor_colors |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
589 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
590 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
591 |
^ Icon constantNamed:'InspectorView imageFor_colors' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
592 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
593 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
594 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
595 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
596 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
597 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
598 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
599 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
600 |
fromPackedString:' |
11768 | 601 |
GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4@N#(:N @]GQ4]GQ4]GQ4@N#(:N#(*M!!4]GQ4]GQ4@@C(:N#(: |
602 |
J"(6@A4]GQ4]@@@@N!!HRD"(*J#P]GQ4]GP@@@AHRD!!H2L#D1GQ4]GQ4@@@@RD!!HRLB4,KA4]GQ4]@@@@D!!HRH"T*J"(]GQ4]GP@@@@,IH"H"H"(]GQ4]GQ4] |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
603 |
@@@KDRH%H"\]GQ4]GQ4]GQ4@BP$ZH @]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GQ4]GP@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
604 |
colorMapFromArray:#[ 0 58 255 0 135 255 0 230 255 0 252 254 0 255 127 0 255 175 0 255 244 0 255 249 63 243 47 115 82 16 125 141 170 128 32 210 156 131 74 158 160 171 161 153 136 180 196 100 191 187 200 192 22 179 195 255 19 198 173 123 198 181 123 206 165 66 206 173 99 206 182 99 207 206 217 216 179 229 219 0 153 223 255 19 225 255 19 226 226 226 229 255 19 246 223 40 247 246 216 248 221 223 250 0 86 252 233 208 254 255 25 255 59 19 255 98 19 255 115 19 255 127 26 255 137 26 255 167 32 255 185 155 255 186 0 255 188 0 255 189 16 255 193 19 255 197 19 255 200 19 255 206 19 255 210 26 255 213 26 255 236 19 255 248 0 255 255 0 255 255 19 255 255 255 0 206 0 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
605 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
606 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
607 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
608 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
609 |
fromPackedString:'@@@@@@@@@<@G8@?0G? _>A?8G? O<@_ @<@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
610 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
611 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
612 |
] |
11768 | 613 |
! |
614 |
||
11514 | 615 |
imageFor_dictionaries |
616 |
"This resource specification was automatically generated |
|
617 |
by the ImageEditor of ST/X." |
|
17477 | 618 |
|
11514 | 619 |
"Do not manually edit this!! If it is corrupted, |
620 |
the ImageEditor may not be able to read the specification." |
|
17477 | 621 |
|
11514 | 622 |
" |
623 |
self imageFor_dictionaries inspect |
|
624 |
ImageEditor openOnClass:self andSelector:#imageFor_dictionaries |
|
17477 | 625 |
Icon flushCachedIcons |
626 |
" |
|
627 |
||
628 |
<resource: #image> |
|
629 |
||
630 |
^Icon |
|
631 |
constantNamed:'InspectorView class imageFor_dictionaries' |
|
632 |
ifAbsentPut:[(Depth4Image width:16 height:16) bits:(ByteArray fromPackedString:' |
|
633 |
L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L0Y7XCL3L3L2]UUYH3L3L2]QU]FRL3L3YU4U^Y(3L3M=7]/Q*CL3L7]=FY*HL3L3ZYFY4\(3L3L)&Z"L1CL3L3 |
|
634 |
JH#MECL3L3L2*H)CL3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3Lb') |
|
635 |
colorMapFromArray:#[198 123 148 240 240 240 218 112 214 226 226 226 156 74 99 255 0 255 186 85 211 208 32 144 115 16 49 199 21 133 140 49 74 176 176 176 90 0 33 255 255 255] |
|
636 |
mask:((ImageMask width:16 height:16) bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); yourself); yourself] |
|
11514 | 637 |
! |
638 |
||
11511 | 639 |
imageFor_false |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
640 |
<resource: #image> |
11511 | 641 |
"This resource specification was automatically generated |
642 |
by the ImageEditor of ST/X." |
|
643 |
"Do not manually edit this!! If it is corrupted, |
|
644 |
the ImageEditor may not be able to read the specification." |
|
645 |
" |
|
646 |
self imageFor_false inspect |
|
647 |
ImageEditor openOnClass:self andSelector:#imageFor_false |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
648 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
649 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
650 |
^ Icon constantNamed:'InspectorView imageFor_false' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
651 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
652 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
653 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
654 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
655 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
656 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
657 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
658 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
659 |
fromPackedString:' |
11548 | 660 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@ LC@ D@@@@@@@@@@@@DAPXFA0 IA@@@@@@@@@@JB0XLC@0L |
661 |
CP8J@@@@@@@@@ XOCA@PDA@QD @@@@@@@@LGC00PD1PNEQX@@@@@@@@CE1 LC@0MEQ$V@@@@@@@@@!!PTCA@PDAXZF0@@@@@@@@(QC 0PGA$]F!!8@@@@@@@@@ |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
662 |
G10\GA(ZF"@@@@@@@@@@@@@JF1XVF18@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
663 |
colorMapFromArray:#[ 0 0 0 200 120 145 208 64 109 208 16 96 208 96 128 208 0 87 248 0 103 248 0 88 240 0 85 200 0 68 200 120 146 208 0 72 250 255 248 184 192 189 160 0 52 248 8 100 135 144 128 144 0 60 128 16 63 208 8 83 184 0 77 128 0 53 88 0 37 216 0 75 224 0 78 96 0 25 64 0 27 120 16 59 120 0 50 64 0 12 160 72 102 208 96 143 136 32 60 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
664 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
665 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
666 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
667 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
668 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
669 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
670 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
671 |
] |
13246 | 672 |
! |
673 |
||
674 |
imageFor_falseHolder |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
675 |
<resource: #image> |
13246 | 676 |
"This resource specification was automatically generated |
677 |
by the ImageEditor of ST/X." |
|
678 |
"Do not manually edit this!! If it is corrupted, |
|
679 |
the ImageEditor may not be able to read the specification." |
|
680 |
" |
|
681 |
self imageFor_falseHolder inspect |
|
682 |
ImageEditor openOnClass:self andSelector:#imageFor_falseHolder |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
683 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
684 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
685 |
^ Icon constantNamed:'InspectorView imageFor_falseHolder' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
686 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
687 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
688 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
689 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
690 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
691 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
692 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
693 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
694 |
fromPackedString:' |
13246 | 695 |
H"H"H @@@@@@@@@@H"H"H"H"H"H@@@@@@@@@@BH"H"H"H @@@@@@@@@@@@@@@BH"H"H@@@@A@ LC@ D@@@@"H"H"@@@DAPXFA0 IA@@@H"H"H @JB0XLC@0L |
696 |
CP8J@BH"H"H@@ XOCA@PDA@QD @"H"H"@@LGC00PD1PNEQX@H"H"H @CE1 LC@0MEQ$V@BH"H"H@@!!PTCA@PDAXZF0@"H"H"@@(QC 0PGA$]F!!8@H"H"H @@ |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
697 |
G10\GA(ZF"@@@BH"H"H@@@@JF1XVF18@@@@"H"H"@@@@@@@@@@@@@@@@H"H"H"H"@@@@@@@@@@@"H"H"H"H"H @@@@@@@@@@H"H"H @a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
698 |
colorMapFromArray:#[ 0 0 0 200 120 145 208 64 109 208 16 96 208 96 128 208 0 87 248 0 103 248 0 88 240 0 85 200 0 68 200 120 146 208 0 72 250 255 248 184 192 189 160 0 52 248 8 100 135 144 128 144 0 60 128 16 63 208 8 83 184 0 77 128 0 53 88 0 37 216 0 75 224 0 78 96 0 25 64 0 27 120 16 59 120 0 50 64 0 12 160 72 102 208 96 143 136 32 60 226 226 226 60 59 55 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
699 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
700 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
701 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
702 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
703 |
fromPackedString:'<@?0C<@C1>OO<=?;7?/_>=?;7?/_><?31>O@@?@O<@<b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
704 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
705 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
706 |
] |
11511 | 707 |
! |
708 |
||
709 |
imageFor_floats |
|
710 |
"This resource specification was automatically generated |
|
711 |
by the ImageEditor of ST/X." |
|
15613 | 712 |
|
11511 | 713 |
"Do not manually edit this!! If it is corrupted, |
714 |
the ImageEditor may not be able to read the specification." |
|
15613 | 715 |
|
11511 | 716 |
" |
717 |
self imageFor_floats inspect |
|
718 |
ImageEditor openOnClass:self andSelector:#imageFor_floats |
|
15613 | 719 |
Icon flushCachedIcons |
720 |
" |
|
721 |
||
722 |
<resource: #image> |
|
723 |
||
724 |
^Icon |
|
725 |
constantNamed:'InspectorView imageFor_floats' |
|
726 |
ifAbsentPut:[(Depth8Image new) width:16; height:16; bits:(ByteArray fromPackedString:' |
|
11517 | 727 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6LD5MLCX@@@@@@@@@@@ADRTEAOC-FQ@@@@@@@@@A@MT 2BS\; |
15613 | 728 |
Q$U@@@@@@@@@LD!!HBP%HRTX>M@@@@@@@@D4<RC\IS#MFP4H@@@@@@@AMNS$9BSUCP3)B@@@@@@@@LCL3R0%EBP%GLP@@@@@@@D@>O $IQP$IQ2<@@@@@@@@@ |
729 |
K$1LP$]GQ3<@@@@@@@@@@@A@LTIBLR<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 0 0 0 0 231 4 0 132 0 0 156 5 139 142 128 52 255 49 0 181 6 161 255 140 0 222 4 33 255 37 0 74 0 0 99 5 0 107 0 0 148 5 0 189 0 0 90 3 8 255 12 16 255 24 0 173 6 206 173 99 156 131 74 206 165 66 115 82 16 255 181 16 189 132 0 132 99 16 206 149 0 198 181 123 255 181 49 255 189 33 222 156 0 99 75 0 239 173 0 255 181 0 255 181 140 148 107 0 140 115 49 198 173 123 255 173 0 90 66 0 132 91 0 206 182 99 156 115 0 198 141 0 74 50 0 255 189 16 214 148 0 90 57 0 189 140 0 107 74 0 206 148 16 214 156 8]; mask:((ImageMask new) width:16; height:16; bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b') ; yourself); yourself] |
|
11511 | 730 |
! |
731 |
||
732 |
imageFor_fractions |
|
733 |
"This resource specification was automatically generated |
|
734 |
by the ImageEditor of ST/X." |
|
17477 | 735 |
|
11511 | 736 |
"Do not manually edit this!! If it is corrupted, |
737 |
the ImageEditor may not be able to read the specification." |
|
17477 | 738 |
|
11511 | 739 |
" |
740 |
self imageFor_fractions inspect |
|
741 |
ImageEditor openOnClass:self andSelector:#imageFor_fractions |
|
17477 | 742 |
Icon flushCachedIcons |
743 |
" |
|
744 |
||
745 |
<resource: #image> |
|
746 |
||
747 |
^Icon |
|
748 |
constantNamed:'InspectorView class imageFor_fractions' |
|
749 |
ifAbsentPut:[(Depth8Image width:16 height:16) bits:(ByteArray fromPackedString:' |
|
11511 | 750 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6LD5MLCX@@@@@@@@@@@ADRTEABS-FQ@@@@@@@@@A@MSH2BP$7 |
17477 | 751 |
LTY@@@@@@@@@LCH2L#HIS#D1M@@@@@@@@D4<OC0<BSL1LTH@@@@@@@AML0$IBP$IBP%B@@@@@@@@LCL3L0$3BT\1LP@@@@@@@D@>L3L3BT]GQ2<@@@@@@@@@ |
752 |
K$03BP$IQ3<@@@@@@@@@@@A@LTIBLR<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') |
|
753 |
colorMapFromArray:#[226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 0 0 0 0 231 4 0 132 0 0 156 5 139 142 128 52 255 49 0 181 6 161 255 140 0 222 4 33 255 37 0 74 0 0 99 5 0 107 0 0 148 5 0 189 0 0 90 3 8 255 12 16 255 24 0 173 6 206 173 99 156 131 74 206 165 66 115 82 16 255 181 16 189 132 0 132 99 16 206 149 0 198 181 123 255 181 49 255 189 33 222 156 0 99 75 0 239 173 0 255 181 0 255 181 140 148 107 0 140 115 49 198 173 123 255 173 0 90 66 0 132 91 0 206 182 99 156 115 0 198 141 0 74 50 0 255 189 16 214 148 0 90 57 0 189 140 0 107 74 0 206 148 16 214 156 8] |
|
754 |
mask:((ImageMask width:16 height:16) bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); yourself); yourself] |
|
11511 | 755 |
! |
756 |
||
757 |
imageFor_integers |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
758 |
<resource: #image> |
11511 | 759 |
"This resource specification was automatically generated |
760 |
by the ImageEditor of ST/X." |
|
761 |
"Do not manually edit this!! If it is corrupted, |
|
762 |
the ImageEditor may not be able to read the specification." |
|
763 |
" |
|
764 |
self imageFor_integers inspect |
|
765 |
ImageEditor openOnClass:self andSelector:#imageFor_integers |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
766 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
767 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
768 |
^ Icon constantNamed:'InspectorView class imageFor_integers' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
769 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
770 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
771 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
772 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
773 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
774 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
775 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
776 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
777 |
fromPackedString:' |
11517 | 778 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6LD5MLCX@@@@@@@@@@@ADRTEAOC-FQ@@@@@@@@@A@MT 2BS\; |
779 |
Q$U@@@@@@@@@LD!!HBP%HRTX>M@@@@@@@@D4<RC\IS#MFP4H@@@@@@@AMNS$9BSUCP3)B@@@@@@@@LCL3R0%EP4)GLP@@@@@@@D@>O $IBS9JQ2<@@@@@@@@@ |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
780 |
K$1LP$]GQ3<@@@@@@@@@@@A@LTIBLR<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
781 |
colorMapFromArray:#[ 226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 0 0 0 0 231 4 0 132 0 0 156 5 139 142 128 52 255 49 0 181 6 161 255 140 0 222 4 33 255 37 0 74 0 0 99 5 0 107 0 0 148 5 0 189 0 0 90 3 8 255 12 16 255 24 0 173 6 206 173 99 156 131 74 206 165 66 115 82 16 255 181 16 189 132 0 132 99 16 206 149 0 198 181 123 255 181 49 255 189 33 222 156 0 99 75 0 239 173 0 255 181 0 255 181 140 148 107 0 140 115 49 198 173 123 255 173 0 90 66 0 132 91 0 206 182 99 156 115 0 198 141 0 74 50 0 255 189 16 214 148 0 90 57 0 189 140 0 107 74 0 206 148 16 214 156 8 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
782 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
783 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
784 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
785 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
786 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
787 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
788 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
789 |
] |
11511 | 790 |
! |
791 |
||
792 |
imageFor_nil |
|
15610 | 793 |
<resource: #programImage> |
794 |
||
12063 | 795 |
^ self imageFor_nil2 |
796 |
||
797 |
"Modified: / 21-11-2012 / 14:24:21 / cg" |
|
798 |
! |
|
799 |
||
800 |
imageFor_nil1 |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
801 |
<resource: #image> |
11511 | 802 |
"This resource specification was automatically generated |
803 |
by the ImageEditor of ST/X." |
|
804 |
"Do not manually edit this!! If it is corrupted, |
|
805 |
the ImageEditor may not be able to read the specification." |
|
806 |
" |
|
12063 | 807 |
self imageFor_nil1 inspect |
808 |
ImageEditor openOnClass:self andSelector:#imageFor_nil1 |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
809 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
810 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
811 |
^ Icon constantNamed:'InspectorView imageFor_nil1' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
812 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
813 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
814 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
815 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
816 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
817 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
818 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
819 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
820 |
fromPackedString:' |
11511 | 821 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KEP4MEP,@@@@@@@@@@@@GEA$YAP4OA0@@@@@@@@@JEA$WF!!HM |
822 |
C1 J@@@@@@@@EQ$R@@ CEAXDDP@@@@@@@@4ED!!(ACQXXC@X@@@@@@@@ME@4TEAXXCALF@@@@@@@@EQXVE HXC@XNF@@@@@@@@@(DF@PLCALNC!!@@@@@@@@@@ |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
823 |
A1LSA 8NC 4@@@@@@@@@@@@JF@XFFA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
824 |
colorMapFromArray:#[ 226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
825 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
826 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
827 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
828 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
829 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
830 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
831 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
832 |
] |
11511 | 833 |
! |
834 |
||
12063 | 835 |
imageFor_nil2 |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
836 |
<resource: #image> |
12063 | 837 |
"This resource specification was automatically generated |
838 |
by the ImageEditor of ST/X." |
|
839 |
"Do not manually edit this!! If it is corrupted, |
|
840 |
the ImageEditor may not be able to read the specification." |
|
841 |
" |
|
842 |
self imageFor_nil2 inspect |
|
843 |
ImageEditor openOnClass:self andSelector:#imageFor_nil2 |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
844 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
845 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
846 |
^ Icon constantNamed:'InspectorView imageFor_nil2' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
847 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
848 |
(Depth4Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
849 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
850 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
851 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
852 |
bitsPerSample:(#[ 4 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
853 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
854 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
855 |
fromPackedString:' |
13246 | 856 |
"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"G]7]8"H"H"GQDSLBH"H"GQL3L2P"H"H]L3L3FBH"H!!43L3LTH"H"GSL3L0 "H"H_L3L11BH"H!!<3L1:DH"H"H |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
857 |
B*,QDH"H"H"@@@@H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H"H b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
858 |
colorMapFromArray:#[ 0 0 0 74 74 0 94 99 0 240 240 240 255 255 255 132 132 0 143 148 0 142 131 128 226 226 226 151 156 0 107 107 0 87 90 0 230 230 230 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
859 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
860 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
861 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
862 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
863 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
864 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
865 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
866 |
] |
13246 | 867 |
! |
868 |
||
869 |
imageFor_nilHolder |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
870 |
<resource: #image> |
13246 | 871 |
"This resource specification was automatically generated |
872 |
by the ImageEditor of ST/X." |
|
873 |
"Do not manually edit this!! If it is corrupted, |
|
874 |
the ImageEditor may not be able to read the specification." |
|
875 |
" |
|
876 |
self imageFor_nilHolder inspect |
|
877 |
ImageEditor openOnClass:self andSelector:#imageFor_nilHolder |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
878 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
879 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
880 |
^ Icon constantNamed:'InspectorView imageFor_nilHolder' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
881 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
882 |
(Depth4Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
883 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
884 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
885 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
886 |
bitsPerSample:(#[ 4 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
887 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
888 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
889 |
fromPackedString:' |
13246 | 890 |
3L2H"H"H3L3L3H"H"H#L3L2H"H"H"H#L3H"G]7]8"L3L"GQDS]BH3L2GQM7]6P#L3H]M7]7VBL3L!!47]7]TH3L2GS]7]4 #L3H_]7]51BL3L!!=7]5:DH3L2H |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
891 |
B*,QDH#L3H"@@@@H"L3L"H"H"H"H3L3L"H"H"L3L3L2H"H"H3L0b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
892 |
colorMapFromArray:#[ 0 0 0 74 74 0 94 99 0 240 240 240 255 255 255 132 132 0 143 148 0 142 131 128 226 226 226 151 156 0 107 107 0 87 90 0 60 59 55 230 230 230 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
893 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
894 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
895 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
896 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
897 |
fromPackedString:'<@?0C<@C1>OO<=?;7?/_>=?;7?/_><?31>O@@?@O<@<b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
898 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
899 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
900 |
] |
12063 | 901 |
! |
902 |
||
15613 | 903 |
imageFor_numberHolder |
904 |
"This resource specification was automatically generated |
|
905 |
by the ImageEditor of ST/X." |
|
906 |
||
907 |
"Do not manually edit this!! If it is corrupted, |
|
908 |
the ImageEditor may not be able to read the specification." |
|
909 |
||
910 |
" |
|
911 |
self imageFor_numberHolder inspect |
|
912 |
ImageEditor openOnClass:self andSelector:#imageFor_numberHolder |
|
913 |
Icon flushCachedIcons |
|
914 |
" |
|
915 |
||
916 |
<resource: #image> |
|
917 |
||
918 |
^Icon |
|
919 |
constantNamed:'InspectorView imageFor_numberHolder' |
|
920 |
ifAbsentPut:[(Depth8Image new) width:16; height:16; bits:(ByteArray fromPackedString:' |
|
921 |
C@0LC@ HB@ HB@ HC@0LC@0LC@0HB@ HB@ HB@0LC@0LC@ HB@ HB@ HB@ HB@0LC@0HB@ VDB,+DAXHB@ LC@0LB@ "I1<_F1($H HC@0LC@ ^ERXRAA\Z |
|
922 |
IBL^B@0LC@0HDBX&A@P&I2P\E@ LC@0LBB,[I!!\DKAL$HR@HC@0LC@ +FA XAAT!!HQ$ B@0LC@0HDALSJPP#HR %DP LC@0LBA8\G@PDAA0(IP<HC@0LC@ H |
|
923 |
C"(*HBT%IQ4HB@0LC@0HB@ ^DR@ DP<HB@ LC@0LB@ HB@ HB@ HB@ HC@0LC@0LB@ HB@ HB@ LC@0LC@0LC@ HB@ HB@ HC@0LC@@a') ; colorMapFromArray:#[0 0 0 74 74 0 94 99 0 240 240 240 255 255 255 132 132 0 143 148 0 142 131 128 226 226 226 151 156 0 107 107 0 87 90 0 60 59 55 230 230 230 206 173 99 156 131 74 206 165 66 115 82 16 255 181 16 189 132 0 132 99 16 206 149 0 198 181 123 255 181 49 222 156 0 99 75 0 239 173 0 255 181 0 148 107 0 140 115 49 198 173 123 255 173 0 90 66 0 132 91 0 206 182 99 156 115 0 198 141 0 74 50 0 255 189 16 214 148 0 90 57 0 189 140 0 107 74 0 206 148 16 214 156 8]; mask:((ImageMask new) width:16; height:16; bits:(ByteArray fromPackedString:'<@?0C<@C1>OO<=?;7?/_>=?;7?/_><?31>O@@?@O<@<b') ; yourself); yourself] |
|
924 |
! |
|
925 |
||
11511 | 926 |
imageFor_others |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
927 |
<resource: #image> |
11511 | 928 |
"This resource specification was automatically generated |
929 |
by the ImageEditor of ST/X." |
|
930 |
"Do not manually edit this!! If it is corrupted, |
|
931 |
the ImageEditor may not be able to read the specification." |
|
932 |
" |
|
933 |
self imageFor_others inspect |
|
934 |
ImageEditor openOnClass:self andSelector:#imageFor_others |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
935 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
936 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
937 |
^ Icon constantNamed:'InspectorView imageFor_others' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
938 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
939 |
(Depth4Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
940 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
941 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
942 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
943 |
bitsPerSample:(#[ 4 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
944 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
945 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
946 |
fromPackedString:' |
13246 | 947 |
.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.5UUU[.;.;.5****B;.;.5*-;\) .;.;V-;\6VB;.;-Z;\*ZXK.;.5+Z*J$0.;.;V)**!!QB;.;-Z):]TDK.;.; |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
948 |
ADHQDK.;.;.0@@@K.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;.;,b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
949 |
colorMapFromArray:#[ 0 0 0 76 74 0 88 90 0 96 100 0 108 108 0 144 132 130 152 156 0 168 174 0 176 182 0 188 190 0 220 222 0 228 226 230 228 232 0 240 240 240 255 252 50 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
950 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
951 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
952 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
953 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
954 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
955 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
956 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
957 |
] |
13246 | 958 |
! |
959 |
||
960 |
imageFor_othersHolder |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
961 |
<resource: #image> |
13246 | 962 |
"This resource specification was automatically generated |
963 |
by the ImageEditor of ST/X." |
|
964 |
"Do not manually edit this!! If it is corrupted, |
|
965 |
the ImageEditor may not be able to read the specification." |
|
966 |
" |
|
967 |
self imageFor_othersHolder inspect |
|
968 |
ImageEditor openOnClass:self andSelector:#imageFor_othersHolder |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
969 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
970 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
971 |
^ Icon constantNamed:'InspectorView imageFor_othersHolder' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
972 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
973 |
(Depth4Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
974 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
975 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
976 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
977 |
bitsPerSample:(#[ 4 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
978 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
979 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
980 |
fromPackedString:' |
13246 | 981 |
&Y%&Y&Y&&Y&Y&VY&Y&ZY&Y%&Y&Y&Y&ZY&VY#L3L6Y)&YY#DQDQA&&Y%#DX:DGPZY&VLX:D!!]A)&YX1:DEQ4F&Y%#FAGAV0ZY&VLUDQ0?A)&YX1E1\2<F&Y%& |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
982 |
@"+?<FZY&VY @@@FY)&YY&Y&Y&Y&&Y&YY&Y&Y)&Y&Y%&Y&Y&&Y$b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
983 |
colorMapFromArray:#[ 0 0 0 220 222 0 108 108 0 144 132 130 228 232 0 188 190 0 228 226 230 168 174 0 240 240 240 60 59 55 88 90 0 96 100 0 176 182 0 152 156 0 255 252 50 76 74 0 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
984 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
985 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
986 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
987 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
988 |
fromPackedString:'<@?0C<@C1>OO<=?;7?/_>=?;7?/_><?31>O@@?@O<@<b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
989 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
990 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
991 |
] |
11511 | 992 |
! |
993 |
||
11521
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
994 |
imageFor_sequenceableCollections |
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
995 |
"This resource specification was automatically generated |
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
996 |
by the ImageEditor of ST/X." |
17477 | 997 |
|
11521
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
998 |
"Do not manually edit this!! If it is corrupted, |
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
999 |
the ImageEditor may not be able to read the specification." |
17477 | 1000 |
|
11521
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
1001 |
" |
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
1002 |
self imageFor_sequenceableCollections inspect |
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
1003 |
ImageEditor openOnClass:self andSelector:#imageFor_sequenceableCollections |
17477 | 1004 |
Icon flushCachedIcons |
1005 |
" |
|
1006 |
||
1007 |
<resource: #image> |
|
1008 |
||
1009 |
^Icon |
|
11521
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
1010 |
constantNamed:'InspectorView class imageFor_sequenceableCollections' |
17477 | 1011 |
ifAbsentPut:[(Depth4Image width:16 height:16) bits:(ByteArray fromPackedString:' |
1012 |
L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L0Y7XCL3L3L2]UUYH3L3L2]UU\FRL3L3YUUU^Y(3L3M5UU''A*CL3L7]9&Y*HL3L3ZY&Y0[(3L3L)&Z"K-CL3L3 |
|
1013 |
JH"<ECL3L3L2*H)CL3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3L3Lb') |
|
1014 |
colorMapFromArray:#[198 123 148 240 240 240 218 112 214 226 226 226 156 74 99 255 0 255 186 85 211 208 32 144 115 16 49 199 21 133 140 49 74 90 0 33 255 255 255] |
|
1015 |
mask:((ImageMask width:16 height:16) bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); yourself); yourself] |
|
11521
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
1016 |
! |
edf68f0ed11c
added: #imageFor_sequenceableCollections
Claus Gittinger <cg@exept.de>
parents:
11519
diff
changeset
|
1017 |
|
11511 | 1018 |
imageFor_strings |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1019 |
<resource: #image> |
11511 | 1020 |
"This resource specification was automatically generated |
1021 |
by the ImageEditor of ST/X." |
|
1022 |
"Do not manually edit this!! If it is corrupted, |
|
1023 |
the ImageEditor may not be able to read the specification." |
|
1024 |
" |
|
1025 |
self imageFor_strings inspect |
|
1026 |
ImageEditor openOnClass:self andSelector:#imageFor_strings |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1027 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1028 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1029 |
^ Icon constantNamed:'InspectorView class imageFor_strings' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1030 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1031 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1032 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1033 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1034 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1035 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1036 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1037 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1038 |
fromPackedString:' |
11511 | 1039 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6LD5MLCX@@@@@@@@@@@ADRTEAOC-FQ@@@@@@@@@A@MTDIM5LI |
1040 |
BTU@@@@@@@@@LDDIM3]HBP$>M@@@@@@@@D4<BP$8S#LIP4H@@@@@@@AMNP$IMUDIP3)B@@@@@@@@LCL3R4=EP4)GLP@@@@@@@D@>QS9CTC)RQ2<@@@@@@@@@ |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1041 |
K$1LP$]GQ3<@@@@@@@@@@@A@LTIBLR<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1042 |
colorMapFromArray:#[ 226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 0 0 0 227 231 0 132 132 0 151 156 0 142 131 128 255 252 49 175 181 0 255 234 140 218 222 0 251 255 33 74 74 0 94 99 0 107 107 0 143 148 0 189 189 0 87 90 0 251 255 8 247 255 16 167 173 0 206 99 132 156 74 99 206 66 107 115 16 49 255 16 90 189 0 57 132 16 49 206 0 57 198 123 140 255 49 123 255 33 99 222 0 66 99 0 24 239 0 66 255 0 74 255 140 214 148 0 41 140 49 74 198 123 148 255 0 82 90 0 24 132 0 41 206 99 123 156 0 41 198 0 57 74 0 24 255 16 82 214 0 66 90 0 33 189 0 49 107 0 33 206 16 74 214 8 66 173 0 49 115 0 33 181 0 49 74 0 16 255 8 82 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1043 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1044 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1045 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1046 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1047 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1048 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1049 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1050 |
] |
11511 | 1051 |
! |
1052 |
||
1053 |
imageFor_symbols |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1054 |
<resource: #image> |
11511 | 1055 |
"This resource specification was automatically generated |
1056 |
by the ImageEditor of ST/X." |
|
1057 |
"Do not manually edit this!! If it is corrupted, |
|
1058 |
the ImageEditor may not be able to read the specification." |
|
1059 |
" |
|
1060 |
self imageFor_symbols inspect |
|
1061 |
ImageEditor openOnClass:self andSelector:#imageFor_symbols |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1062 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1063 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1064 |
^ Icon constantNamed:'InspectorView class imageFor_symbols' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1065 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1066 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1067 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1068 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1069 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1070 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1071 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1072 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1073 |
fromPackedString:' |
11511 | 1074 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6LD5MLCX@@@@@@@@@@@ADRTEAOC-FQ@@@@@@@@@A@MTDIM5LI |
1075 |
Q$U@@@@@@@@@LDDIBP$IBP$>M@@@@@@@@D4<NP$8S $>P4H@@@@@@@AMNS$IMUDIP3)B@@@@@@@@LCLIBP$IBP%GLP@@@@@@@D@>QP%CT@%RQ2<@@@@@@@@@ |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1076 |
K$1LP$]GQ3<@@@@@@@@@@@A@LTIBLR<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1077 |
colorMapFromArray:#[ 226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 0 0 0 227 231 0 132 132 0 151 156 0 142 131 128 255 252 49 175 181 0 255 234 140 218 222 0 251 255 33 74 74 0 94 99 0 107 107 0 143 148 0 189 189 0 87 90 0 251 255 8 247 255 16 167 173 0 206 99 132 156 74 99 206 66 107 115 16 49 255 16 90 189 0 57 132 16 49 206 0 57 198 123 140 255 49 123 255 33 99 222 0 66 99 0 24 239 0 66 255 0 74 255 140 214 148 0 41 140 49 74 198 123 148 255 0 82 90 0 24 132 0 41 206 99 123 156 0 41 198 0 57 74 0 24 255 16 82 214 0 66 90 0 33 189 0 49 107 0 33 206 16 74 214 8 66 173 0 49 115 0 33 181 0 49 74 0 16 255 8 82 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1078 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1079 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1080 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1081 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1082 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1083 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1084 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1085 |
] |
11511 | 1086 |
! |
1087 |
||
1088 |
imageFor_true |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1089 |
<resource: #image> |
11511 | 1090 |
"This resource specification was automatically generated |
1091 |
by the ImageEditor of ST/X." |
|
1092 |
"Do not manually edit this!! If it is corrupted, |
|
1093 |
the ImageEditor may not be able to read the specification." |
|
1094 |
" |
|
1095 |
self imageFor_true inspect |
|
1096 |
ImageEditor openOnClass:self andSelector:#imageFor_true |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1097 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1098 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1099 |
^ Icon constantNamed:'InspectorView imageFor_true' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1100 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1101 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1102 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1103 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1104 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1105 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1106 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1107 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1108 |
fromPackedString:' |
11511 | 1109 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(MB@ MB @@@@@@@@@@@@:K#@0F2(\N @@@@@@@@@-H0$IBP$I |
13246 | 1110 |
A18-@@@@@@@@MC@$I@$$IBP9HP@@@@@@@B@[J20IIB0^K3 @@@@@@@@ MRT,BRP^K1<8@@@@@@@@MB0,I $$K2\"JP@@@@@@@B49G#$IIA<]H#H@@@@@@@@@ |
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1111 |
M#L3NBH"H#\@@@@@@@@@@@@-JS 8JSH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1112 |
colorMapFromArray:#[ 226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 98 255 0 75 198 0 25 74 0 57 156 0 34 99 0 92 206 16 60 132 16 31 74 0 79 206 0 128 131 142 88 231 0 70 189 0 38 90 0 148 198 123 57 115 16 92 239 0 103 255 8 76 189 0 154 198 123 85 214 0 53 132 0 106 255 0 138 255 49 107 156 74 44 115 0 119 206 66 85 222 0 142 206 99 68 139 33 33 90 0 57 148 0 135 206 99 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1113 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1114 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1115 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1116 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1117 |
fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1118 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1119 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1120 |
] |
13246 | 1121 |
! |
1122 |
||
1123 |
imageFor_trueHolder |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1124 |
<resource: #image> |
13246 | 1125 |
"This resource specification was automatically generated |
1126 |
by the ImageEditor of ST/X." |
|
1127 |
"Do not manually edit this!! If it is corrupted, |
|
1128 |
the ImageEditor may not be able to read the specification." |
|
1129 |
" |
|
1130 |
self imageFor_trueHolder inspect |
|
1131 |
ImageEditor openOnClass:self andSelector:#imageFor_trueHolder |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1132 |
Icon flushCachedIcons" |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1133 |
|
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1134 |
^ Icon constantNamed:'InspectorView imageFor_trueHolder' |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1135 |
ifAbsentPut:[ |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1136 |
(Depth8Image new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1137 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1138 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1139 |
photometric:(#palette); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1140 |
bitsPerSample:(#[ 8 ]); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1141 |
samplesPerPixel:(1); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1142 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1143 |
fromPackedString:' |
13246 | 1144 |
N3,;N0@@@@@@@@@@N3,;N3,;N3,@@@@@@@@@@C,;N3,;N0@@@@@@@@@@@@@@@C,;N3,@@@@(MB@ MB @@@@;N3,;@@@:K#@0F2(\N @@N3,;N0@-H0$IBP$I |
1145 |
A18-@C,;N3,@MC@$I@$$IBP9HP@;N3,;@B@[J20IIB0^K3 @N3,;N0@ MRT,BRP^K1<8@C,;N3,@MB0,I $$K2\"JP@;N3,;@B49G#$IIA<]H#H@N3,;N0@@ |
|
14406
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1146 |
M#L3NBH"H#\@@C,;N3,@@@@-JS 8JSH@@@@;N3,;@@@@@@@@@@@@@@@@N3,;N3,;@@@@@@@@@@@;N3,;N3,;N0@@@@@@@@@@N3,;N0@a'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1147 |
colorMapFromArray:#[ 226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 98 255 0 75 198 0 25 74 0 57 156 0 34 99 0 92 206 16 60 132 16 31 74 0 79 206 0 128 131 142 88 231 0 70 189 0 38 90 0 148 198 123 57 115 16 92 239 0 103 255 8 76 189 0 154 198 123 85 214 0 53 132 0 106 255 0 138 255 49 107 156 74 44 115 0 119 206 66 85 222 0 142 206 99 68 139 33 33 90 0 57 148 0 135 206 99 60 59 55 ]; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1148 |
mask:((ImageMask new) |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1149 |
width:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1150 |
height:16; |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1151 |
bits:(ByteArray |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1152 |
fromPackedString:'<@?0C<@C1>OO<=?;7?/_>=?;7?/_><?31>O@@?@O<@<b'); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1153 |
yourself); |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1154 |
yourself |
491319fd30ed
Change images to use ImageMask instances instead of Depth1Image instances as
Stefan Vogel <sv@exept.de>
parents:
14401
diff
changeset
|
1155 |
] |
11511 | 1156 |
! ! |
1157 |
||
15610 | 1158 |
!InspectorView class methodsFor:'presentation'! |
1159 |
||
1160 |
iconForValue: anObject |
|
1161 |
|value| |
|
1162 |
||
16758 | 1163 |
anObject == nil ifTrue:[ "isNil is not defined in Lazy et al." |
15610 | 1164 |
^ self imageFor_nil |
1165 |
]. |
|
1166 |
anObject == true ifTrue:[ |
|
1167 |
^ self imageFor_true |
|
1168 |
]. |
|
1169 |
anObject == false ifTrue:[ |
|
1170 |
^ self imageFor_false |
|
1171 |
]. |
|
17123 | 1172 |
anObject isProtoObject ifFalse:[ |
15613 | 1173 |
anObject isNumber ifTrue:[ |
1174 |
anObject isInteger ifTrue:[ |
|
1175 |
^ self imageFor_integers |
|
1176 |
]. |
|
1177 |
anObject isFraction ifTrue:[ |
|
1178 |
^ self imageFor_fractions |
|
1179 |
]. |
|
1180 |
^ self imageFor_floats |
|
1181 |
]. |
|
1182 |
anObject isCollection ifTrue:[ |
|
1183 |
anObject isString ifTrue:[ |
|
1184 |
anObject isSymbol ifTrue:[ |
|
1185 |
^ self imageFor_symbols |
|
1186 |
]. |
|
1187 |
^ self imageFor_strings |
|
1188 |
]. |
|
17477 | 1189 |
anObject isEmpty ifTrue:[ |
1190 |
^ self imageFor_collections_empty |
|
1191 |
]. |
|
15613 | 1192 |
(anObject isDictionary) ifTrue:[ |
1193 |
^ self imageFor_dictionaries |
|
1194 |
]. |
|
1195 |
(anObject isArray) ifTrue:[ |
|
1196 |
^ self imageFor_arrays |
|
1197 |
]. |
|
1198 |
(anObject isSequenceable) ifTrue:[ |
|
1199 |
^ self imageFor_sequenceableCollections |
|
1200 |
]. |
|
1201 |
^ self imageFor_collections |
|
1202 |
]. |
|
1203 |
anObject isCharacter ifTrue:[ |
|
1204 |
^ self imageFor_characters |
|
1205 |
]. |
|
1206 |
anObject isBehavior ifTrue:[ |
|
1207 |
^ self imageFor_classes |
|
1208 |
]. |
|
1209 |
anObject isColor ifTrue:[ |
|
1210 |
^ self imageFor_colors |
|
1211 |
]. |
|
1212 |
anObject isValueModel ifTrue:[ |
|
1213 |
"/ this may be problemantic, if #value has a side effect... |
|
1214 |
Error handle:[:ex | |
|
1215 |
] do:[ |
|
1216 |
value := anObject value. |
|
1217 |
value == true ifTrue:[^ self imageFor_trueHolder]. |
|
1218 |
value == false ifTrue:[^ self imageFor_falseHolder]. |
|
1219 |
value == nil ifTrue:[^ self imageFor_nilHolder]. |
|
1220 |
value isNumber ifTrue:[^ self imageFor_numberHolder]. |
|
1221 |
value isCollection ifTrue:[^ self imageFor_collectionHolder]. |
|
1222 |
^ self imageFor_othersHolder |
|
1223 |
]. |
|
15610 | 1224 |
]. |
1225 |
]. |
|
1226 |
||
1227 |
^ self imageFor_others |
|
1228 |
||
1229 |
"Created: / 16-05-2012 / 17:58:20 / cg" |
|
17477 | 1230 |
"Modified: / 17-03-2017 / 11:26:59 / cg" |
15613 | 1231 |
! |
1232 |
||
1233 |
iconForValueClass: aClass |
|
1234 |
"this is useful if we do not want to or cannot access the value itself easily; |
|
1235 |
For example as a helper for bridge objects" |
|
1236 |
||
1237 |
aClass == UndefinedObject ifTrue:[ |
|
1238 |
^ self imageFor_nil |
|
1239 |
]. |
|
1240 |
aClass == True ifTrue:[ |
|
1241 |
^ self imageFor_true |
|
1242 |
]. |
|
1243 |
aClass == False ifTrue:[ |
|
1244 |
^ self imageFor_false |
|
1245 |
]. |
|
1246 |
((aClass == Future) or:[aClass == Lazy]) ifTrue:[ |
|
1247 |
^ self imageFor_others |
|
1248 |
]. |
|
1249 |
(aClass includesBehavior:Integer) ifTrue:[ |
|
1250 |
^ self imageFor_integers |
|
16804 | 1251 |
]. |
15613 | 1252 |
(aClass includesBehavior:Fraction) ifTrue:[ |
1253 |
^ self imageFor_fractions |
|
1254 |
]. |
|
1255 |
(aClass includesBehavior:LimitedPrecisionReal) ifTrue:[ |
|
1256 |
^ self imageFor_floats |
|
1257 |
]. |
|
1258 |
(aClass includesBehavior:Collection) ifTrue:[ |
|
1259 |
(aClass includesBehavior:CharacterArray) ifTrue:[ |
|
1260 |
(aClass includesBehavior:Symbol) ifTrue:[ |
|
1261 |
^ self imageFor_symbols |
|
1262 |
]. |
|
1263 |
^ self imageFor_strings |
|
1264 |
]. |
|
1265 |
(aClass includesBehavior:Dictionary) ifTrue:[ |
|
1266 |
^ self imageFor_dictionaries |
|
1267 |
]. |
|
1268 |
(aClass includesBehavior:SequenceableCollection) ifTrue:[ |
|
1269 |
(aClass includesBehavior:Array) ifTrue:[ |
|
1270 |
^ self imageFor_arrays |
|
1271 |
]. |
|
1272 |
^ self imageFor_sequenceableCollections |
|
1273 |
]. |
|
1274 |
^ self imageFor_collections |
|
1275 |
]. |
|
1276 |
||
1277 |
(aClass == Character) ifTrue:[ |
|
1278 |
^ self imageFor_characters |
|
1279 |
]. |
|
1280 |
(aClass includesBehavior: Behavior) ifTrue:[ |
|
1281 |
^ self imageFor_classes |
|
1282 |
]. |
|
1283 |
(aClass includesBehavior: Color) ifTrue:[ |
|
1284 |
^ self imageFor_colors |
|
1285 |
]. |
|
1286 |
(aClass includesBehavior: ValueModel) ifTrue:[ |
|
1287 |
^ self imageFor_othersHolder |
|
1288 |
]. |
|
1289 |
^ self imageFor_others |
|
15610 | 1290 |
! ! |
1291 |
||
2598 | 1292 |
!InspectorView class methodsFor:'queries-plugin'! |
1293 |
||
1294 |
aspectSelectors |
|
1295 |
^ #( inspectedObjectHolder ) |
|
1296 |
||
1297 |
"Modified: / 10.2.2000 / 12:25:28 / cg" |
|
1298 |
! ! |
|
1299 |
||
73 | 1300 |
!InspectorView methodsFor:'accessing'! |
1301 |
||
2007 | 1302 |
allowFollow:aBoolean |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
1303 |
"enable/disable the follow menu item; |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
1304 |
This is disabled for inspectors which are embedded in the debugger" |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
1305 |
|
2007 | 1306 |
allowFollow := aBoolean |
1307 |
! |
|
1308 |
||
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1309 |
dereferenceValueHolders:aBoolean |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1310 |
dereferenceValueHolders := aBoolean |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1311 |
! |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1312 |
|
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1313 |
fieldListLabel:aString |
12810 | 1314 |
labelView label:aString. |
1315 |
labelView adjust:#left. |
|
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1316 |
|
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1317 |
"Created: 28.6.1996 / 15:30:26 / cg" |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1318 |
! |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1319 |
|
9630 | 1320 |
headLineLabel:aString |
1321 |
"an alternative headline label (if used as embedded inspector)" |
|
1322 |
||
1323 |
headLineLabel := aString. |
|
1324 |
||
9648 | 1325 |
labelView notNil ifTrue:[ |
1326 |
labelView label:headLineLabel. |
|
1327 |
]. |
|
1328 |
||
1329 |
"Modified: / 25-11-2010 / 17:16:45 / cg" |
|
9630 | 1330 |
! |
1331 |
||
9693 | 1332 |
headLineLabelView |
1333 |
"provides access to the headline" |
|
1334 |
||
1335 |
^ labelView |
|
1336 |
||
1337 |
"Created: / 21-01-2011 / 12:07:13 / cg" |
|
1338 |
! |
|
1339 |
||
12448 | 1340 |
hideHashes:aBoolean |
1341 |
"hide/show the hash-entries in the field list; |
|
1342 |
This can be hidden for end-user applications" |
|
1343 |
||
1344 |
hideHashes := aBoolean |
|
1345 |
||
1346 |
"Created: 28.6.1996 / 15:08:32 / cg" |
|
1347 |
! |
|
1348 |
||
1349 |
hideMessages:aBoolean |
|
1350 |
"hide/show the messages-entries in the field list; |
|
1351 |
This can be hidden for end-user applications" |
|
1352 |
||
1353 |
hideMessages := aBoolean |
|
1354 |
||
1355 |
"Created: 28.6.1996 / 15:08:32 / cg" |
|
1356 |
! |
|
1357 |
||
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1358 |
hideReceiver:aBoolean |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
1359 |
"hide/show the self-entry for the inspected object; |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
1360 |
This is hidden for context inspectors in the debugger" |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
1361 |
|
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1362 |
hideReceiver := aBoolean |
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1363 |
|
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1364 |
"Created: 28.6.1996 / 15:08:32 / cg" |
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1365 |
! |
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1366 |
|
73 | 1367 |
inspect:anObject |
8452 | 1368 |
"set/update the object to be inspected" |
73 | 1369 |
|
16064 | 1370 |
self inspect:anObject keepSelection:false |
1371 |
! |
|
1372 |
||
1373 |
inspect:anObject keepSelection:keepSelectionBoolean |
|
1374 |
"set/update the object to be inspected" |
|
1375 |
||
11547
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1376 |
|keepList fieldNameList sameObject sameClass oldSelectedField idx| |
9390 | 1377 |
|
9690 | 1378 |
"/ (anObject isNil and:[object isNil]) ifTrue:[^ self]. |
9651 | 1379 |
|
9390 | 1380 |
sameObject := (anObject == object) and:[object notNil]. |
10520 | 1381 |
|
17517 | 1382 |
"/ JV@2011-08-06: Be careful here, classes may be variable-length, |
10520 | 1383 |
"/ so instances of same class may have different number of slots!! |
17517 | 1384 |
"/ (caused problems especially when stack inspector is shown in debugger). |
10520 | 1385 |
"/ To fix, I've added ------------------------v |
1386 |
sameClass := (anObject class == object class) and:[anObject class isVariable not]. |
|
9390 | 1387 |
selectionIndex notNil ifTrue:[ |
1388 |
oldSelectedField := (listView list ? #()) at:selectionIndex ifAbsent:nil. |
|
1389 |
]. |
|
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1390 |
inspectedObject := object := anObject. |
73 | 1391 |
|
11547
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1392 |
keepList := ((sameObject | sameClass) and:[listView list notEmptyOrNil]). |
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1393 |
"/ assume that the list remains unchanged; |
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1394 |
"/ this is no longer true, if some inst-slot has changed (bullet colors) |
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1395 |
UserPreferences current showTypeIndicatorInInspector ifTrue:[ |
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1396 |
keepList := false. |
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1397 |
]. |
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1398 |
keepList ifFalse:[ |
2007 | 1399 |
hasMore := false. |
17517 | 1400 |
fieldNameList := self fieldList. |
2007 | 1401 |
hasMore ifTrue:[ |
11547
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1402 |
fieldNameList add:' ... ' |
2007 | 1403 |
]. |
11547
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1404 |
listView contents:fieldNameList. |
2007 | 1405 |
workspace contents:nil. |
1406 |
self setDoItAction. |
|
73 | 1407 |
]. |
9390 | 1408 |
sameClass ifFalse:[ |
1409 |
selectionIndex := selectedLine := nil. |
|
1410 |
]. |
|
9262 | 1411 |
isStandaloneInspector ifTrue:[ |
8452 | 1412 |
"/ not embedded (as in the debugger) |
17517 | 1413 |
self topView |
2284 | 1414 |
label:(self labelFor:anObject); |
10321 | 1415 |
iconLabel:(self class labelNameFor:anObject). |
8452 | 1416 |
]. |
17517 | 1417 |
|
9390 | 1418 |
(sameObject | sameClass) ifFalse:[ |
1419 |
idx := (listView list ? #()) indexOf:oldSelectedField. |
|
1420 |
idx ~~ 0 ifTrue:[ |
|
1421 |
listView selection:idx |
|
1422 |
] ifFalse:[ |
|
1423 |
self setInitialSelection. |
|
1424 |
] |
|
8452 | 1425 |
]. |
10520 | 1426 |
self showSelection:((selectedLine ? 1) min: listView list size) |
9624 | 1427 |
|
10520 | 1428 |
"Modified (comment): / 06-08-2011 / 13:41:50 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
11547
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1429 |
"Modified: / 02-06-2012 / 13:06:59 / cg" |
17517 | 1430 |
"Modified (comment): / 24-05-2017 / 22:00:53 / mawalch" |
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
1431 |
! |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
1432 |
|
14259 | 1433 |
inspectNext:anObject |
1434 |
"do a followup inspect on an object. |
|
1435 |
This does either open a new inspector, or advances |
|
1436 |
the Inspector2 to anObject" |
|
1437 |
||
1438 |
|app| |
|
1439 |
||
1440 |
app := self application. |
|
1441 |
(app isKindOf:Tools::Inspector2) ifTrue:[ |
|
1442 |
app inspect:anObject |
|
1443 |
] ifFalse:[ |
|
1444 |
anObject inspect |
|
1445 |
] |
|
1446 |
! |
|
1447 |
||
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
1448 |
isStandaloneInspector:aBoolean |
2007 | 1449 |
"obsolete now" |
1450 |
||
2008
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
1451 |
isStandaloneInspector := aBoolean |
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
1452 |
|
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
1453 |
"Modified: / 12.2.1999 / 16:01:44 / cg" |
29 | 1454 |
! |
1455 |
||
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1456 |
label:aString |
4106 | 1457 |
"set the fieldListLabel - obsolete; collides with inherited label-functionality" |
1458 |
||
5845 | 1459 |
<resource:#obsolete> |
4106 | 1460 |
self obsoleteMethodWarning:'use fieldListLabel:'. |
1461 |
self fieldListLabel:aString. |
|
1462 |
super label:aString. |
|
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1463 |
|
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1464 |
"Created: 28.6.1996 / 15:30:26 / cg" |
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1465 |
! |
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1466 |
|
73 | 1467 |
listView |
1468 |
^ listView |
|
352 | 1469 |
! |
1470 |
||
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1471 |
reinspect |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1472 |
"update display for a changed inspectedObject" |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1473 |
|
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1474 |
|aList| |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1475 |
|
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1476 |
hasMore := false. |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1477 |
aList := self fieldList. |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1478 |
hasMore ifTrue:[ |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1479 |
aList add:' ... ' |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1480 |
]. |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1481 |
|
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1482 |
listView contents:aList. |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1483 |
self setDoItAction. |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1484 |
selectionIndex := selectedLine := nil |
11547
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1485 |
|
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
1486 |
"Modified (comment): / 02-06-2012 / 13:08:15 / cg" |
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1487 |
! |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
1488 |
|
9625
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1489 |
suppressHeadline:aBoolean |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1490 |
"hide/show the title line above the list/value" |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1491 |
|
9736 | 1492 |
suppressHeadline := aBoolean. |
1493 |
||
1494 |
labelView notNil ifTrue:[ |
|
1495 |
suppressHeadline == true ifTrue:[ |
|
1496 |
labelView beInvisible. |
|
1497 |
listView container topInset:0. |
|
1498 |
workspace container topInset:0. |
|
1499 |
] ifFalse:[ |
|
1500 |
labelView beVisible. |
|
1501 |
listView container topInset:(labelView preferredHeight). |
|
1502 |
workspace container topInset:(labelView preferredHeight). |
|
1503 |
]. |
|
1504 |
]. |
|
9625
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1505 |
|
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1506 |
"Created: / 09-11-2010 / 14:50:04 / cg" |
9736 | 1507 |
"Modified: / 05-02-2011 / 14:03:55 / cg" |
9625
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1508 |
! |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1509 |
|
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1510 |
suppressPseudoSlots:aBoolean |
17588 | 1511 |
"to enable/disable the pseudo slots (eg. inspectorExtraAttributes)" |
17589 | 1512 |
|
1513 |
aBoolean ~~ suppressPseudoSlots ifTrue:[ |
|
1514 |
suppressPseudoSlots := aBoolean. |
|
1515 |
self reinspect. |
|
1516 |
]. |
|
1517 |
||
1518 |
"Modified: / 18-07-2017 / 15:23:51 / cg" |
|
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1519 |
! |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
1520 |
|
352 | 1521 |
workspace |
1522 |
^ workspace |
|
52 | 1523 |
! ! |
1524 |
||
2724 | 1525 |
!InspectorView methodsFor:'accessing-channels'! |
2598 | 1526 |
|
1527 |
inspectedObjectHolder |
|
1528 |
inspectedObjectHolder isNil ifTrue:[ |
|
1529 |
inspectedObjectHolder := ValueHolder new. |
|
1530 |
inspectedObjectHolder addDependent:self. |
|
1531 |
]. |
|
1532 |
^ inspectedObjectHolder |
|
1533 |
||
1534 |
"Created: / 10.2.2000 / 13:33:16 / cg" |
|
1535 |
"Modified: / 10.2.2000 / 13:34:23 / cg" |
|
1536 |
! |
|
1537 |
||
1538 |
inspectedObjectHolder:aValueHolder |
|
1539 |
inspectedObjectHolder notNil ifTrue:[ |
|
1540 |
inspectedObjectHolder removeDependent:self. |
|
1541 |
]. |
|
1542 |
inspectedObjectHolder := aValueHolder. |
|
1543 |
inspectedObjectHolder notNil ifTrue:[ |
|
1544 |
inspectedObjectHolder addDependent:self. |
|
1545 |
]. |
|
1546 |
||
1547 |
"Created: / 10.2.2000 / 13:34:53 / cg" |
|
16546 | 1548 |
! |
1549 |
||
1550 |
sortOrderHolder |
|
1551 |
^ sortOrderHolder |
|
1552 |
! |
|
1553 |
||
1554 |
sortOrderHolder:aValueHolder |
|
1555 |
self assert:aValueHolder notNil. |
|
1556 |
||
1557 |
sortOrderHolder notNil ifTrue:[ |
|
1558 |
sortOrderHolder removeDependent:self. |
|
1559 |
]. |
|
1560 |
sortOrderHolder := aValueHolder. |
|
1561 |
sortOrderHolder addDependent:self. |
|
1562 |
self sortOrderHolderChanged. |
|
2598 | 1563 |
! ! |
1564 |
||
1565 |
!InspectorView methodsFor:'change & update'! |
|
1566 |
||
12467 | 1567 |
holderChanged:aValueHolder |
1568 |
"a valueHolder of which I have registered an iterest |
|
1569 |
has changed (see the menu item: 'Catch Change'). |
|
1570 |
Remove the interest (no further notifications) either by evaluating: |
|
14070 | 1571 |
aValueHolder retractInterestsFor:holderChangeInterest |
1572 |
or: |
|
12467 | 1573 |
self doUncatchChanges |
1574 |
here, or via the field menu" |
|
1575 |
||
14070 | 1576 |
"/ aValueHolder retractInterestsFor:holderChangeInterest |
12467 | 1577 |
self halt:'ValueHolder has changed - please proceed'. |
1578 |
! |
|
1579 |
||
16546 | 1580 |
sortOrderHolderChanged |
1581 |
|newOrder| |
|
1582 |
||
1583 |
newOrder := sortOrderHolder value. |
|
1584 |
sortOrder ~~ newOrder ifTrue:[ |
|
1585 |
sortOrder := newOrder. |
|
1586 |
self reinspect. |
|
1587 |
]. |
|
1588 |
! |
|
1589 |
||
2598 | 1590 |
update:something with:aParameter from:changedObject |
1591 |
"Invoked when one of my dependees sends a change notification." |
|
1592 |
||
1593 |
|oldSelection| |
|
1594 |
||
9367 | 1595 |
changedObject == object ifTrue:[ |
2598 | 1596 |
oldSelection := listView selection. |
9367 | 1597 |
self inspect:object. |
2598 | 1598 |
oldSelection notNil ifTrue:[ |
1599 |
self showSelection:oldSelection |
|
16546 | 1600 |
]. |
1601 |
^ self |
|
2598 | 1602 |
]. |
1603 |
||
12457 | 1604 |
changedObject == inspectedObjectHolder ifTrue:[ |
16546 | 1605 |
self inspect:(inspectedObjectHolder value). |
1606 |
^ self |
|
1607 |
]. |
|
1608 |
changedObject == sortOrderHolder ifTrue:[ |
|
1609 |
self sortOrderHolderChanged. |
|
1610 |
^ self. |
|
2598 | 1611 |
]. |
1612 |
||
1613 |
super update:something with:aParameter from:changedObject |
|
1614 |
||
1615 |
"Created: / 10.2.2000 / 13:46:38 / cg" |
|
1616 |
"Modified: / 10.2.2000 / 13:48:18 / cg" |
|
1617 |
! ! |
|
1618 |
||
7297 | 1619 |
!InspectorView methodsFor:'drag & drop'! |
1620 |
||
1621 |
getDisplayObjects |
|
1622 |
||
1623 |
^List with:self selection printString |
|
1624 |
||
1625 |
"Created: / 16-08-2005 / 21:54:52 / janfrog" |
|
1626 |
"Modified: / 18-09-2006 / 21:11:16 / cg" |
|
1627 |
! |
|
1628 |
||
1629 |
getDropObjects |
|
1630 |
||
1631 |
^List with:(DropObject new:self selection). |
|
1632 |
||
1633 |
"Created: / 16-08-2005 / 21:49:23 / janfrog" |
|
1634 |
"Modified: / 18-09-2006 / 21:11:31 / cg" |
|
1635 |
! ! |
|
1636 |
||
8025 | 1637 |
!InspectorView methodsFor:'event handling'! |
1638 |
||
10424
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
1639 |
doubleClickOnLine:lineNr |
14259 | 1640 |
self inspectNext:self selectedField. |
10424
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
1641 |
|
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
1642 |
"Created: / 29-07-2011 / 21:09:43 / cg" |
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
1643 |
! |
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
1644 |
|
8025 | 1645 |
keyPress:key x:x y:y |
1646 |
"handle special keys" |
|
1647 |
||
1648 |
<resource: #keyboard (#BrowseIt #InspectIt)> |
|
1649 |
||
12031 | 1650 |
self theSingleSelectionIndex "selection" notNil ifTrue:[ |
8025 | 1651 |
(key == #BrowseIt) ifTrue:[ |
1652 |
self browse. |
|
1653 |
^ self. |
|
1654 |
]. |
|
1655 |
(key == #InspectIt) ifTrue:[ |
|
1656 |
self doInspect. |
|
1657 |
^ self. |
|
1658 |
]. |
|
1659 |
]. |
|
1660 |
||
1661 |
"all my other input is passed on to the workspace-field" |
|
1662 |
x notNil ifTrue:[ |
|
1663 |
"/ not already delegated |
|
1664 |
workspace keyPress:key x:-1 y:-1 |
|
1665 |
]. |
|
9389 | 1666 |
! |
1667 |
||
11702 | 1668 |
selectedField |
1669 |
^ self theSingleSelectionIndex isNil |
|
1670 |
ifTrue:[object] |
|
1671 |
ifFalse:[self selection]. |
|
1672 |
||
1673 |
"Created: / 27-07-2012 / 22:42:23 / cg" |
|
1674 |
! |
|
1675 |
||
9389 | 1676 |
sizeChanged:how |
1677 |
super sizeChanged:how. |
|
1678 |
||
1679 |
isStandaloneInspector == true ifTrue:[ |
|
1680 |
LastExtent := self topView extent. |
|
1681 |
]. |
|
8025 | 1682 |
! ! |
1683 |
||
2587
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
1684 |
!InspectorView methodsFor:'initialization & release'! |
2117 | 1685 |
|
1686 |
destroy |
|
7867 | 1687 |
(self topView objectAttributeAt:#rememberExtent) == true ifTrue:[ |
1688 |
self class rememberLastExtent:(self topView extent). |
|
1689 |
]. |
|
1690 |
||
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1691 |
inspectedObject := object := nil. |
2117 | 1692 |
monitorProcess notNil ifTrue:[ |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1693 |
monitorProcess terminate |
2117 | 1694 |
]. |
1695 |
super destroy |
|
7867 | 1696 |
|
1697 |
"Modified: / 23-10-2007 / 19:11:04 / cg" |
|
2117 | 1698 |
! |
73 | 1699 |
|
1700 |
initialize |
|
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1701 |
|v panel helpView labelView2| |
73 | 1702 |
|
1703 |
super initialize. |
|
1704 |
||
3318
46c3347385f4
preps to allow for displayString message to be configured
Claus Gittinger <cg@exept.de>
parents:
3199
diff
changeset
|
1705 |
displayStringMessage := #displayString. |
16883 | 1706 |
hideReceiver := false. |
1707 |
hideHashes := self class defaultHideHashes. |
|
1708 |
hideMessages := self class defaultHideMessages. |
|
10846 | 1709 |
integerDisplayRadix := (DefaultIntegerDisplayRadix ? 10). |
16546 | 1710 |
sortOrder := SortOrderInstvarOrder. |
1711 |
sortOrderHolder := sortOrder asValue. |
|
1712 |
sortOrderHolder addDependent:self. |
|
2007 | 1713 |
allowFollow := false. |
2008
52bf8b8afd3b
separated allowFollow from isStandAlone flag
Claus Gittinger <cg@exept.de>
parents:
2007
diff
changeset
|
1714 |
isStandaloneInspector := false. |
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1715 |
|
73 | 1716 |
panel := VariableHorizontalPanel |
1991
dfbb30988edd
no miniScrollers; no autoHide
Claus Gittinger <cg@exept.de>
parents:
1930
diff
changeset
|
1717 |
origin:(0.0 @ 0.0) |
dfbb30988edd
no miniScrollers; no autoHide
Claus Gittinger <cg@exept.de>
parents:
1930
diff
changeset
|
1718 |
corner:(1.0 @ 1.0) |
dfbb30988edd
no miniScrollers; no autoHide
Claus Gittinger <cg@exept.de>
parents:
1930
diff
changeset
|
1719 |
in:self. |
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1720 |
|
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1721 |
helpView := View origin:(0.0 @ 0.0) corner:(0.3 @ 1.0) in:panel. |
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1722 |
helpView level:0; borderWidth:0. |
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1723 |
|
9625
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1724 |
suppressHeadline == true ifFalse:[ |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1725 |
labelView := Label origin:0.0@0.0 corner:1.0@0.0 in:helpView. |
9630 | 1726 |
labelView label:(headLineLabel ? self defaultLabel). |
9625
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1727 |
labelView bottomInset:(labelView preferredHeight negated). |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1728 |
]. |
73 | 1729 |
|
1730 |
v := HVScrollableView |
|
9625
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1731 |
for:SelectionInListView |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1732 |
miniScrollerH:true |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1733 |
miniScrollerV:false |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1734 |
in:helpView. |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1735 |
v origin:(0.0 @ 0.0) corner:(1.0 @ 1.0). |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1736 |
labelView notNil ifTrue:[ |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1737 |
v topInset:(labelView preferredHeight). |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1738 |
]. |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1739 |
|
1991
dfbb30988edd
no miniScrollers; no autoHide
Claus Gittinger <cg@exept.de>
parents:
1930
diff
changeset
|
1740 |
"/ v autoHideScrollBars:true. |
73 | 1741 |
|
1742 |
listView := v scrolledView. |
|
8653 | 1743 |
listView action:[:lineNr | self selection:lineNr.]. |
10424
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
1744 |
listView doubleClickAction:[:lineNr | self doubleClickOnLine:lineNr]. |
73 | 1745 |
listView ignoreReselect:false. |
98 | 1746 |
listView menuHolder:self; menuPerformer:self; menuMessage:#fieldMenu. |
7297 | 1747 |
self initializeDragAndDrop. |
73 | 1748 |
|
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1749 |
helpView := View origin:(0.3 @ 0.0) corner:(1.0 @ 1.0) in:panel. |
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1750 |
helpView level:0; borderWidth:0. |
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1751 |
|
9625
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1752 |
suppressHeadline == true ifFalse:[ |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1753 |
labelView2 := Label origin:0.0@0.0 corner:1.0@0.0 in:helpView. |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1754 |
labelView2 label:''. |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1755 |
labelView2 bottomInset:(labelView preferredHeight negated). |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1756 |
]. |
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1757 |
|
73 | 1758 |
v := HVScrollableView |
1991
dfbb30988edd
no miniScrollers; no autoHide
Claus Gittinger <cg@exept.de>
parents:
1930
diff
changeset
|
1759 |
for:CodeView |
dfbb30988edd
no miniScrollers; no autoHide
Claus Gittinger <cg@exept.de>
parents:
1930
diff
changeset
|
1760 |
miniScrollerH:true |
dfbb30988edd
no miniScrollers; no autoHide
Claus Gittinger <cg@exept.de>
parents:
1930
diff
changeset
|
1761 |
miniScrollerV:false |
dfbb30988edd
no miniScrollers; no autoHide
Claus Gittinger <cg@exept.de>
parents:
1930
diff
changeset
|
1762 |
in:helpView. |
dfbb30988edd
no miniScrollers; no autoHide
Claus Gittinger <cg@exept.de>
parents:
1930
diff
changeset
|
1763 |
"/ v autoHideScrollBars:true. |
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1764 |
v origin:(0.0 @ 0.0) corner:(1.0 @ 1.0). |
9625
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1765 |
labelView2 notNil ifTrue:[ |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1766 |
v topInset:(labelView2 preferredHeight). |
1b6c049c1990
allow suppressing the headline
Claus Gittinger <cg@exept.de>
parents:
9624
diff
changeset
|
1767 |
]. |
73 | 1768 |
workspace := v scrolledView. |
15246 | 1769 |
workspace autoIndent:false. |
73 | 1770 |
|
3608 | 1771 |
self setAcceptAction. |
73 | 1772 |
|
1773 |
nShown := 100. |
|
1774 |
hasMore := false. |
|
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
1775 |
|
7297 | 1776 |
"Modified: / 16-08-2005 / 21:54:04 / janfrog" |
11629 | 1777 |
"Modified: / 20-07-2012 / 10:48:34 / cg" |
7297 | 1778 |
! |
1779 |
||
1780 |
initializeDragAndDrop |
|
1781 |
||
1782 |
| source | |
|
1783 |
source := DropSource |
|
1784 |
receiver:self |
|
1785 |
argument:nil |
|
1786 |
dropObjectSelector:#getDropObjects |
|
1787 |
displayObjectSelector:#getDisplayObjects |
|
1788 |
dropFeedBackSelector:nil. |
|
1789 |
||
1790 |
listView dropSource:source. |
|
1791 |
||
1792 |
"Created: / 16-08-2005 / 21:51:43 / janfrog" |
|
1793 |
"Modified: / 18-09-2006 / 21:13:05 / cg" |
|
200 | 1794 |
! |
1795 |
||
593 | 1796 |
realize |
1797 |
"delayed setup of lists till first map-time - |
|
200 | 1798 |
this makes startup of inspectors a bit faster" |
1799 |
||
1800 |
|o| |
|
1801 |
||
593 | 1802 |
super realize. |
17032 | 1803 |
"/ cg: I don't remember what this was needed for (is it still?) |
9367 | 1804 |
false "object notNil" ifTrue:[ |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1805 |
" |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1806 |
kludge to trick inspect:, which ignores setting the |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1807 |
same object again ... |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1808 |
" |
9367 | 1809 |
o := object. |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1810 |
inspectedObject := object := nil. |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1811 |
self inspect:o |
383 | 1812 |
] |
593 | 1813 |
|
7887
be186ae12782
dont clobber the current selection on realize
Claus Gittinger <cg@exept.de>
parents:
7867
diff
changeset
|
1814 |
"Created: / 30-05-1996 / 09:38:37 / cg" |
be186ae12782
dont clobber the current selection on realize
Claus Gittinger <cg@exept.de>
parents:
7867
diff
changeset
|
1815 |
"Modified: / 05-11-2007 / 20:11:44 / cg" |
2117 | 1816 |
! |
1817 |
||
1818 |
release |
|
16804 | 1819 |
"release inspected object. This is normally not needed, |
2117 | 1820 |
since the garbage collector will find this memory alone. |
1821 |
However, if some applications keeps invisible inspectors around |
|
1822 |
(for example, the debugger does this), the inspected object |
|
1823 |
would be kept from being freed or freed very late." |
|
1824 |
||
16064 | 1825 |
" |
2117 | 1826 |
inspectedObject notNil ifTrue:[ |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1827 |
inspectedObject removeDependent:self |
2117 | 1828 |
]. |
16064 | 1829 |
" |
1830 |
||
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
1831 |
inspectedObject := object := nil. |
2117 | 1832 |
self setDoItAction. "/ to release ref to inspectedObject in doItBlock |
1833 |
workspace contents:nil. |
|
1834 |
listView contents:nil. |
|
1835 |
||
1836 |
super release. |
|
1837 |
||
1838 |
"Modified: 11.6.1997 / 13:20:39 / cg" |
|
8452 | 1839 |
! |
1840 |
||
1841 |
setInitialSelection |
|
14102 | 1842 |
Error handle:[:ex | |
1843 |
] do:[ |
|
17123 | 1844 |
object isProtoObject ifFalse:[ |
14102 | 1845 |
object isString ifTrue:[ |
1846 |
self showSelection:1 "/ the self-line |
|
1847 |
] |
|
1848 |
]. |
|
8452 | 1849 |
]. |
98 | 1850 |
! ! |
1851 |
||
1852 |
!InspectorView methodsFor:'menu'! |
|
73 | 1853 |
|
1854 |
fieldMenu |
|
1040 | 1855 |
"return the menu for the field-list" |
1856 |
||
1235
13610578a5d2
resource flag: #menu -> #programMenu
Claus Gittinger <cg@exept.de>
parents:
1185
diff
changeset
|
1857 |
<resource: #programMenu> |
1040 | 1858 |
|
17458 | 1859 |
|items m sel isValueModel operationItems| |
1597
48629e1fc7b6
use new menu-creation message in PopUpMenu.
Claus Gittinger <cg@exept.de>
parents:
1570
diff
changeset
|
1860 |
|
12528 | 1861 |
sel := self selection. |
17458 | 1862 |
isValueModel := sel isProtoObject not and:[sel isValueModel]. |
12528 | 1863 |
|
1597
48629e1fc7b6
use new menu-creation message in PopUpMenu.
Claus Gittinger <cg@exept.de>
parents:
1570
diff
changeset
|
1864 |
items := #( |
3198 | 1865 |
('Copy Name or Key' #doCopyKey ) |
2085 | 1866 |
('-') |
3198 | 1867 |
('Inspect' #doInspect ) |
1868 |
('BasicInspect' #doBasicInspect ) |
|
9349
e6d367cbe86c
do not show new-inspector in menu, if there is none loaded
Claus Gittinger <cg@exept.de>
parents:
9316
diff
changeset
|
1869 |
). |
17458 | 1870 |
isValueModel ifTrue:[ |
12528 | 1871 |
items := items , #( |
1872 |
('Inspect Value' #doInspectValue ) |
|
1873 |
). |
|
1874 |
]. |
|
9349
e6d367cbe86c
do not show new-inspector in menu, if there is none loaded
Claus Gittinger <cg@exept.de>
parents:
9316
diff
changeset
|
1875 |
NewInspector::NewInspectorView notNil ifTrue:[ |
e6d367cbe86c
do not show new-inspector in menu, if there is none loaded
Claus Gittinger <cg@exept.de>
parents:
9316
diff
changeset
|
1876 |
items := items , #( |
4197 | 1877 |
('Inspect Hierarchical' #doNewInspect ) |
9349
e6d367cbe86c
do not show new-inspector in menu, if there is none loaded
Claus Gittinger <cg@exept.de>
parents:
9316
diff
changeset
|
1878 |
). |
e6d367cbe86c
do not show new-inspector in menu, if there is none loaded
Claus Gittinger <cg@exept.de>
parents:
9316
diff
changeset
|
1879 |
]. |
e6d367cbe86c
do not show new-inspector in menu, if there is none loaded
Claus Gittinger <cg@exept.de>
parents:
9316
diff
changeset
|
1880 |
items := items , #( |
8993
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1881 |
('Browse' #browse ) |
8800 | 1882 |
). |
17458 | 1883 |
|
1884 |
sel isProtoObject ifFalse:[ |
|
1885 |
isValueModel ifTrue:[ |
|
1886 |
items := items , #( |
|
1887 |
('Browse Value' #browseValue ) |
|
1888 |
). |
|
1889 |
]. |
|
1890 |
(sel isSymbol) ifTrue:[ |
|
1891 |
items := items , #( |
|
1892 |
('Browse Implementors' #browseImplementorsOfSymbolValue) |
|
1893 |
). |
|
1894 |
]. |
|
1895 |
||
1896 |
(inspectedObject class allInstVarNames includes:(self selectedKeyName)) ifTrue:[ |
|
1897 |
items := items , #( |
|
1898 |
('Browse References to Instvar' #browseReferencesToInstvar) |
|
1899 |
). |
|
1900 |
]. |
|
1901 |
||
1902 |
items := items , (self optionalToolItems). |
|
1903 |
items := items , (self optionalViewSelectionItems). |
|
12934 | 1904 |
]. |
17458 | 1905 |
|
8800 | 1906 |
items := items , #( |
7951 | 1907 |
('-') |
1908 |
('Owners' #showOwners ) |
|
4197 | 1909 |
('Ref Chains' #showReferences ) |
17694 | 1910 |
('Dependents' #showDependents ) |
3199 | 1911 |
"/ ('Browse class hierarchy' #browseClassHierarchy ) |
1912 |
"/ ('Browse full class protocol' #browseFullClassProtocol) |
|
2579 | 1913 |
). |
2587
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
1914 |
|
17458 | 1915 |
sel isProtoObject ifFalse:[ |
1916 |
items := items , (self optionalMethodOrBlockSelectionItems). |
|
1917 |
items := items , (self optionalStreamSelectionItems). |
|
1918 |
items := items , (self optionalFilenameSelectionItems). |
|
1919 |
items := items , (self optionalByteArraySelectionItems). |
|
1920 |
operationItems := self optionalOperationMenuItemsFor:sel. |
|
1921 |
]. |
|
7639 | 1922 |
|
2579 | 1923 |
items := items , #( |
2085 | 1924 |
('-') |
9574 | 1925 |
('Local Protocol' #localProtocolMenu ) |
1926 |
('Full Protocol' #protocolMenu ) |
|
1927 |
('-') |
|
4197 | 1928 |
('Trap Message...' #doTrap ) |
13185 | 1929 |
('Trap Update Messages...' #doTrapUpdates ) |
4197 | 1930 |
('Trap all Messages' #doTrapAll ) |
1931 |
('Trace all Messages' #doTraceAll ) |
|
1932 |
('Untrace/Untrap' #doUntrace ) |
|
2850 | 1933 |
"/ ('-') |
3198 | 1934 |
"/ ('Trap change to instVar' #doTrapInstVarChange ) |
1935 |
"/ ('Trap change to any instVar' #doTrapAnyInstVarChange ) |
|
2007 | 1936 |
). |
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
1937 |
|
17458 | 1938 |
isValueModel ifTrue:[ |
12467 | 1939 |
(holderChangeInterest notNil |
1940 |
and:[ (sel interestsFor:holderChangeInterest) notEmptyOrNil ]) ifTrue:[ |
|
1941 |
items := items , #( |
|
1942 |
('Uncatch Changes' #doUncatchChanges ) |
|
1943 |
). |
|
1944 |
] ifFalse:[ |
|
1945 |
items := items , #( |
|
1946 |
('Catch Changes' #doCatchChanges ) |
|
1947 |
). |
|
1948 |
]. |
|
1949 |
]. |
|
1950 |
||
2007 | 1951 |
allowFollow ifTrue:[ |
1952 |
items := #( |
|
3198 | 1953 |
('Follow' #doFollow ) |
1954 |
('Back' #doBack ) |
|
2007 | 1955 |
('-') |
1956 |
) |
|
1957 |
, |
|
1958 |
items. |
|
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
1959 |
]. |
73 | 1960 |
|
8993
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1961 |
monitorProcess isNil ifTrue:[ |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1962 |
items := items , #( |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1963 |
('Start Monitor' #doStartMonitor ) |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1964 |
). |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1965 |
] ifFalse:[ |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1966 |
items := items , #( |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1967 |
('Stop Monitor' #doStopMonitor ) |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1968 |
). |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1969 |
]. |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1970 |
|
73 | 1971 |
hasMore ifTrue:[ |
2007 | 1972 |
items := items , #( |
1973 |
('-') |
|
4197 | 1974 |
('Show More' #showMore ) |
11576 | 1975 |
). |
11578 | 1976 |
(self numIndexedFields > (nShown * 2)) ifTrue:[ |
11576 | 1977 |
items := items , #( |
1978 |
('Show All' #showAll ) |
|
2007 | 1979 |
) |
11576 | 1980 |
]. |
73 | 1981 |
]. |
1982 |
||
11629 | 1983 |
items := items , (self sortOrderItems). |
7639 | 1984 |
items := items , (self numberBaseItems). |
1634
216a4254e634
added 'hex integers' toggle to menu.
Claus Gittinger <cg@exept.de>
parents:
1597
diff
changeset
|
1985 |
|
16814 | 1986 |
operationItems notEmptyOrNil ifTrue:[ |
1987 |
items := items, #(('-')) , operationItems |
|
1988 |
]. |
|
1989 |
||
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
1990 |
m := PopUpMenu |
2007 | 1991 |
itemList:items |
1992 |
resources:resources. |
|
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
1993 |
|
12597 | 1994 |
m subMenuAt:#protocolMenu put:(self protocolMenu). |
1995 |
m subMenuAt:#localProtocolMenu put:(self localProtocolMenu). |
|
8993
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
1996 |
|
9703 | 1997 |
(self theSingleSelectionIndex isNil) ifTrue:[ |
2007 | 1998 |
m disableAll:#(doFollow doInspect doBasicInspect doNewInspect |
1999 |
browse browseClassHierarchy browseFullClassProtocol |
|
12934 | 2000 |
browseValue browseImplementorsOfSymbolValue |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
2001 |
doStartMonitor doCopyKey doCopyKey) |
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2002 |
]. |
9703 | 2003 |
(self hasSelfEntry and:[selectionIndex == 1]) ifTrue:[ |
2004 |
m disableAll:#(doFollow doCopyKey "doInspect doBasicInspect") |
|
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2005 |
]. |
7975 | 2006 |
|
17458 | 2007 |
inspectHistory isEmptyOrNil ifTrue:[ |
2007 | 2008 |
m disable:#doBack |
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2009 |
]. |
6491 | 2010 |
sel class hasImmediateInstances ifTrue:[ |
2580 | 2011 |
m disableAll:#(showReferences doNewInspect) |
2012 |
]. |
|
8616 | 2013 |
"/ sel inspectorClass == self class ifFalse:[ |
2014 |
"/ m disable:#doFollow |
|
2015 |
"/ ]. |
|
17458 | 2016 |
(sel isProtoObject or:[sel isMethod not]) ifTrue:[ |
4197 | 2017 |
m disable:#browseMethodsClass |
2018 |
]. |
|
3199 | 2019 |
|
12597 | 2020 |
sel := nil. "/ release ref to sel; helps reference finder |
2021 |
||
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2022 |
^ m |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2023 |
|
17694 | 2024 |
"Modified: / 27-09-2017 / 09:33:54 / cg" |
7639 | 2025 |
! |
2026 |
||
12597 | 2027 |
localProtocolMenu |
2028 |
"return the menu for the inspected object's local implemented messages" |
|
2029 |
||
2030 |
|localSelectors labels localProtocolMenu| |
|
2031 |
||
12886 | 2032 |
localSelectors := object class methodDictionary keysSorted. |
12597 | 2033 |
"/ kludge: '-' and '=' are special in a menu |
2034 |
labels := localSelectors collect:[:sel | (#('-' '=') includes:sel) ifTrue:[' ',sel] ifFalse:[sel]]. |
|
2035 |
localProtocolMenu := PopUpMenu |
|
2036 |
labels:labels |
|
2037 |
selector:#letSelectedObjectPerform: |
|
2038 |
args:localSelectors |
|
2039 |
receiver:self. |
|
2040 |
||
2041 |
^ localProtocolMenu |
|
2042 |
! |
|
2043 |
||
7639 | 2044 |
numberBaseItems |
9557
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
2045 |
^ { |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
2046 |
#('-') . |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
2047 |
(integerDisplayRadix == 10) |
12643 | 2048 |
ifFalse:[ #('Show Integers as Decimal' #setDisplayRadixTo10 ) ] . |
13527 | 2049 |
(integerDisplayRadix == 16) |
2050 |
ifFalse:[ #('Show Integers as Hex' #setDisplayRadixTo16 ) ] . |
|
9557
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
2051 |
(integerDisplayRadix == 2) |
12643 | 2052 |
ifFalse:[ #('Show Integers as Binary' #setDisplayRadixTo2 ) ] . |
9557
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
2053 |
} select:[:el | el notNil]. |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
2054 |
|
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
2055 |
"Modified: / 24-08-2010 / 17:31:51 / cg" |
7639 | 2056 |
! |
2057 |
||
9700 | 2058 |
optionalByteArraySelectionItems |
12467 | 2059 |
"/ |sel| |
2060 |
"/ |
|
2061 |
"/ sel := self selection. |
|
17823 | 2062 |
(object isProtoObject not and:[object isByteArray]) ifTrue:[ |
9700 | 2063 |
^ #( |
2064 |
('Save Bytes to File...' #saveBytesToFile) |
|
2065 |
). |
|
2066 |
]. |
|
2067 |
^ #() |
|
2068 |
||
2069 |
"Created: / 25-01-2011 / 17:16:12 / cg" |
|
17823 | 2070 |
"Modified: / 30-11-2017 / 11:08:43 / stefan" |
9700 | 2071 |
! |
2072 |
||
7639 | 2073 |
optionalFilenameSelectionItems |
2074 |
|sel| |
|
2075 |
||
2076 |
sel := self selection. |
|
17823 | 2077 |
(sel isFilename or:[(sel isString and:[sel asFilename exists]) |
2078 |
or:[object isProtoObject not and:[object isFilename]]]) ifTrue:[ |
|
9737 | 2079 |
OperatingSystem isMSWINDOWSlike ifTrue:[ |
2080 |
^ #( |
|
2081 |
('Show in Explorer' #showInWindowsExplorer) |
|
2082 |
('Open FileBrowser' #openFileBrowser) |
|
2083 |
). |
|
2084 |
]. |
|
7639 | 2085 |
^ #( |
8090 | 2086 |
('Open FileBrowser' #openFileBrowser) |
2087 |
). |
|
7639 | 2088 |
]. |
2089 |
^ #() |
|
2090 |
||
2091 |
"Created: / 09-02-2007 / 16:10:30 / cg" |
|
9737 | 2092 |
"Modified: / 05-02-2011 / 15:49:48 / cg" |
17823 | 2093 |
"Modified: / 30-11-2017 / 11:08:10 / stefan" |
7639 | 2094 |
! |
2095 |
||
8799 | 2096 |
optionalMethodOrBlockSelectionItems |
2097 |
|sel items| |
|
2098 |
||
2099 |
sel := self selection. |
|
2100 |
||
2101 |
items := #(). |
|
2102 |
(sel isBlock or:[sel isContext]) ifTrue:[ |
|
2103 |
items := items , #( |
|
10436 | 2104 |
('Browse Block''s Home' #browseHome) |
8799 | 2105 |
). |
2106 |
]. |
|
17823 | 2107 |
(sel isMethod or:[object isProtoObject not and:[object isMethod]]) ifTrue:[ |
8799 | 2108 |
items := items , #( |
10436 | 2109 |
('Browse Method''s Class' #browseMethodsClass) |
8799 | 2110 |
). |
2111 |
]. |
|
2112 |
(selectionIndex notNil |
|
2113 |
and:[(self fieldList at:selectionIndex ifAbsent:nil) = '-dependents']) ifTrue:[ |
|
2114 |
items := items , #( |
|
2115 |
('Browse Update Methods' #browseUpdateMethods) |
|
2116 |
). |
|
2117 |
]. |
|
2118 |
||
2119 |
^ items |
|
10436 | 2120 |
|
2121 |
"Modified: / 03-08-2011 / 15:03:36 / cg" |
|
17823 | 2122 |
"Modified: / 30-11-2017 / 11:05:57 / stefan" |
8799 | 2123 |
! |
2124 |
||
16814 | 2125 |
optionalOperationMenuItemsFor:anObject |
2126 |
"chance to add instance-specific operation menu items. |
|
2127 |
See SerialPort as an example" |
|
2128 |
||
2129 |
^ anObject inspectorExtraMenuOperations |
|
2130 |
||
2131 |
" |
|
2132 |
SerialPort new inspect |
|
2133 |
" |
|
2134 |
! |
|
2135 |
||
7639 | 2136 |
optionalStreamSelectionItems |
2137 |
|sel| |
|
2138 |
||
2139 |
sel := self selection. |
|
2140 |
||
8090 | 2141 |
sel isStream ifTrue:[ |
2142 |
sel isFileStream ifTrue:[ |
|
9737 | 2143 |
OperatingSystem isMSWINDOWSlike ifTrue:[ |
2144 |
^ #( |
|
2145 |
('Show in Explorer' #showInWindowsExplorer) |
|
2146 |
('Open FileBrowser' #openFileBrowser) |
|
2147 |
). |
|
2148 |
]. |
|
8090 | 2149 |
^ #( |
2150 |
('Open FileBrowser' #openFileBrowser) |
|
2151 |
). |
|
2152 |
]. |
|
9384 | 2153 |
sel isExternalStream ifFalse:[ |
8090 | 2154 |
^ #( |
7639 | 2155 |
('Show Stream Contents' #showStreamContents) |
2156 |
). |
|
8090 | 2157 |
]. |
7639 | 2158 |
]. |
2159 |
^ #() |
|
2160 |
||
2161 |
"Created: / 09-02-2007 / 16:09:15 / cg" |
|
9737 | 2162 |
"Modified: / 05-02-2011 / 15:49:55 / cg" |
8799 | 2163 |
! |
2164 |
||
9703 | 2165 |
optionalToolItems |
2166 |
"inserted after inspect/browse" |
|
2167 |
||
2168 |
^ #() |
|
2169 |
||
2170 |
"Created: / 27-01-2011 / 11:51:12 / cg" |
|
2171 |
! |
|
2172 |
||
8799 | 2173 |
optionalViewSelectionItems |
2174 |
|sel| |
|
2175 |
||
2176 |
sel := self selection. |
|
2177 |
||
2178 |
sel isView ifTrue:[ |
|
2179 |
^ #( |
|
2180 |
('Show Widget Hierarchy' #openWidgetHierarchy) |
|
2181 |
). |
|
2182 |
]. |
|
2183 |
^ #() |
|
11629 | 2184 |
! |
2185 |
||
12597 | 2186 |
protocolMenu |
2187 |
"return the menu for the inspected object's implemented messages" |
|
2188 |
||
2189 |
|protocols protocolsSorted selectorsByFirstCharacter protocolMenu| |
|
2190 |
||
2191 |
protocols := Dictionary new. |
|
2192 |
selectorsByFirstCharacter := Dictionary new. |
|
2193 |
object class withAllSuperclassesDo:[:eachClass | |
|
2194 |
eachClass methodDictionary keysAndValuesDo:[:sel :m | |
|
15677 | 2195 |
sel argumentCount == 0 ifTrue:[ |
13870 | 2196 |
(protocols at:(m category ?'') ifAbsentPut:[Set new]) add:sel. |
12597 | 2197 |
(selectorsByFirstCharacter at:(sel first asString) ifAbsentPut:[Set new]) add:sel. |
2198 |
] |
|
2199 |
]. |
|
2200 |
]. |
|
2201 |
||
12886 | 2202 |
protocolsSorted := protocols keysSorted. |
12597 | 2203 |
protocolMenu := PopUpMenu |
2204 |
labels:#('alphabetical' '=') , protocolsSorted |
|
2205 |
selectors:#(nil nil) , protocolsSorted. |
|
2206 |
||
2207 |
protocolMenu |
|
2208 |
subMenuAt:'alphabetical' |
|
2209 |
put:[ |
|
2210 |
|firstChars alphaMenu| |
|
2211 |
||
12886 | 2212 |
firstChars := selectorsByFirstCharacter keysSorted. |
12597 | 2213 |
alphaMenu := PopUpMenu |
2214 |
labels:firstChars |
|
2215 |
selector:#mmm |
|
2216 |
args:firstChars |
|
2217 |
receiver:self. |
|
2218 |
firstChars do:[:ch | |
|
2219 |
alphaMenu |
|
2220 |
subMenuAt:ch |
|
2221 |
put:[ |
|
2222 |
|selectors sortedSelectors| |
|
2223 |
||
2224 |
selectors := selectorsByFirstCharacter at:ch. |
|
2225 |
sortedSelectors := selectors asArray sort. |
|
2226 |
PopUpMenu |
|
2227 |
labels:sortedSelectors |
|
2228 |
selector:#letSelectedObjectPerform: |
|
2229 |
args:sortedSelectors |
|
2230 |
receiver:self. |
|
2231 |
] |
|
2232 |
]. |
|
2233 |
alphaMenu |
|
2234 |
]. |
|
2235 |
||
2236 |
protocolsSorted do:[:p | |
|
2237 |
protocolMenu |
|
2238 |
subMenuAt:p |
|
2239 |
put:[ |
|
2240 |
|selectors sortedSelectors| |
|
2241 |
||
2242 |
selectors := protocols at:p. |
|
2243 |
sortedSelectors := selectors asArray sort. |
|
2244 |
PopUpMenu |
|
2245 |
labels:sortedSelectors |
|
2246 |
selector:#letSelectedObjectPerform: |
|
2247 |
args:sortedSelectors |
|
2248 |
receiver:self. |
|
2249 |
] |
|
2250 |
]. |
|
15677 | 2251 |
^ protocolMenu |
13870 | 2252 |
|
2253 |
"Modified: / 15-10-2013 / 12:38:49 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
12597 | 2254 |
! |
2255 |
||
11629 | 2256 |
sortOrderItems |
11634 | 2257 |
object class instSize == 0 ifTrue:[ ^ #() ]. |
11629 | 2258 |
^ { |
2259 |
#('-') . |
|
16546 | 2260 |
(sortOrder == SortOrderInstvarOrder) |
11629 | 2261 |
ifFalse:[ #('Instvar Order' #setSortOrderToInstvarOrder ) ] . |
16546 | 2262 |
(sortOrder == SortOrderAlphabetical) |
11629 | 2263 |
ifFalse:[ #('Alphabetical' #setSortOrderToAlphabetical ) ] . |
2264 |
} select:[:el | el notNil]. |
|
2265 |
||
2266 |
"Created: / 20-07-2012 / 10:47:53 / cg" |
|
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2267 |
! ! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2268 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2269 |
!InspectorView methodsFor:'menu actions'! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2270 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2271 |
browse |
12528 | 2272 |
self doBrowse:self selectedField |
527 | 2273 |
! |
2274 |
||
2275 |
browseClass |
|
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2276 |
|cls| |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2277 |
|
11702 | 2278 |
cls := self selectedField class. |
10436 | 2279 |
cls browserClass |
2280 |
openInClass:cls selector:nil |
|
2281 |
"/ browseClass:cls |
|
2282 |
||
11702 | 2283 |
"Modified: / 27-07-2012 / 22:42:39 / cg" |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2284 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2285 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2286 |
browseClassHierarchy |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2287 |
|cls| |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2288 |
|
11702 | 2289 |
cls := self selectedField class. |
527 | 2290 |
cls browserClass browseClassHierarchy:cls |
2291 |
||
11702 | 2292 |
"Modified: / 27-07-2012 / 22:42:47 / cg" |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2293 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2294 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2295 |
browseFullClassProtocol |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2296 |
|cls| |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2297 |
|
11702 | 2298 |
cls := self selectedField class. |
527 | 2299 |
cls browserClass browseFullClassProtocol:cls |
2300 |
||
11702 | 2301 |
"Modified: / 27-07-2012 / 22:42:50 / cg" |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2302 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2303 |
|
2579 | 2304 |
browseHome |
2305 |
|sel mthd| |
|
2306 |
||
11702 | 2307 |
sel := self selectedField. |
2579 | 2308 |
sel isBlock ifTrue:[ |
2309 |
mthd := sel homeMethod |
|
2310 |
] ifFalse:[ |
|
2311 |
sel isContext ifTrue:[ |
|
2312 |
mthd := sel method. |
|
2313 |
] |
|
2314 |
]. |
|
2315 |
mthd isNil ifTrue:[ |
|
2316 |
^ self warn:'Sorry - cannot figure out home method.' |
|
2317 |
]. |
|
2318 |
mthd class browserClass |
|
2319 |
openInClass:mthd mclass selector:mthd selector |
|
11702 | 2320 |
|
2321 |
"Modified: / 27-07-2012 / 22:42:55 / cg" |
|
2579 | 2322 |
! |
2323 |
||
12934 | 2324 |
browseImplementorsOfSymbolValue |
2325 |
|symbol| |
|
2326 |
||
2327 |
symbol := self selection. |
|
2328 |
inspectedObject class browserClass |
|
2329 |
browseImplementorsOf:symbol |
|
2330 |
! |
|
2331 |
||
4197 | 2332 |
browseMethodsClass |
15254 | 2333 |
|mthd mclass| |
4197 | 2334 |
|
2335 |
mthd := self selection. |
|
15254 | 2336 |
(mclass := mthd mclass) isNil ifTrue:[ |
2337 |
Dialog information:'Method is no longer valid (class has been changed in the meanwhile)' |
|
2338 |
] ifFalse:[ |
|
2339 |
mclass browserClass |
|
2340 |
openInClass:mclass |
|
2341 |
selector:mthd selector |
|
2342 |
]. |
|
4197 | 2343 |
! |
2344 |
||
16832 | 2345 |
browseReferencesToInstvar |
2346 |
SystemBrowser default |
|
2347 |
browseRefsTo:(self selectedKeyName) |
|
2348 |
classVars:false |
|
2349 |
in:(inspectedObject class withAllSuperclasses) |
|
2350 |
modificationsOnly:false |
|
2351 |
! |
|
2352 |
||
7975 | 2353 |
browseUpdateMethods |
2354 |
|deps methods| |
|
2355 |
||
2356 |
deps := self selection. |
|
2357 |
methods := Set new. |
|
2358 |
deps do:[:each | |
|
2359 |
|implClass| |
|
2360 |
||
8962 | 2361 |
implClass := each class whichClassIncludesSelector:#'update:with:from:'. |
7975 | 2362 |
implClass notNil ifTrue:[ |
2363 |
methods add:(implClass compiledMethodAt:#'update:with:from:') |
|
2364 |
] |
|
2365 |
]. |
|
2366 |
methods isEmpty ifTrue:[^ self]. |
|
2367 |
||
2368 |
methods first mclass browserClass |
|
2369 |
browseMethods:methods |
|
2370 |
title:'Update Method(s) of dependent(s)' |
|
2371 |
! |
|
2372 |
||
12528 | 2373 |
browseValue |
2374 |
self doBrowse:self selectedField value |
|
2375 |
! |
|
2376 |
||
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2377 |
doBack |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2378 |
"user selected back-menu entry" |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2379 |
|
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2380 |
|objectToInspect| |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2381 |
|
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2382 |
inspectHistory size > 0 ifTrue:[ |
8908 | 2383 |
objectToInspect := inspectHistory removeLast. |
2384 |
inspectHistory size == 0 ifTrue:[ |
|
2385 |
inspectHistory := nil |
|
2386 |
]. |
|
2387 |
self inspect:objectToInspect. |
|
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2388 |
] |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2389 |
|
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2390 |
"Created: / 22.9.1998 / 18:22:01 / cg" |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2391 |
"Modified: / 22.9.1998 / 18:22:28 / cg" |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2392 |
! |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2393 |
|
1930 | 2394 |
doBasicInspect |
2395 |
"user selected inspect-menu entry" |
|
2396 |
||
12528 | 2397 |
self doInspect:self selectedField basic:true |
2398 |
! |
|
2399 |
||
2400 |
doBrowse:what |
|
2401 |
|cls| |
|
2402 |
||
2403 |
cls := what class. |
|
15938 | 2404 |
cls browserClass openInClass:cls selector:nil |
12528 | 2405 |
|
2406 |
"Created: / 14-12-1995 / 19:15:50 / cg" |
|
2407 |
"Modified: / 27-07-2012 / 22:42:44 / cg" |
|
1930 | 2408 |
! |
2409 |
||
12467 | 2410 |
doCatchChanges |
2411 |
|sel| |
|
2412 |
||
2413 |
holderChangeInterest isNil ifTrue:[ |
|
2414 |
"/ remember the interest, in order to be able to retract later |
|
2415 |
holderChangeInterest := [ self holderChanged:sel ] |
|
2416 |
]. |
|
2417 |
||
2418 |
sel := self selection. |
|
2419 |
sel onChangeSend:#value to:holderChangeInterest. |
|
2420 |
! |
|
2421 |
||
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2422 |
doFollow |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2423 |
"user selected follow-menu entry" |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2424 |
|
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2425 |
|objectToInspect| |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2426 |
|
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2427 |
selectionIndex notNil ifTrue:[ |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2428 |
objectToInspect := self selection. |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2429 |
inspectHistory isNil ifTrue:[ |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2430 |
inspectHistory := OrderedCollection new |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2431 |
]. |
9367 | 2432 |
inspectHistory addLast:object. |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2433 |
self inspect:objectToInspect. |
1895
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2434 |
] |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2435 |
|
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2436 |
"Created: / 22.9.1998 / 18:21:08 / cg" |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2437 |
"Modified: / 22.9.1998 / 18:22:23 / cg" |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2438 |
! |
8b51d61d9c0a
added follow & back menu items.
Claus Gittinger <cg@exept.de>
parents:
1873
diff
changeset
|
2439 |
|
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2440 |
doInspect |
12528 | 2441 |
"user selected inspect menu entry" |
2442 |
||
2443 |
self doInspect:self selectedField basic:false |
|
2444 |
! |
|
2445 |
||
2446 |
doInspectValue |
|
2447 |
"user selected inspect-value menu entry" |
|
2448 |
||
2449 |
self doInspect:self selectedField value basic:false |
|
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2450 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2451 |
|
1365 | 2452 |
doNewInspect |
2453 |
self doInspect:#new |
|
2454 |
! |
|
2455 |
||
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2456 |
doStartMonitor |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2457 |
"start a monitoring process" |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2458 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2459 |
monitorProcess isNil ifTrue:[ |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2460 |
monitorProcess := |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2461 |
[ |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2462 |
|sel| |
295
92bcaa9996ae
minor changes for ContextInspector required
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
2463 |
|
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2464 |
[true] whileTrue:[ |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2465 |
(sel := selectionIndex) notNil ifTrue:[ |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2466 |
self showSelection:sel |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2467 |
]. |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2468 |
(Delay forSeconds:0.5) wait |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2469 |
] |
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
2470 |
] forkAt:Processor userBackgroundPriority |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2471 |
] |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2472 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2473 |
"Modified: 12.4.1996 / 14:20:06 / cg" |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2474 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2475 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2476 |
doStopMonitor |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2477 |
"stop the monitor" |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2478 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2479 |
monitorProcess terminate. |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2480 |
monitorProcess := nil |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2481 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2482 |
|
2800 | 2483 |
doTraceAll |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2484 |
"place a trace on all messages sent to the inspected object" |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2485 |
|
9367 | 2486 |
self topView withWaitCursorDo:[MessageTracer traceAll:object on:Transcript] |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2487 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2488 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2489 |
doTrap |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2490 |
"place a trap on a message sent to the inspected object" |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2491 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2492 |
|string selector| |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2493 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2494 |
string := Dialog request:'Selector to trap on:' onCancel:nil. |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2495 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2496 |
string notNil ifTrue:[ |
8908 | 2497 |
selector := string asSymbolIfInterned. |
901 | 2498 |
|
8908 | 2499 |
selector isNil ifTrue:[ |
11893 | 2500 |
self warn:'No such selector' |
8908 | 2501 |
] ifFalse:[ |
9367 | 2502 |
self topView withWaitCursorDo:[MessageTracer trap:object |
8908 | 2503 |
selector:selector] |
2504 |
] |
|
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2505 |
] |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2506 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2507 |
"Modified: 12.4.1996 / 14:07:01 / cg" |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2508 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2509 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2510 |
doTrapAll |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2511 |
"place a trap on all messages sent to the inspected object" |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2512 |
|
9367 | 2513 |
self topView withWaitCursorDo:[MessageTracer trapAll:object] |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2514 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2515 |
|
2850 | 2516 |
doTrapAnyInstVarChange |
2517 |
"place a trap which is triggered if any instVar of the inspected object is changed" |
|
2518 |
||
2519 |
self topView withWaitCursorDo:[ |
|
9367 | 2520 |
MessageTracer trapModificationsIn:object |
2850 | 2521 |
] |
2522 |
! |
|
2523 |
||
2524 |
doTrapInstVarChange |
|
2525 |
"place a trap which is triggered if the selected instVar of the inspected object is changed" |
|
2526 |
||
2527 |
self topView withWaitCursorDo:[ |
|
2528 |
|idx| |
|
2529 |
||
2530 |
"/ a named instVar ? |
|
2531 |
idx := self instVarIndexForLine:selectionIndex. |
|
2532 |
idx isNil ifTrue:[ |
|
11893 | 2533 |
self warn:'Select an instance variable first.'. |
2850 | 2534 |
^ self. |
2535 |
]. |
|
2536 |
MessageTracer |
|
9367 | 2537 |
trapModificationsOf:(object class allInstVarNames at:idx) |
2538 |
in:object |
|
2850 | 2539 |
] |
2540 |
! |
|
2541 |
||
13185 | 2542 |
doTrapUpdates |
2543 |
"place a trap on all update and XXXChanged messages sent to the inspected object" |
|
2544 |
||
2545 |
|selectors| |
|
2546 |
||
2547 |
selectors := IdentitySet new. |
|
2548 |
||
2549 |
"/ find all dependencies which lead to a message to this object |
|
2550 |
"/ (also look for onChangeSend: and onChangeEvaluate: dependencies) |
|
2551 |
InterestConverter allInstances do:[:i | |
|
2552 |
|dest mthd messages| |
|
2553 |
||
2554 |
dest := i destination. |
|
2555 |
(dest == object) ifTrue:[ |
|
2556 |
selectors add:(i selector) |
|
2557 |
] ifFalse:[ |
|
2558 |
(dest isBlock |
|
2559 |
and:[ (dest methodHome receiver == object) |
|
2560 |
and:[ (mthd := dest methodHome method) notNil ]]) ifTrue:[ |
|
2561 |
"/ vague |
|
2562 |
messages := mthd messagesSent. |
|
2563 |
messages := messages select:[:sel | object class implements:sel]. |
|
2564 |
selectors addAll:messages. |
|
2565 |
]. |
|
2566 |
] |
|
2567 |
]. |
|
2568 |
#(update: |
|
2569 |
update:with: |
|
2570 |
update:with:from:) |
|
2571 |
do:[:each | |
|
2572 |
(object class implements:each) ifTrue:[ |
|
2573 |
selectors add:each. |
|
2574 |
] |
|
2575 |
]. |
|
2576 |
||
2577 |
InterestConverter allInstances |
|
14938 | 2578 |
select:[:i | |dest| |
2579 |
dest := i destination. |
|
2580 |
dest class == MessageSend |
|
2581 |
and:[dest selector == #value |
|
2582 |
and:[dest receiver == object ]]] |
|
13185 | 2583 |
thenDo:[:i | selectors add:(i selector)]. |
2584 |
||
14938 | 2585 |
selectors isEmpty ifTrue:[ |
2586 |
Dialog information:'I found no update/interest messages to trap.'. |
|
2587 |
^ self. |
|
2588 |
]. |
|
2589 |
||
13185 | 2590 |
(Dialog |
2591 |
confirm:('About to place an instance trap on the following selectors:\\' withCRs |
|
2592 |
, (selectors asOrderedCollection sort asStringWith:'\' withCRs))) |
|
2593 |
ifFalse:[ ^ self]. |
|
2594 |
||
14938 | 2595 |
self topView withWaitCursorDo:[ |
2596 |
MessageTracer trap:object selectors:selectors |
|
2597 |
] |
|
13185 | 2598 |
|
2599 |
"Created: / 16-07-2013 / 19:56:08 / cg" |
|
2600 |
! |
|
2601 |
||
12467 | 2602 |
doUncatchChanges |
2603 |
|sel| |
|
2604 |
||
2605 |
holderChangeInterest notNil ifTrue:[ |
|
2606 |
sel := self selection. |
|
2607 |
sel retractInterestsFor:holderChangeInterest |
|
2608 |
]. |
|
2609 |
! |
|
2610 |
||
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2611 |
doUntrace |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2612 |
"remove traps/traces" |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2613 |
|
9367 | 2614 |
MessageTracer untrace:object |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2615 |
! |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2616 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2617 |
inspectOwners |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2618 |
"open an inspector on owners of the inspectedObject. |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2619 |
(this is a secret function)" |
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2620 |
|
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2621 |
self withCursor:(Cursor questionMark) do:[ |
8908 | 2622 |
|owners dict| |
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2623 |
|
9367 | 2624 |
owners := (ObjectMemory whoReferences:object) asOrderedCollection. |
8908 | 2625 |
owners size > 500 ifTrue:[ |
2626 |
(self confirm:'there are ' , owners size printString , ' owners.\\Do you really want to see them all ?' withCRs) |
|
2627 |
ifFalse:[^ self] |
|
2628 |
]. |
|
2629 |
dict := IdentityDictionary new. |
|
2630 |
owners do:[:owner | |
|
2631 |
|set names oClass| |
|
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2632 |
|
8908 | 2633 |
owner ~~ self ifTrue:[ |
2634 |
set := Set new. |
|
2635 |
names := owner class allInstVarNames. |
|
2636 |
oClass := owner class. |
|
2637 |
1 to:oClass instSize do:[:i | |
|
9367 | 2638 |
(owner instVarAt:i) == object ifTrue:[ |
8908 | 2639 |
set add:(names at:i). |
2640 |
]. |
|
2641 |
]. |
|
2642 |
oClass isVariable ifTrue:[ |
|
2643 |
oClass isPointers ifTrue:[ |
|
2644 |
1 to:owner basicSize do:[:i | |
|
9367 | 2645 |
(owner basicAt:i) == object ifTrue:[ |
8908 | 2646 |
set add:i |
2647 |
] |
|
2648 |
] |
|
2649 |
] |
|
2650 |
]. |
|
2651 |
dict at:owner put:set |
|
2652 |
]. |
|
2653 |
]. |
|
2654 |
dict inspect |
|
472
7e2d83585ed7
category rename; menu order changed
Claus Gittinger <cg@exept.de>
parents:
446
diff
changeset
|
2655 |
] |
2587
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2656 |
! |
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2657 |
|
8993
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
2658 |
letSelectedObjectPerform:aSelector |
9574 | 2659 |
|sel argString| |
8993
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
2660 |
|
11702 | 2661 |
sel := self selectedField. |
15677 | 2662 |
aSelector argumentCount == 0 ifTrue:[ |
8993
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
2663 |
(sel perform:aSelector) inspect. |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
2664 |
^ self. |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
2665 |
]. |
15677 | 2666 |
aSelector argumentCount == 1 ifTrue:[ |
9574 | 2667 |
argString := Dialog request:'Argument (Smalltalk Object)'. |
2668 |
argString isEmptyOrNil ifTrue:[^ self]. |
|
2669 |
(sel perform:aSelector with:(Object readFrom:argString)) inspect. |
|
2670 |
^ self. |
|
2671 |
]. |
|
15677 | 2672 |
self halt:'unimplemented argumentCount'. |
9574 | 2673 |
|
11702 | 2674 |
"Modified: / 27-07-2012 / 22:43:37 / cg" |
8993
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
2675 |
! |
ddf4fc887179
experimental protocol menu...
Claus Gittinger <cg@exept.de>
parents:
8962
diff
changeset
|
2676 |
|
6283
7fa17d36a91c
+openFileBrowser (when inspeting a filename)
Claus Gittinger <cg@exept.de>
parents:
6130
diff
changeset
|
2677 |
openFileBrowser |
7fa17d36a91c
+openFileBrowser (when inspeting a filename)
Claus Gittinger <cg@exept.de>
parents:
6130
diff
changeset
|
2678 |
|fn| |
7fa17d36a91c
+openFileBrowser (when inspeting a filename)
Claus Gittinger <cg@exept.de>
parents:
6130
diff
changeset
|
2679 |
|
7fa17d36a91c
+openFileBrowser (when inspeting a filename)
Claus Gittinger <cg@exept.de>
parents:
6130
diff
changeset
|
2680 |
fn := self selection. |
9615 | 2681 |
fn isNil ifTrue:[ fn := inspectedObject ]. |
8155 | 2682 |
fn isStream ifTrue:[ |
2683 |
fn := fn pathName asFilename |
|
2684 |
]. |
|
17647 | 2685 |
FileBrowser default openOnFileNamed:fn asFilename. |
2686 |
||
2687 |
"Modified: / 01-09-2017 / 14:05:31 / cg" |
|
6283
7fa17d36a91c
+openFileBrowser (when inspeting a filename)
Claus Gittinger <cg@exept.de>
parents:
6130
diff
changeset
|
2688 |
! |
7fa17d36a91c
+openFileBrowser (when inspeting a filename)
Claus Gittinger <cg@exept.de>
parents:
6130
diff
changeset
|
2689 |
|
8799 | 2690 |
openWidgetHierarchy |
2691 |
|view| |
|
2692 |
||
2693 |
view := self selection. |
|
2694 |
view isView ifFalse:[^ self]. |
|
2695 |
||
2696 |
WindowTreeView openOn:view |
|
2697 |
! |
|
2698 |
||
9700 | 2699 |
saveBytesToFile |
2700 |
|fn| |
|
2701 |
||
2702 |
fn := Dialog requestFileName:'Save bytes into:'. |
|
2703 |
fn isEmptyOrNil ifTrue:[^ self]. |
|
2704 |
||
2705 |
fn asFilename contents:inspectedObject. |
|
2706 |
||
2707 |
"Modified: / 25-01-2011 / 17:23:38 / cg" |
|
2708 |
! |
|
2709 |
||
11629 | 2710 |
setDisplayRadixTo10 |
2711 |
self setDisplayRadixTo:10 |
|
2712 |
||
2713 |
"Created: / 24-08-2010 / 17:26:12 / cg" |
|
2714 |
! |
|
2715 |
||
2716 |
setDisplayRadixTo16 |
|
2717 |
self setDisplayRadixTo:16 |
|
2718 |
||
2719 |
"Created: / 24-08-2010 / 17:26:22 / cg" |
|
2720 |
! |
|
2721 |
||
2722 |
setDisplayRadixTo2 |
|
2723 |
self setDisplayRadixTo:2 |
|
2724 |
||
2725 |
"Created: / 24-08-2010 / 17:26:18 / cg" |
|
2726 |
! |
|
2727 |
||
2728 |
setDisplayRadixTo:radix |
|
2729 |
|sel| |
|
2730 |
||
2731 |
integerDisplayRadix := DefaultIntegerDisplayRadix := radix. |
|
2732 |
self reinspect. |
|
2733 |
sel := listView selection. |
|
2734 |
sel notNil ifTrue:[ |
|
2735 |
self showSelection:sel |
|
2736 |
] |
|
2737 |
||
2738 |
"Created: / 24-08-2010 / 17:26:54 / cg" |
|
2739 |
! |
|
2740 |
||
2741 |
setSortOrderTo:aSymbol |
|
16546 | 2742 |
"aSymbol must be one of #alphabetical or #instvarOrder" |
2743 |
||
16604 | 2744 |
self assert:((aSymbol == SortOrderAlphabetical) or:[ aSymbol == SortOrderInstvarOrder ]). |
16546 | 2745 |
sortOrderHolder value:aSymbol. |
11629 | 2746 |
! |
2747 |
||
2748 |
setSortOrderToAlphabetical |
|
16546 | 2749 |
self setSortOrderTo:SortOrderAlphabetical |
11629 | 2750 |
|
2751 |
"Created: / 20-07-2012 / 10:59:52 / cg" |
|
2752 |
! |
|
2753 |
||
2754 |
setSortOrderToInstvarOrder |
|
16563 | 2755 |
self setSortOrderTo:SortOrderInstvarOrder |
11629 | 2756 |
|
2757 |
"Created: / 20-07-2012 / 10:59:59 / cg" |
|
2758 |
! |
|
2759 |
||
11576 | 2760 |
showAll |
2761 |
|o| |
|
2762 |
||
2763 |
hasMore ifTrue:[ |
|
11578 | 2764 |
nShown := self numIndexedFields. |
11576 | 2765 |
"/ force update (which is otherwise ignored) |
2766 |
o := object. |
|
2767 |
inspectedObject := object := nil. |
|
16064 | 2768 |
self inspect:o keepSelection:true |
11576 | 2769 |
] |
2770 |
||
2771 |
"Created: / 13-06-2012 / 09:27:45 / cg" |
|
2772 |
! |
|
2773 |
||
15715 | 2774 |
showAlphabetical:aBoolean |
2775 |
aBoolean ifTrue:[ |
|
2776 |
self setSortOrderToAlphabetical |
|
2777 |
] ifFalse:[ |
|
2778 |
self setSortOrderToInstvarOrder |
|
2779 |
]. |
|
2780 |
! |
|
2781 |
||
17694 | 2782 |
showDependents |
2783 |
|o| |
|
2784 |
||
2785 |
o := self selection. |
|
2786 |
self withCursor:(Cursor questionMark) do:[ |
|
2787 |
|dependents dict| |
|
2788 |
||
2789 |
dependents := o dependents. |
|
2790 |
dependents isEmptyOrNil ifTrue:[ |
|
2791 |
self information:'No dependents.'. |
|
2792 |
^ self |
|
2793 |
]. |
|
2794 |
dependents := dependents asOrderedCollection. |
|
2795 |
dependents inspect. |
|
2796 |
] |
|
2797 |
||
2798 |
"Created: / 27-09-2017 / 09:35:08 / cg" |
|
2799 |
! |
|
2800 |
||
9737 | 2801 |
showInWindowsExplorer |
2802 |
"show in explorer" |
|
2803 |
||
2804 |
|fn dir| |
|
2805 |
||
2806 |
fn := self selection. |
|
2807 |
fn isNil ifTrue:[ fn := inspectedObject ]. |
|
2808 |
fn isStream ifTrue:[ |
|
2809 |
fn := fn pathName asFilename |
|
2810 |
]. |
|
2811 |
dir := fn isDirectory |
|
2812 |
ifTrue:[ fn ] |
|
2813 |
ifFalse:[ fn directory ]. |
|
2814 |
||
11641
17b6078ca84a
changed: #showInWindowsExplorer
Claus Gittinger <cg@exept.de>
parents:
11634
diff
changeset
|
2815 |
dir asFilename openExplorer |
9737 | 2816 |
|
2817 |
"Created: / 05-02-2011 / 15:49:33 / cg" |
|
2818 |
! |
|
2819 |
||
11576 | 2820 |
showMore |
2821 |
|o| |
|
2822 |
||
2823 |
hasMore ifTrue:[ |
|
2824 |
nShown := nShown * 2. |
|
2825 |
"/ force update (which is otherwise ignored) |
|
2826 |
o := object. |
|
2827 |
inspectedObject := object := nil. |
|
16064 | 2828 |
self inspect:o keepSelection:true |
11576 | 2829 |
] |
2830 |
||
2831 |
"Modified: / 26.8.1998 / 19:05:25 / cg" |
|
2832 |
! |
|
2833 |
||
7951 | 2834 |
showOwners |
17032 | 2835 |
|o| |
7951 | 2836 |
|
2837 |
o := self selection. |
|
2838 |
self withCursor:(Cursor questionMark) do:[ |
|
2839 |
|owners dict| |
|
2840 |
||
2841 |
owners := (ObjectMemory whoReferences:o). |
|
2842 |
owners isEmptyOrNil ifTrue:[ |
|
2843 |
self information:'No owners found.'. |
|
2844 |
^ self |
|
2845 |
]. |
|
2846 |
owners := owners asOrderedCollection. |
|
2847 |
" |
|
17032 | 2848 |
skip weakArrays ... (they don't count) |
7951 | 2849 |
" |
2850 |
owners := owners reject:[:owner | owner isMemberOf:WeakArray]. |
|
2851 |
owners inspect. |
|
2852 |
"/ inspector := DictionaryInspectorView openOn:dict. |
|
2853 |
"/ inspector listView doubleClickAction:[:lineNr | inspector doInspectKey]. |
|
2854 |
] |
|
2855 |
||
2856 |
"Modified: 15.10.1996 / 22:09:38 / cg" |
|
2857 |
! |
|
2858 |
||
2859 |
showReferences |
|
2860 |
"user selected references-menu entry" |
|
2861 |
||
2862 |
self selection class hasImmediateInstances ifTrue:[ |
|
2863 |
^ self warn:'Sorry - cannot show references to immediate objects' |
|
2864 |
]. |
|
2865 |
ObjectMemory displayRefChainTo:(self selection) |
|
2866 |
||
2867 |
"Modified: / 30.7.1998 / 14:03:16 / cg" |
|
2868 |
! |
|
2869 |
||
2587
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2870 |
showStreamContents |
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2871 |
|sel| |
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2872 |
|
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2873 |
sel := self selection. |
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2874 |
(sel isStream and:[sel isExternalStream not]) ifTrue:[ |
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2875 |
workspace replace:(sel contents printString) |
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2876 |
]. |
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2877 |
|
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2878 |
"Created: / 6.2.2000 / 13:46:37 / cg" |
b6838cdb1f14
added show-stream-contents menu item
Claus Gittinger <cg@exept.de>
parents:
2580
diff
changeset
|
2879 |
"Modified: / 6.2.2000 / 13:47:37 / cg" |
73 | 2880 |
! ! |
2881 |
||
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2882 |
!InspectorView methodsFor:'presentation'! |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2883 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2884 |
appendDisplayStringForElementsOf:val indent:lvl pad:padding to:aStream |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2885 |
val doWithIndex:[:el :idx | |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2886 |
|elValString| |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2887 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2888 |
aStream spaces:lvl. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2889 |
aStream nextPutAll:(' ' paddedTo:padding with:$.). |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2890 |
aStream nextPutAll:(' [',(idx printString leftPaddedTo:2),']'). |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2891 |
aStream nextPutAll:' : '. |
16804 | 2892 |
elValString := self basicDisplayStringForValue:el. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2893 |
aStream nextPutAll:elValString. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2894 |
aStream cr. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2895 |
"/ s nextPutAll:(self stringWithAllInstVarValuesFor:el level:lvl+4) |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2896 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2897 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2898 |
"Created: / 12-02-2012 / 09:55:53 / cg" |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2899 |
! |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2900 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2901 |
basicDisplayStringForValue:someValue |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2902 |
"return the value's displayString to be pasted into the workspace." |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2903 |
|
12496 | 2904 |
|s maxStringLength| |
2905 |
||
17705 | 2906 |
thisContext isRecursive ifTrue:[ |
17706 | 2907 |
"/ catch this, to avoid endless recurion if there is an error |
2908 |
"/ in printString generation |
|
17705 | 2909 |
^ '**error**' |
2910 |
]. |
|
2911 |
||
12496 | 2912 |
maxStringLength := 100000. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2913 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2914 |
Error handle:[:ex | |
12688
f497f6254988
use #creator instead of #signal
Claus Gittinger <cg@exept.de>
parents:
12643
diff
changeset
|
2915 |
(ex creator == WriteError and:[s isStream]) ifTrue:[ |
12496 | 2916 |
"hit the write limit" |
12103 | 2917 |
s writeLimit:nil. |
2918 |
s nextPutAll:' ...'. |
|
2919 |
^ s contents. |
|
2920 |
]. |
|
17131 | 2921 |
s := someValue class nameWithArticle. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2922 |
displayStringMessage == #displayString ifTrue:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2923 |
s := s , ' "error in displayString: ' , ex description , '"' |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2924 |
] ifFalse:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2925 |
s := s , ' "error in displayString (' , displayStringMessage , '): ' , ex description , '"' |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2926 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2927 |
^ s |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2928 |
] do:[ |
12090 | 2929 |
[ |
17814 | 2930 |
someValue isProtoObject ifTrue:[ |
2931 |
"Lazy values redefine #displayOn: to stay lazy" |
|
2932 |
displayStringMessage := #displayString |
|
2933 |
] ifFalse:[ |
|
2934 |
integerDisplayRadix ~= 10 ifTrue:[ |
|
2935 |
"/ not everything can be shown in HEX/Binary |
|
2936 |
||
2937 |
(someValue isProtoObject not and:[someValue isInteger]) ifTrue:[ |
|
2938 |
(someValue < integerDisplayRadix) ifTrue:[ |
|
2939 |
^ someValue printString. |
|
2940 |
]. |
|
2941 |
s := someValue radixPrintStringRadix:integerDisplayRadix. |
|
2942 |
s := s , ' "', (someValue printString), '"'. |
|
2943 |
^ s |
|
12090 | 2944 |
]. |
17814 | 2945 |
(someValue isMemberOf:ByteArray) ifTrue:[ |
2946 |
s := WriteStream on:(String new:10). |
|
2947 |
s writeLimit:maxStringLength. |
|
2948 |
someValue printOn:s base:integerDisplayRadix showRadix:true. |
|
2949 |
^ s contents |
|
2950 |
] |
|
11629 | 2951 |
]. |
17814 | 2952 |
|
2953 |
"/ displayStringMessage := #classNameWithArticle |
|
2954 |
"/ displayStringMessage := #displayString |
|
2955 |
"/ displayStringMessage := #printString |
|
12090 | 2956 |
]. |
2957 |
||
2958 |
s := CharacterWriteStream on:(String new:10). |
|
12496 | 2959 |
s writeLimit:maxStringLength. |
12090 | 2960 |
|
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2961 |
"/ mhmh - avoid sending #perform: (bad for proxy objects which pass it to somewhere..) |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2962 |
displayStringMessage == #displayString ifTrue:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2963 |
someValue displayOn:s. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2964 |
"/ s := someValue displayString. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2965 |
] ifFalse:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2966 |
displayStringMessage == #printString ifTrue:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2967 |
someValue printOn:s. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2968 |
"/ s := someValue printString. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2969 |
] ifFalse:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2970 |
displayStringMessage == #storeString ifTrue:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2971 |
someValue storeOn:s. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2972 |
"/ s := someValue storeString. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2973 |
] ifFalse:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2974 |
^ someValue perform:displayStringMessage. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2975 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2976 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2977 |
]. |
12090 | 2978 |
^ s contents |
2979 |
] valueWithWatchDog:[^ someValue class nameWithArticle] |
|
2980 |
afterMilliseconds:1000 |
|
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2981 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2982 |
|
17706 | 2983 |
"Modified (format): / 10-10-2017 / 13:58:00 / cg" |
17814 | 2984 |
"Modified: / 28-11-2017 / 20:05:01 / stefan" |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2985 |
! |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2986 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2987 |
displayStringForValue:someValue |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2988 |
"return the value's displayString to be pasted into the workspace." |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2989 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2990 |
|idx sel extraAttributes| |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2991 |
|
17872 | 2992 |
someValue == NoLongerPresentDummyObject ifTrue:[ |
2993 |
"/ this is returned by collection-inspectors, |
|
2994 |
"/ when a field-index for a no-longer-present-index is selected |
|
2995 |
"/ (eg. if an OrderedCollection growed to a smaller size in the meantime) |
|
17938 | 2996 |
^ 'Ğelement no longer presentğ' withColor:Color grey. |
17872 | 2997 |
]. |
2998 |
||
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
2999 |
idx := self theSingleSelectionIndex. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3000 |
idx notNil ifTrue:[ |
11511 | 3001 |
sel := self listEntryAt:idx. |
14654 | 3002 |
sel isNil ifTrue:[^ someValue]. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3003 |
|
17130 | 3004 |
extraAttributes := self myObjectsInspectorExtraAttributes. |
3005 |
(extraAttributes includesKey:sel) ifTrue:[ |
|
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3006 |
^ someValue "(extraAttributes at:sel) value" printString |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3007 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3008 |
|
17872 | 3009 |
(sel startsWith:$-) ifTrue:[ |
3010 |
(sel startsWith:'-all inst vars') ifTrue:[ |
|
3011 |
^ self stringWithAllInstVarValues |
|
3012 |
]. |
|
3013 |
(sel startsWith:'-all class vars') ifTrue:[ |
|
3014 |
^ self stringWithAllClassVarValues |
|
3015 |
]. |
|
3016 |
(sel startsWith:'-all indexed vars') ifTrue:[ |
|
3017 |
^ self stringWithAllIndexedVarValues |
|
3018 |
]. |
|
3019 |
(sel startsWith:'-all messages') ifTrue:[ |
|
3020 |
^ self stringWithMessages:#all |
|
3021 |
]. |
|
3022 |
(sel startsWith:'-local messages') ifTrue:[ |
|
3023 |
^ self stringWithMessages:#local |
|
3024 |
]. |
|
3025 |
(sel startsWith:'-inherited messages') ifTrue:[ |
|
3026 |
^ self stringWithMessages:#inherited |
|
3027 |
]. |
|
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3028 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3029 |
]. |
17427 | 3030 |
someValue == nil ifTrue:[^ 'nil']. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3031 |
^ self basicDisplayStringForValue:someValue |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3032 |
|
17427 | 3033 |
"Modified: / 22-02-2017 / 17:35:52 / cg" |
11511 | 3034 |
! |
3035 |
||
15610 | 3036 |
iconForValue:arg |
3037 |
^ self class iconForValue:arg |
|
11511 | 3038 |
! |
3039 |
||
3040 |
listEntryForName:nameString value:value |
|
17872 | 3041 |
"generates the fieldListEntry (icon + valueString)" |
3042 |
||
11579
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3043 |
|entryString| |
11517 | 3044 |
|
3045 |
UserPreferences current showTypeIndicatorInInspector ifFalse:[ |
|
3046 |
^ nameString |
|
3047 |
]. |
|
11511 | 3048 |
|
11749
213908da088d
changed: #listEntryForName:value:
Claus Gittinger <cg@exept.de>
parents:
11748
diff
changeset
|
3049 |
Error handle:[:ex | |
213908da088d
changed: #listEntryForName:value:
Claus Gittinger <cg@exept.de>
parents:
11748
diff
changeset
|
3050 |
^ nameString |
213908da088d
changed: #listEntryForName:value:
Claus Gittinger <cg@exept.de>
parents:
11748
diff
changeset
|
3051 |
] do:[ |
16758 | 3052 |
entryString := nameString allBold, (self valueStringInListEntryForValue:value). |
17123 | 3053 |
(value isProtoObject not and:[value isColor and:[value red notNil]]) ifTrue:[ |
11749
213908da088d
changed: #listEntryForName:value:
Claus Gittinger <cg@exept.de>
parents:
11748
diff
changeset
|
3054 |
entryString := entryString |
213908da088d
changed: #listEntryForName:value:
Claus Gittinger <cg@exept.de>
parents:
11748
diff
changeset
|
3055 |
, ' ' , (' ' |
12076 | 3056 |
colorizeAllWith:(value contrastingBlackOrWhite) |
11749
213908da088d
changed: #listEntryForName:value:
Claus Gittinger <cg@exept.de>
parents:
11748
diff
changeset
|
3057 |
on:value). |
213908da088d
changed: #listEntryForName:value:
Claus Gittinger <cg@exept.de>
parents:
11748
diff
changeset
|
3058 |
]. |
213908da088d
changed: #listEntryForName:value:
Claus Gittinger <cg@exept.de>
parents:
11748
diff
changeset
|
3059 |
|
213908da088d
changed: #listEntryForName:value:
Claus Gittinger <cg@exept.de>
parents:
11748
diff
changeset
|
3060 |
^ LabelAndIcon string:entryString image:(self iconForValue:value) |
11547
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
3061 |
]. |
ebc7b2190f54
comment/format in: #reinspect
Claus Gittinger <cg@exept.de>
parents:
11521
diff
changeset
|
3062 |
|
11511 | 3063 |
"Created: / 16-05-2012 / 18:42:28 / cg" |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3064 |
! |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3065 |
|
11580
0bcaed8e460b
added: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11579
diff
changeset
|
3066 |
plainValueStringInListEntryForValue:value |
13990 | 3067 |
"returns nil or a string to show in angle brackets. |
3068 |
This is the string shown in the name list on the left" |
|
11580
0bcaed8e460b
added: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11579
diff
changeset
|
3069 |
|
11587
916e12f6b843
changed: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11580
diff
changeset
|
3070 |
|s| |
916e12f6b843
changed: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11580
diff
changeset
|
3071 |
|
15667 | 3072 |
"/ UserPreferences current showTypeIndicatorInInspector ifFalse:[^ nil]. |
11580
0bcaed8e460b
added: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11579
diff
changeset
|
3073 |
|
16758 | 3074 |
value isLazyValue ifTrue:[ |
3075 |
"do not block on not yet finished Futures et al" |
|
3076 |
^ '>>Lazy value<<' |
|
3077 |
]. |
|
11587
916e12f6b843
changed: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11580
diff
changeset
|
3078 |
value class == ValueHolder ifTrue:[ |
15667 | 3079 |
"/ just in case... |
3080 |
thisContext isRecursive ifTrue:[^ value inspectorValueStringInListFor:self]. |
|
3081 |
||
11587
916e12f6b843
changed: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11580
diff
changeset
|
3082 |
s := self plainValueStringInListEntryForValue:value value. |
916e12f6b843
changed: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11580
diff
changeset
|
3083 |
s notNil ifTrue:[ |
12784 | 3084 |
^ '{' , s , '}' |
11587
916e12f6b843
changed: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11580
diff
changeset
|
3085 |
]. |
916e12f6b843
changed: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11580
diff
changeset
|
3086 |
^ nil |
916e12f6b843
changed: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11580
diff
changeset
|
3087 |
]. |
17123 | 3088 |
(value isProtoObject or:[value isNumber or:[value isBoolean]]) ifTrue:[ |
11629 | 3089 |
^ self basicDisplayStringForValue:value "value printString" |
11580
0bcaed8e460b
added: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11579
diff
changeset
|
3090 |
]. |
11810
320b379eaedb
changed: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11808
diff
changeset
|
3091 |
^ value inspectorValueStringInListFor:self |
11580
0bcaed8e460b
added: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11579
diff
changeset
|
3092 |
|
0bcaed8e460b
added: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11579
diff
changeset
|
3093 |
"Created: / 13-06-2012 / 12:50:26 / cg" |
0bcaed8e460b
added: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11579
diff
changeset
|
3094 |
! |
0bcaed8e460b
added: #plainValueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11579
diff
changeset
|
3095 |
|
15895 | 3096 |
stringWithAllClassVarValues |
3097 |
^ self stringWithAllClassVarValuesFor:object level:0 |
|
3098 |
! |
|
3099 |
||
3100 |
stringWithAllClassVarValuesFor:anObject level:lvl |
|
3101 |
|s names maxLen| |
|
3102 |
||
3103 |
s := CharacterWriteStream on:''. |
|
3104 |
names := anObject allClassVarNames. |
|
16546 | 3105 |
true "sortOrder == SortOrderAlphabetical" ifTrue:[ |
15895 | 3106 |
names := names copy sort |
3107 |
]. |
|
3108 |
maxLen := (names collect:[:eachName | eachName size]) max. |
|
3109 |
names do:[:eachClassVarName | |
|
3110 |
|val valString| |
|
3111 |
||
3112 |
IsDebuggingQuery answer:true do:[ |
|
3113 |
val := (anObject whichClassDefinesClassVar:eachClassVarName asSymbol) classVarAt:eachClassVarName. |
|
3114 |
]. |
|
3115 |
s spaces:lvl. |
|
3116 |
s nextPutAll:((eachClassVarName , ' ') paddedTo:maxLen+1 with:$.). |
|
3117 |
s nextPutAll:' : '. |
|
3118 |
||
3119 |
((ExpandArraysInAllLists == true) and:[val isSequenceable and:[ val class isPointers] ]) ifTrue:[ |
|
3120 |
s cr. |
|
3121 |
self appendDisplayStringForElementsOf:val indent:lvl pad:maxLen+1+1 to:s. |
|
3122 |
] ifFalse:[ |
|
3123 |
valString := self basicDisplayStringForValue:val. |
|
3124 |
(valString includes:Character cr) ifTrue:[ |
|
3125 |
valString := valString copyTo:(valString indexOf:Character cr)-1. |
|
3126 |
valString := valString , '...'. |
|
3127 |
]. |
|
3128 |
s nextPutAll:valString. |
|
3129 |
s cr. |
|
3130 |
]. |
|
3131 |
]. |
|
3132 |
^ s contents |
|
3133 |
! |
|
3134 |
||
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3135 |
stringWithAllIndexedVarValues |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3136 |
|nIdx s names maxLen varString padLeft| |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3137 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3138 |
nIdx := object size. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3139 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3140 |
s := CharacterWriteStream on:''. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3141 |
names := self indexList. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3142 |
names size > 0 ifTrue:[ |
16713 | 3143 |
maxLen := names inject:0 into:[:maxSoFar :eachName | (eachName displayString size) max:maxSoFar]. |
12642 | 3144 |
padLeft := names conform:[:eachIdx | eachIdx isInteger]. |
16713 | 3145 |
|
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3146 |
names do:[:eachIdx | |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3147 |
|val| |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3148 |
|
15800 | 3149 |
self isIndexShown ifTrue:[ |
3150 |
padLeft ifTrue:[ |
|
3151 |
s nextPutAll:(eachIdx printStringLeftPaddedTo:maxLen). |
|
3152 |
] ifFalse:[ |
|
16713 | 3153 |
s nextPutAll:((eachIdx displayString , ' ') paddedTo:maxLen+1 with:$.). |
15800 | 3154 |
]. |
3155 |
s nextPutAll:' : '. |
|
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3156 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3157 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3158 |
val := self indexedValueAtKey:eachIdx. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3159 |
|
11251 | 3160 |
((ExpandArraysInAllLists == true) and:[val isSequenceable and:[ val class isPointers]]) ifTrue:[ |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3161 |
s cr. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3162 |
self appendDisplayStringForElementsOf:val indent:2 pad:maxLen+1+1 to:s. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3163 |
] ifFalse:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3164 |
varString := self basicDisplayStringForValue:val. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3165 |
(varString includes:Character cr) ifTrue:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3166 |
varString := varString copyTo:(varString indexOf:Character cr)-1. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3167 |
varString := varString , '...'. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3168 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3169 |
s nextPutLine:varString. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3170 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3171 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3172 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3173 |
nShown < nIdx ifTrue:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3174 |
s nextPutLine:' ...'. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3175 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3176 |
^ s contents |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3177 |
|
11251 | 3178 |
"Modified: / 12-02-2012 / 10:52:04 / cg" |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3179 |
! |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3180 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3181 |
stringWithAllInstVarValues |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3182 |
^ self stringWithAllInstVarValuesFor:object level:0 |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3183 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3184 |
"Modified: / 31-01-2012 / 18:23:11 / cg" |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3185 |
! |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3186 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3187 |
stringWithAllInstVarValuesFor:anObject level:lvl |
15713 | 3188 |
|s names instVarOffsets maxLen| |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3189 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3190 |
s := CharacterWriteStream on:''. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3191 |
names := anObject class allInstVarNames. |
15713 | 3192 |
instVarOffsets := 1 to:names size. |
16546 | 3193 |
sortOrder == SortOrderAlphabetical ifTrue:[ |
15713 | 3194 |
instVarOffsets := instVarOffsets asArray. |
3195 |
names := names copy sortWith:instVarOffsets |
|
15712 | 3196 |
]. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3197 |
maxLen := (names collect:[:eachName | eachName size]) max. |
15713 | 3198 |
names with:instVarOffsets do:[:eachInstVarName :eachInstVarIndex | |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3199 |
|val valString| |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3200 |
|
15657 | 3201 |
IsDebuggingQuery answer:true do:[ |
3202 |
val := anObject instVarAt:eachInstVarIndex. |
|
3203 |
]. |
|
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3204 |
s spaces:lvl. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3205 |
s nextPutAll:((eachInstVarName , ' ') paddedTo:maxLen+1 with:$.). |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3206 |
s nextPutAll:' : '. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3207 |
|
11251 | 3208 |
((ExpandArraysInAllLists == true) and:[val isSequenceable and:[ val class isPointers] ]) ifTrue:[ |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3209 |
s cr. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3210 |
self appendDisplayStringForElementsOf:val indent:lvl pad:maxLen+1+1 to:s. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3211 |
] ifFalse:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3212 |
valString := self basicDisplayStringForValue:val. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3213 |
(valString includes:Character cr) ifTrue:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3214 |
valString := valString copyTo:(valString indexOf:Character cr)-1. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3215 |
valString := valString , '...'. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3216 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3217 |
s nextPutAll:valString. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3218 |
s cr. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3219 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3220 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3221 |
^ s contents |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3222 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3223 |
"Created: / 31-01-2012 / 18:23:15 / cg" |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3224 |
! |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3225 |
|
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3226 |
stringWithMessages:which |
16640 | 3227 |
|cls s messages allSelectors| |
3228 |
||
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3229 |
cls := object class. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3230 |
which == #local ifTrue:[ |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3231 |
messages := cls selectors. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3232 |
] ifFalse:[ |
16640 | 3233 |
allSelectors := cls allSelectors. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3234 |
which == #all ifTrue:[ |
16640 | 3235 |
messages := allSelectors. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3236 |
] ifFalse:[ |
16640 | 3237 |
messages := allSelectors asNewSet removeAll:cls selectors; yourself. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3238 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3239 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3240 |
|
16640 | 3241 |
s := CharacterWriteStream on:''. |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3242 |
messages asOrderedCollection sort do:[:eachSelector | |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3243 |
s nextPutAll:eachSelector. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3244 |
s cr. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3245 |
]. |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3246 |
^ s contents |
11579
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3247 |
! |
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3248 |
|
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3249 |
valueStringInListEntryForValue:value |
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3250 |
"returns something to append to the name" |
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3251 |
|
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3252 |
|valString| |
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3253 |
|
14815 | 3254 |
Error handle:[:ex | |
3255 |
Transcript showCR:ex description. |
|
3256 |
valString := '*** error in printString **' |
|
3257 |
] do:[ |
|
3258 |
valString := (self plainValueStringInListEntryForValue:value) ? ''. |
|
3259 |
]. |
|
12753 | 3260 |
(inspectedObject notNil and:[value == inspectedObject]) ifTrue:[ |
12784 | 3261 |
^ ' (',valString,') (==self)' |
12696 | 3262 |
]. |
12784 | 3263 |
^ ' (',valString,')' |
11579
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3264 |
|
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3265 |
"Created: / 13-06-2012 / 12:04:31 / cg" |
11250
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3266 |
! ! |
a7ed642b37fa
added: #appendDisplayStringForElementsOf:indent:pad:to:
Claus Gittinger <cg@exept.de>
parents:
11247
diff
changeset
|
3267 |
|
200 | 3268 |
!InspectorView methodsFor:'private'! |
3269 |
||
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3270 |
baseInspectedObjectClass |
16816 | 3271 |
"only instvars below that are shown by me in the non-basic tab. |
3272 |
This hides uninterresting details in the regular tab" |
|
3273 |
||
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3274 |
^ Object |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3275 |
! |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3276 |
|
647 | 3277 |
defaultLabel |
13258 | 3278 |
^ 'Inst & Pseudo Slots' |
3279 |
||
3280 |
"Modified: / 30-07-2013 / 09:40:52 / cg" |
|
647 | 3281 |
! |
3282 |
||
6850 | 3283 |
derivedFieldNames |
9701 | 3284 |
|d actionItems valueItems otherItems| |
7297 | 3285 |
|
3286 |
d := self derivedFields. |
|
12820 | 3287 |
(d isDictionary) ifTrue:[ |
17184 | 3288 |
actionItems := d keys select:[:k | k first == $!!] as:OrderedCollection . |
17938 | 3289 |
valueItems := d keys select:[:k | '-¤' includes:k first] as:OrderedCollection. |
3290 |
otherItems := d keys select:[:k | ('!!-¤' includes: k first) not] as:OrderedCollection. |
|
9701 | 3291 |
^ ((actionItems sort , valueItems sort) collect:[:k | (k copyTo:1),(k copyFrom:2) allItalic]) |
3292 |
, |
|
3293 |
otherItems sort |
|
7297 | 3294 |
]. |
3295 |
^ d collect:[:eachEntry | |
|
6850 | 3296 |
|nm| |
3297 |
||
3298 |
nm := (eachEntry isAssociation) |
|
3299 |
ifTrue:[ eachEntry key ] |
|
3300 |
ifFalse:[ eachEntry first ]. |
|
8699 | 3301 |
'-',nm allItalic |
6850 | 3302 |
] |
3303 |
||
3304 |
"Created: / 03-08-2006 / 15:02:54 / cg" |
|
9701 | 3305 |
"Modified: / 27-01-2011 / 11:45:17 / cg" |
6850 | 3306 |
! |
3307 |
||
6823 | 3308 |
derivedFields |
17130 | 3309 |
^ self myObjectsInspectorExtraAttributes |
6823 | 3310 |
! |
3311 |
||
6850 | 3312 |
extraNamedFieldNames |
3313 |
^ self extraNamedFields |
|
3314 |
collect:[:eachEntry | |
|
3315 |
|nm| |
|
3316 |
||
3317 |
nm := (eachEntry isAssociation) |
|
3318 |
ifTrue:[ eachEntry key ] |
|
3319 |
ifFalse:[ eachEntry first ]. |
|
3320 |
'`',nm |
|
3321 |
] |
|
3322 |
||
3323 |
"Modified: / 03-08-2006 / 15:17:19 / cg" |
|
3324 |
! |
|
3325 |
||
3326 |
extraNamedFields |
|
6940 | 3327 |
"by redefining inspectorExtraNamedFields to return an array of |
3328 |
pseudo-fieldName->value associations, the inspectors left list can be extended" |
|
3329 |
||
7054 | 3330 |
"the check below is not sufficient - if someone catches messages, for example. |
3331 |
Therefore, we do a manual lookup here:" |
|
8962 | 3332 |
|
3333 |
(object class whichClassIncludesSelector:#inspectorExtraNamedFields) isNil ifTrue:[ |
|
7054 | 3334 |
^ #() |
3335 |
]. |
|
6850 | 3336 |
^ [object inspectorExtraNamedFields] |
3337 |
on: MessageNotUnderstood |
|
6940 | 3338 |
do: [:ex | ex return: #() ] |
6850 | 3339 |
|
3340 |
"Created: / 03-08-2006 / 13:34:18 / cg" |
|
7054 | 3341 |
"Modified: / 29-08-2006 / 13:03:57 / cg" |
6850 | 3342 |
! |
3343 |
||
3344 |
extraNamedVarIndexForLine:lineNr |
|
3345 |
"helper - return the index for a named instVar; |
|
3346 |
nil, if self or a keyed instvar is selected." |
|
3347 |
||
3348 |
|idx nNamedInstvarsShown nExtraNamedInstvarsShown cls baseCls firstRealIndex line| |
|
3349 |
||
3350 |
lineNr isNil ifTrue:[^ nil]. |
|
3351 |
firstRealIndex := 1. |
|
3352 |
||
3353 |
idx := lineNr. |
|
3354 |
self hasSelfEntry ifTrue:[ |
|
3355 |
(lineNr == 1 or:[lineNr isNil]) ifTrue:[ |
|
3356 |
^ nil "/ self selected |
|
3357 |
]. |
|
3358 |
idx := idx - 1. |
|
3359 |
firstRealIndex := 2. |
|
3360 |
]. |
|
3361 |
||
15959 | 3362 |
[ |
3363 |
line := self listEntryAt:firstRealIndex. |
|
3364 |
line notNil and:[self isSpecialPseudoNameEntry:line] |
|
3365 |
] whileTrue:[ |
|
6850 | 3366 |
firstRealIndex := firstRealIndex + 1. |
3367 |
idx := idx - 1. |
|
3368 |
]. |
|
3369 |
||
9367 | 3370 |
cls := object class. |
6850 | 3371 |
baseCls := self baseInspectedObjectClass. |
3372 |
||
3373 |
nNamedInstvarsShown := cls instSize. |
|
3374 |
"/ only the namedInstvars below baseInspectedObjectClass |
|
3375 |
"/ are shown ... |
|
3376 |
(cls == baseCls or:[cls isSubclassOf:baseCls]) ifTrue:[ |
|
3377 |
nNamedInstvarsShown := nNamedInstvarsShown - baseCls instSize. |
|
3378 |
]. |
|
3379 |
||
3380 |
idx := idx - nNamedInstvarsShown. |
|
3381 |
idx < 1 ifTrue:[ |
|
3382 |
^ nil. |
|
3383 |
]. |
|
3384 |
||
3385 |
nExtraNamedInstvarsShown := self extraNamedFields size. |
|
3386 |
idx <= nExtraNamedInstvarsShown ifTrue:[ |
|
3387 |
^ idx. |
|
3388 |
]. |
|
3389 |
||
3390 |
^ nil "/ indexed instvar or other selected |
|
3391 |
||
3392 |
"Created: / 03-08-2006 / 13:45:14 / cg" |
|
11511 | 3393 |
"Modified: / 16-05-2012 / 17:54:52 / cg" |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3394 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3395 |
|
200 | 3396 |
fieldList |
3397 |
"return a list of names to show in the selectionList. |
|
3398 |
Leave hasMore as true, if a '...' entry should be added." |
|
3399 |
||
6840 | 3400 |
|derivedFieldList namedFieldList fieldList cls indexedList extraNamedFieldList| |
200 | 3401 |
|
16758 | 3402 |
(object isNil" or:[object isLazyValue]") ifTrue:[ |
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
3403 |
^ self hasSelfEntry ifFalse:[ #() ] ifTrue:[ #('-self') ] |
3338 | 3404 |
]. |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3405 |
|
16758 | 3406 |
IsDebuggingQuery answer:true do:[ |
3407 |
cls := object class. |
|
3408 |
||
3409 |
self topView withWaitCursorDo:[ |
|
3410 |
namedFieldList := self namedFieldList. |
|
3411 |
indexedList := self indexedFieldList. |
|
3412 |
extraNamedFieldList := OrderedCollection new. |
|
3413 |
||
3414 |
self hasSelfEntry ifTrue:[ |
|
3415 |
self suppressPseudoSlots ifFalse:[ |
|
3416 |
derivedFieldList := OrderedCollection new. |
|
3417 |
derivedFieldList addAll:(self pseudoFieldNamesWithIndexed:(indexedList notEmptyOrNil)). |
|
3418 |
derivedFieldList addAll:(self derivedFieldNames). |
|
3419 |
extraNamedFieldList addAll:(self extraNamedFieldNames). |
|
3420 |
]. |
|
3608 | 3421 |
]. |
16758 | 3422 |
|
3423 |
fieldList := OrderedCollection new. |
|
3424 |
derivedFieldList notNil ifTrue:[fieldList addAll:derivedFieldList]. |
|
3425 |
namedFieldList notNil ifTrue:[fieldList addAll:namedFieldList]. |
|
3426 |
extraNamedFieldList notNil ifTrue:[fieldList addAll:extraNamedFieldList]. |
|
3427 |
indexedList notNil ifTrue:[fieldList addAll:indexedList]. |
|
3525 | 3428 |
]. |
200 | 3429 |
]. |
6823 | 3430 |
^ fieldList |
531 | 3431 |
|
7297 | 3432 |
"Modified: / 18-09-2006 / 21:16:03 / cg" |
200 | 3433 |
! |
3434 |
||
295
92bcaa9996ae
minor changes for ContextInspector required
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
3435 |
hasSelfEntry |
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
3436 |
^ hideReceiver not and:[self suppressPseudoSlots not] |
295
92bcaa9996ae
minor changes for ContextInspector required
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
3437 |
|
92bcaa9996ae
minor changes for ContextInspector required
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
3438 |
"Created: 14.12.1995 / 19:30:03 / cg" |
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
3439 |
"Modified: 28.6.1996 / 15:13:41 / cg" |
295
92bcaa9996ae
minor changes for ContextInspector required
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
3440 |
! |
92bcaa9996ae
minor changes for ContextInspector required
Claus Gittinger <cg@exept.de>
parents:
268
diff
changeset
|
3441 |
|
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3442 |
indexList |
9557
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3443 |
"return a list of indexes usable to access the object's indexed slots. |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3444 |
Set hasMore to true, if a '...' entry should be added." |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3445 |
|
11511 | 3446 |
|objSz n cls list| |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3447 |
|
9367 | 3448 |
cls := object class. |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3449 |
|
3868 | 3450 |
cls isVariable ifFalse:[^ nil ]. |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3451 |
|
11578 | 3452 |
n := objSz := self numIndexedFields. |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3453 |
(n > nShown) ifTrue:[ |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3454 |
n := nShown. |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3455 |
hasMore := true. |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3456 |
]. |
11511 | 3457 |
list := (1 to:n). |
3458 |
^ list |
|
3459 |
"/ keysAndValuesCollect:[:idx :nm | |
|
3460 |
"/ LabelAndIcon string:nm image:(self iconForValue:(object basicAt:idx)) |
|
3461 |
"/ ]. |
|
3462 |
||
11578 | 3463 |
"Modified: / 13-06-2012 / 10:14:13 / cg" |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3464 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3465 |
|
9367 | 3466 |
indexOfFirstNamedInstvarInList |
3467 |
"helper - return the index for the first named instVar; |
|
3468 |
nil, if self or a keyed instvar is selected." |
|
3469 |
||
3470 |
|firstRealIndex| |
|
3471 |
||
3472 |
firstRealIndex := 1. |
|
3473 |
self hasSelfEntry ifTrue:[ |
|
3474 |
firstRealIndex := 2. |
|
3475 |
]. |
|
3476 |
||
3477 |
[ |
|
3478 |
|line| |
|
3479 |
||
11511 | 3480 |
line := self listEntryAt:firstRealIndex. |
15959 | 3481 |
line notNil and:[self isSpecialPseudoNameEntry:line] |
9367 | 3482 |
] whileTrue:[ |
3483 |
firstRealIndex := firstRealIndex + 1. |
|
3484 |
]. |
|
3485 |
^ firstRealIndex |
|
11511 | 3486 |
|
3487 |
"Modified: / 16-05-2012 / 17:54:46 / cg" |
|
9367 | 3488 |
! |
3489 |
||
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3490 |
indexedFieldList |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3491 |
"return a list of indexed-variable names to show in the selectionList. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3492 |
Set hasMore to true, if a '...' entry should be added." |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3493 |
|
11511 | 3494 |
|l maxIndex sz list| |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3495 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3496 |
l := self indexList. |
10858 | 3497 |
l isEmptyOrNil ifTrue:[^ nil ]. |
9557
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3498 |
|
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3499 |
integerDisplayRadix ~~ 10 ifTrue:[ |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3500 |
maxIndex := l last. |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3501 |
maxIndex isInteger ifTrue:[ |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3502 |
sz := (maxIndex printStringRadix:integerDisplayRadix) size. |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3503 |
] ifFalse:[ |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3504 |
sz := 0 |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3505 |
]. |
11511 | 3506 |
list := l collect: |
3507 |
[:i | |
|
3508 |
i isInteger ifTrue:[ |
|
3509 |
(i printStringRadix:integerDisplayRadix size:sz fill:$0) |
|
3510 |
] ifFalse:[ |
|
3511 |
i printString |
|
3512 |
] |
|
9557
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3513 |
] |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3514 |
] ifFalse:[ |
11511 | 3515 |
list := l collect:[:i | i printString]. |
9557
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3516 |
]. |
14b8fe98a8ed
can now display values and indices in binary and hex.
Claus Gittinger <cg@exept.de>
parents:
9504
diff
changeset
|
3517 |
|
11511 | 3518 |
^ list |
3519 |
keysAndValuesCollect:[:idx :nm | |
|
11808 | 3520 |
|val| |
3521 |
||
3522 |
[ |
|
11823 | 3523 |
val := self indexedValueAtIndex:idx. |
11808 | 3524 |
] on:Error do:[ |
11823 | 3525 |
val := '' |
11808 | 3526 |
]. |
3527 |
self listEntryForName:nm value:val |
|
11511 | 3528 |
]. |
3529 |
||
11823 | 3530 |
"Modified: / 27-09-2012 / 21:51:58 / cg" |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3531 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3532 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3533 |
indexedValueAtIndex:idx |
9367 | 3534 |
^ object basicAt:idx |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3535 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3536 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
3537 |
indexedValueAtIndex:idx put:newValue |
9367 | 3538 |
object basicAt:idx put:newValue |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3539 |
! |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3540 |
|
3884 | 3541 |
indexedValueAtKey:key |
4314 | 3542 |
"/ kludge |
9367 | 3543 |
object isLimitedPrecisionReal ifTrue:[ |
3544 |
^ object basicAt:key |
|
4314 | 3545 |
]. |
9367 | 3546 |
^ object at:key |
3884 | 3547 |
! |
3548 |
||
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3549 |
instVarIndexForLine:lineNr |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3550 |
"helper - return the index for a named instVar; |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3551 |
nil, if self or a keyed instvar is selected." |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3552 |
|
12849 | 3553 |
|idx firstRealIndex line nm| |
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3554 |
|
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3555 |
lineNr isNil ifTrue:[^ nil]. |
3349 | 3556 |
firstRealIndex := 1. |
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3557 |
|
11629 | 3558 |
line := (self listEntryAt:lineNr) string. |
15959 | 3559 |
(self isSpecialPseudoNameEntry:line) ifTrue:[^ nil]. |
11629 | 3560 |
|
3561 |
nm := line asCollectionOfWords first. |
|
3562 |
idx := object class allInstVarNames indexOf:nm. |
|
3563 |
idx == 0 ifTrue:[^ nil]. |
|
3564 |
^ idx. |
|
3565 |
||
12849 | 3566 |
"/ [ |
3567 |
"/ line := self listEntryAt:firstRealIndex. |
|
3568 |
"/ (line startsWith:'-') and:[line size < 2 or:[line second isDigit not]] |
|
3569 |
"/ ] whileTrue:[ |
|
3570 |
"/ firstRealIndex := firstRealIndex + 1. |
|
3571 |
"/ idx := idx - 1. |
|
3572 |
"/ ]. |
|
3573 |
"/ |
|
3574 |
"/ cls := object class. |
|
3575 |
"/ baseCls := self baseInspectedObjectClass. |
|
3576 |
"/ |
|
3577 |
"/ nNamedInstvarsShown := cls instSize. |
|
3578 |
"/ "/ only the namedInstvars below baseInspectedObjectClass |
|
3579 |
"/ "/ are shown ... |
|
3580 |
"/ (cls includesBehavior:baseCls) ifTrue:[ |
|
3581 |
"/ nNamedInstvarsShown := nNamedInstvarsShown - baseCls instSize. |
|
3582 |
"/ ]. |
|
3583 |
"/ |
|
3584 |
"/ idx <= nNamedInstvarsShown ifTrue:[ |
|
3585 |
"/ ^ idx + self baseInspectedObjectClass instSize. |
|
3586 |
"/ ]. |
|
3587 |
"/ ^ nil "/ indexed instvar or other selected |
|
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3588 |
|
11629 | 3589 |
"Modified: / 20-07-2012 / 11:11:10 / cg" |
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3590 |
! |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3591 |
|
15959 | 3592 |
isSpecialPseudoNameEntry:line |
3593 |
^ (line startsWith:$-) |
|
3594 |
and:[line size < 2 or:[line second isDigit not]] |
|
3595 |
! |
|
3596 |
||
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3597 |
keyIndexForLine:lineNr |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3598 |
"helper - return the index of the key-list; |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3599 |
nil, if self or a namedInstVar is selected." |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3600 |
|
6840 | 3601 |
|idx nNamedInstvarsShown nExtraNamedInstvarsShown cls baseCls firstRealIndex line| |
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3602 |
|
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3603 |
lineNr isNil ifTrue:[^ nil]. |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3604 |
|
3349 | 3605 |
firstRealIndex := 1. |
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3606 |
idx := lineNr. |
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
3607 |
self hasSelfEntry ifTrue:[ |
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3608 |
(lineNr == 1 or:[lineNr isNil]) ifTrue:[ |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3609 |
^ nil "/ self selected |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3610 |
]. |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3611 |
idx := idx - 1. |
3349 | 3612 |
firstRealIndex := firstRealIndex + 1. |
3613 |
]. |
|
3614 |
||
15959 | 3615 |
[ |
3616 |
line := self listEntryAt:firstRealIndex. |
|
3617 |
line notNil and:[ self isSpecialPseudoNameEntry:line ] |
|
5881
ef6791c315ab
oops - out of bounds error fixed
Claus Gittinger <cg@exept.de>
parents:
5845
diff
changeset
|
3618 |
] whileTrue:[ |
3349 | 3619 |
firstRealIndex := firstRealIndex + 1. |
3620 |
idx := idx - 1. |
|
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3621 |
]. |
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3622 |
|
9367 | 3623 |
cls := object class. |
2447 | 3624 |
baseCls := self baseInspectedObjectClass. |
3625 |
||
3626 |
nNamedInstvarsShown := cls instSize. |
|
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3627 |
"/ only the namedInstvars below baseInspectedObjectClass |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3628 |
"/ are shown ... |
8962 | 3629 |
(cls includesBehavior:baseCls) ifTrue:[ |
2447 | 3630 |
nNamedInstvarsShown := nNamedInstvarsShown - baseCls instSize. |
3631 |
]. |
|
6850 | 3632 |
nExtraNamedInstvarsShown := self extraNamedFields size. |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3633 |
|
6840 | 3634 |
idx <= (nNamedInstvarsShown+nExtraNamedInstvarsShown) ifTrue:[ |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3635 |
^ nil "/ named instVar selected. |
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3636 |
]. |
6840 | 3637 |
^ idx - (nNamedInstvarsShown+nExtraNamedInstvarsShown). |
2193
3d7b1044e8c8
fixed access to namedInstvars
Claus Gittinger <cg@exept.de>
parents:
2188
diff
changeset
|
3638 |
|
11511 | 3639 |
"Modified: / 16-05-2012 / 17:54:34 / cg" |
3640 |
! |
|
3641 |
||
3642 |
listEntryAt:lineNr |
|
11514 | 3643 |
|entry| |
3644 |
||
3645 |
entry := listView at:lineNr. |
|
3646 |
entry isNil ifTrue:[^ entry]. |
|
11763 | 3647 |
^ entry perform:#string ifNotUnderstood:[ entry printString ]. |
11511 | 3648 |
|
3649 |
"Created: / 16-05-2012 / 17:53:39 / cg" |
|
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3650 |
! |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3651 |
|
17130 | 3652 |
myObjectsInspectorExtraAttributes |
3653 |
||
3654 |
"the MessageNotUnderstood check below is not sufficient - if some proxy catches messages, for example. |
|
3655 |
Therefore, we do a manual lookup here:" |
|
3656 |
(object class canUnderstand:#inspectorExtraAttributes) ifFalse:[ |
|
3657 |
^ #() |
|
3658 |
]. |
|
3659 |
^ [object inspectorExtraAttributes] |
|
3660 |
on: MessageNotUnderstood |
|
3661 |
do: [:ex | ex return: #() ] |
|
3662 |
||
3663 |
"Created: / 17-07-2006 / 11:02:32 / cg" |
|
3664 |
"Modified: / 29-08-2006 / 13:03:31 / cg" |
|
3665 |
! |
|
3666 |
||
9367 | 3667 |
namedFieldAt:idx |
15657 | 3668 |
|val| |
3669 |
||
16804 | 3670 |
IsDebuggingQuery answer:true do:[ |
15657 | 3671 |
val := object instVarAt:idx |
3672 |
]. |
|
3673 |
^ val |
|
9367 | 3674 |
! |
3675 |
||
3676 |
namedFieldAt:idx put:newValue |
|
3677 |
^ object instVarAt:idx put:newValue |
|
3678 |
! |
|
3679 |
||
16804 | 3680 |
namedFieldList |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3681 |
"return a list of instVar names to show in the selectionList." |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3682 |
|
11715 | 3683 |
|aList cls baseCls offset| |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3684 |
|
9367 | 3685 |
cls := object class. |
2447 | 3686 |
baseCls := self baseInspectedObjectClass. |
3687 |
||
3351 | 3688 |
aList := OrderedCollection new. |
3338 | 3689 |
|
3351 | 3690 |
aList addAll:(cls allInstVarNames). |
11715 | 3691 |
offset := 0. |
8962 | 3692 |
(cls includesBehavior:baseCls) ifTrue:[ |
3351 | 3693 |
"/ hide some stuff |
11715 | 3694 |
offset := self baseInspectedObjectClass instSize. |
3695 |
aList := aList copyFrom:(offset + 1). |
|
3351 | 3696 |
]. |
16804 | 3697 |
aList := aList |
11629 | 3698 |
keysAndValuesCollect:[:idx :nm | |
15657 | 3699 |
|val| |
3700 |
||
16758 | 3701 |
val := object instVarAt:idx+offset. |
15657 | 3702 |
self listEntryForName:nm value:val |
11629 | 3703 |
]. |
16546 | 3704 |
sortOrder == SortOrderAlphabetical ifTrue:[ |
11629 | 3705 |
aList sort:[:a :b | a string < b string]. |
3706 |
]. |
|
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3707 |
^ aList |
3349 | 3708 |
|
11715 | 3709 |
"Modified: / 29-07-2012 / 12:11:06 / cg" |
6372 | 3710 |
! |
3711 |
||
11578 | 3712 |
numIndexedFields |
3713 |
^ inspectedObject basicSize |
|
3714 |
||
3715 |
"Created: / 13-06-2012 / 10:13:24 / cg" |
|
3716 |
! |
|
3717 |
||
9370 | 3718 |
pseudoFieldNames |
3719 |
"return a list of names to show in the selectionList. |
|
3720 |
Leave hasMore as true, if a '...' entry should be added." |
|
3721 |
||
11565 | 3722 |
^ self pseudoFieldNamesWithIndexed: object class isVariable |
3723 |
||
3724 |
"Modified: / 06-06-2012 / 11:56:56 / cg" |
|
9370 | 3725 |
! |
3726 |
||
3727 |
pseudoFieldNamesWithIndexed:withIndexed |
|
3728 |
"return a list of names to show in the selectionList. |
|
3729 |
Leave hasMore as true, if a '...' entry should be added." |
|
3730 |
||
3731 |
|list cls| |
|
3732 |
||
3733 |
cls := object class. |
|
3734 |
||
3735 |
list := OrderedCollection new. |
|
12448 | 3736 |
self hasSelfEntry ifTrue:[ |
13870 | 3737 |
list add:'-' , (object isJavaObject ifTrue:['this'] ifFalse:['self']) allItalic. |
12448 | 3738 |
]. |
14401 | 3739 |
list add:'-' , 'class' allItalic. |
12448 | 3740 |
hideMessages ifFalse:[ |
3741 |
list add:'-' , 'local messages' allItalic. |
|
3742 |
"/ list add:'-' , 'inherited messages' allItalic. |
|
3743 |
list add:'-' , 'all messages' allItalic. |
|
3744 |
]. |
|
3745 |
hideHashes ifFalse:[ |
|
3746 |
list add:'-' , 'hash' allItalic. |
|
3747 |
list add:'-' , 'identityHash' allItalic. |
|
3748 |
]. |
|
9370 | 3749 |
|
11565 | 3750 |
withIndexed ifTrue:[ |
11579
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3751 |
list add:'-' , 'basicSize' allItalic, (self valueStringInListEntryForValue:object basicSize). |
11565 | 3752 |
]. |
17124 | 3753 |
|
3754 |
object isProtoObject ifFalse:[ |
|
3755 |
object isCollection ifTrue:[ |
|
3756 |
(cls whichClassImplements:#size) ~~ (cls whichClassImplements:#basicSize) ifTrue:[ |
|
3757 |
Error handle:[:ex | |
|
3758 |
] do:[ |
|
3759 |
"/ Iterator has trouble |
|
3760 |
list add:'-' , 'size' allItalic , (self valueStringInListEntryForValue:object size). |
|
3761 |
]. |
|
3762 |
] |
|
3763 |
]. |
|
3764 |
||
3765 |
cls hasImmediateInstances ifFalse:[ |
|
3766 |
object dependents notEmptyOrNil ifTrue:[ |
|
3767 |
list add:'-' , 'dependents' allItalic, (self valueStringInListEntryForValue:object dependents size). |
|
11909
9ea1b7aa98dc
changed: #pseudoFieldNamesWithIndexed:
Claus Gittinger <cg@exept.de>
parents:
11895
diff
changeset
|
3768 |
]. |
17124 | 3769 |
]. |
3770 |
||
3771 |
object isClass ifTrue:[ |
|
3772 |
list add:'-' , 'all class vars' allItalic. |
|
9370 | 3773 |
]. |
3774 |
]. |
|
17124 | 3775 |
|
3776 |
cls instSize ~~ 0 ifTrue:[ |
|
9370 | 3777 |
list add:'-' , 'all inst vars' allItalic. |
3778 |
]. |
|
3779 |
(withIndexed and:[self showAllIndexedVarsInFieldList]) ifTrue:[ |
|
3780 |
list add:'-' , 'all indexed vars' allItalic. |
|
3781 |
]. |
|
3782 |
^ list |
|
11565 | 3783 |
|
11579
0c14b5d9c07f
added: #valueStringInListEntryForValue:
Claus Gittinger <cg@exept.de>
parents:
11578
diff
changeset
|
3784 |
"Modified: / 13-06-2012 / 12:10:16 / cg" |
13870 | 3785 |
"Modified: / 05-11-2013 / 17:57:00 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
9370 | 3786 |
! |
3787 |
||
3608 | 3788 |
setAcceptAction |
12457 | 3789 |
"set the codeView's accept action" |
3608 | 3790 |
|
9375
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3791 |
|idx acceptAction sel| |
3608 | 3792 |
|
3793 |
acceptAction := [:theText | self doAccept:theText asString]. |
|
3794 |
||
9375
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3795 |
idx := self theSingleSelectionIndex. |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3796 |
|
16804 | 3797 |
(idx isNil |
9367 | 3798 |
or:[ object class hasImmediateInstances]) |
3608 | 3799 |
ifTrue:[ |
3800 |
acceptAction := nil. |
|
3801 |
] ifFalse:[ |
|
11511 | 3802 |
sel := self listEntryAt:idx. |
3608 | 3803 |
|
3868 | 3804 |
(sel startsWith:'-all') ifTrue:[ |
3608 | 3805 |
acceptAction := nil. |
3806 |
]. |
|
14401 | 3807 |
(sel startsWith:'-class') ifTrue:[ |
3808 |
acceptAction := nil. |
|
3809 |
]. |
|
3608 | 3810 |
(sel startsWith:'-hash') ifTrue:[ |
3811 |
acceptAction := nil. |
|
3812 |
]. |
|
11565 | 3813 |
(sel startsWith:'-basicSize') ifTrue:[ |
3814 |
acceptAction := nil. |
|
3815 |
]. |
|
3816 |
(sel startsWith:'-size') ifTrue:[ |
|
3817 |
acceptAction := nil. |
|
3818 |
]. |
|
3608 | 3819 |
(sel startsWith:'-identityHash') ifTrue:[ |
3820 |
acceptAction := nil. |
|
3821 |
]. |
|
3634 | 3822 |
(sel startsWith:'-dependents') ifTrue:[ |
3823 |
acceptAction := nil. |
|
3824 |
]. |
|
5134 | 3825 |
(sel startsWith:'-source') ifTrue:[ |
3826 |
acceptAction := nil. |
|
3827 |
]. |
|
3608 | 3828 |
]. |
3829 |
||
3830 |
workspace acceptAction:acceptAction. |
|
11511 | 3831 |
|
11565 | 3832 |
"Modified: / 06-06-2012 / 11:57:27 / cg" |
3608 | 3833 |
! |
3834 |
||
200 | 3835 |
setDoItAction |
542 | 3836 |
"set the codeViews doit action" |
3837 |
||
16804 | 3838 |
workspace |
8908 | 3839 |
doItAction:[:theCode | |
3840 |
|evaluator| |
|
200 | 3841 |
|
9367 | 3842 |
(evaluator := object class evaluatorClass) |
8908 | 3843 |
notNil ifTrue:[ |
3844 |
evaluator |
|
16804 | 3845 |
evaluate:theCode |
3846 |
in:nil |
|
3847 |
receiver:object |
|
3848 |
notifying:workspace |
|
3849 |
logged:true |
|
8908 | 3850 |
ifFail:nil |
3851 |
] ifFalse:[ |
|
12457 | 3852 |
'object''s class provides no evaluator' |
8908 | 3853 |
] |
12916 | 3854 |
]; |
3855 |
editedMethodOrClass:(object class). |
|
542 | 3856 |
|
17457 | 3857 |
workspace simulatedSelf:object. |
3858 |
"/ workspace perform:#simulatedSelf: with:object ifNotUnderstood:[]. |
|
3859 |
||
12457 | 3860 |
"/ object class evaluatorClass isNil ifTrue:[ |
3861 |
"/ workspace doItAction:nil. |
|
3862 |
"/ workspace acceptAction:nil. |
|
3863 |
"/ ] |
|
1270
3dc841708edd
disable accept/doIt, if instances class provides no evaluator
Claus Gittinger <cg@exept.de>
parents:
1235
diff
changeset
|
3864 |
|
17457 | 3865 |
"Modified: / 09-03-2017 / 10:42:45 / cg" |
200 | 3866 |
! |
3867 |
||
3884 | 3868 |
showAllIndexedVarsInFieldList |
3869 |
^ true |
|
3870 |
! |
|
3871 |
||
9375
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3872 |
theSingleSelectionIndex |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3873 |
"helper - return the index of the (single) selected entry. |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3874 |
Nil if nothing or multiple items are selected" |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3875 |
|
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3876 |
|idx| |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3877 |
|
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3878 |
idx := selectionIndex. |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3879 |
idx isCollection ifTrue:[ |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3880 |
selectionIndex size == 1 ifTrue:[ |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3881 |
^ selectionIndex first |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3882 |
]. |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3883 |
^ nil |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3884 |
]. |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3885 |
^ selectionIndex |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3886 |
! |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
3887 |
|
200 | 3888 |
valueAtLine:lineNr |
3889 |
"helper - return the value of the selected entry" |
|
3890 |
||
17184 | 3891 |
|idx lineEntry val| |
200 | 3892 |
|
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
3893 |
(self hasSelfEntry |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3894 |
and:[lineNr == 1 or:[lineNr isNil]]) ifTrue:[ |
9367 | 3895 |
^ object |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3896 |
]. |
2235
ce49947e61f7
migrate instvars 'inspectedObject' to 'object'
Claus Gittinger <cg@exept.de>
parents:
2193
diff
changeset
|
3897 |
|
17872 | 3898 |
"/ one of the special (pseudo) entries? |
17184 | 3899 |
((lineEntry := self listEntryAt:lineNr) startsWith:$-) ifTrue:[ |
3900 |
(lineEntry ~= '-' |
|
3901 |
and:[(lineEntry at:2) isSeparator not |
|
3902 |
and:[(lineEntry at:2) isDigit not "negative number"]] |
|
3903 |
) ifTrue:[ |
|
3904 |
^ self valueForSpecialLine:lineEntry |
|
3645 | 3905 |
]. |
3338 | 3906 |
]. |
17872 | 3907 |
"/ another special (pseudo) entries? |
17938 | 3908 |
(lineEntry startsWith:$¤) ifTrue:[ |
17184 | 3909 |
^ self valueForSpecialLine:lineEntry |
3910 |
]. |
|
3338 | 3911 |
|
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3912 |
"/ a named instVar ? |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3913 |
idx := self instVarIndexForLine:lineNr. |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3914 |
idx notNil ifTrue:[ |
17872 | 3915 |
"/ avoid endless recursion in case there is a breakPoint on the getter |
3916 |
BreakPointInterrupt ignoreIn:[ |
|
9367 | 3917 |
^ self namedFieldAt:idx |
2800 | 3918 |
] |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3919 |
]. |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3920 |
|
6840 | 3921 |
"/ an extra named field ? |
3922 |
idx := self extraNamedVarIndexForLine:lineNr. |
|
3923 |
idx notNil ifTrue:[ |
|
17872 | 3924 |
"/ avoid endless recursion in case there is a breakPoint on the getter |
3925 |
BreakPointInterrupt ignoreIn:[ |
|
6850 | 3926 |
val := ((self extraNamedFields) at:idx) value. |
3927 |
val isBlock ifTrue:[ val := val value ]. |
|
3928 |
^ val |
|
6840 | 3929 |
] |
3930 |
]. |
|
3931 |
||
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3932 |
"/ an indexed instVar ? |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3933 |
idx := self keyIndexForLine:lineNr. |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3934 |
idx notNil ifTrue:[ |
17872 | 3935 |
"/ avoid endless recursion in case there is a breakPoint on the getter |
3936 |
BreakPointInterrupt ignoreIn:[ |
|
2800 | 3937 |
^ self indexedValueAtIndex:idx. |
3938 |
] |
|
200 | 3939 |
]. |
644
aab7d4f7c8c3
allow hiding self; added a label
Claus Gittinger <cg@exept.de>
parents:
621
diff
changeset
|
3940 |
|
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3941 |
"/ nope |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3942 |
^ nil |
613 | 3943 |
|
11511 | 3944 |
"Modified: / 16-05-2012 / 17:54:06 / cg" |
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3945 |
! |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3946 |
|
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3947 |
valueAtLine:lineNr put:newValue |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3948 |
|idx| |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3949 |
|
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3950 |
idx := self instVarIndexForLine:selectionIndex. |
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3951 |
idx notNil ifTrue:[ |
9367 | 3952 |
self namedFieldAt:idx put:newValue. |
3953 |
^ self. |
|
2271
0cf238543cb1
fixed and improved fieldNameList generation & use.
Claus Gittinger <cg@exept.de>
parents:
2235
diff
changeset
|
3954 |
]. |
9367 | 3955 |
|
3956 |
idx := self keyIndexForLine:selectionIndex. |
|
3957 |
idx notNil ifTrue:[ |
|
3958 |
self indexedValueAtIndex:idx put:newValue. |
|
3959 |
^ self |
|
3960 |
]. |
|
3961 |
||
17184 | 3962 |
"/ self or special entry selected - don't store |
17938 | 3963 |
self beepInEditor. |
17184 | 3964 |
^ self |
3349 | 3965 |
! |
3966 |
||
3967 |
valueForSpecialLine:line |
|
11419
a96a34326a6a
changed: #valueForSpecialLine:
Claus Gittinger <cg@exept.de>
parents:
11276
diff
changeset
|
3968 |
|idx fieldEntry extraAttributes fields| |
9367 | 3969 |
|
17130 | 3970 |
extraAttributes := self myObjectsInspectorExtraAttributes. |
3971 |
(extraAttributes includesKey:line) ifTrue:[ |
|
14657 | 3972 |
^ (extraAttributes at:line) value |
7297 | 3973 |
]. |
6823 | 3974 |
|
11419
a96a34326a6a
changed: #valueForSpecialLine:
Claus Gittinger <cg@exept.de>
parents:
11276
diff
changeset
|
3975 |
idx := self derivedFieldNames findFirst:[:l | l string = line string ]. |
6850 | 3976 |
idx ~~ 0 ifTrue:[ |
11419
a96a34326a6a
changed: #valueForSpecialLine:
Claus Gittinger <cg@exept.de>
parents:
11276
diff
changeset
|
3977 |
"a lot of backward compatibility crab which has to go away..." |
a96a34326a6a
changed: #valueForSpecialLine:
Claus Gittinger <cg@exept.de>
parents:
11276
diff
changeset
|
3978 |
fields := self derivedFields. |
12820 | 3979 |
(fields isDictionary) ifTrue:[ |
11419
a96a34326a6a
changed: #valueForSpecialLine:
Claus Gittinger <cg@exept.de>
parents:
11276
diff
changeset
|
3980 |
fieldEntry := fields associationAt:line string "idx". |
a96a34326a6a
changed: #valueForSpecialLine:
Claus Gittinger <cg@exept.de>
parents:
11276
diff
changeset
|
3981 |
] ifFalse:[ |
a96a34326a6a
changed: #valueForSpecialLine:
Claus Gittinger <cg@exept.de>
parents:
11276
diff
changeset
|
3982 |
fieldEntry := fields associationAt:idx. |
a96a34326a6a
changed: #valueForSpecialLine:
Claus Gittinger <cg@exept.de>
parents:
11276
diff
changeset
|
3983 |
]. |
6850 | 3984 |
] ifFalse:[ |
3985 |
idx := self extraNamedFieldNames indexOf:line. |
|
3986 |
idx ~~ 0 ifTrue:[ |
|
3987 |
fieldEntry := self extraNamedFields at:idx. |
|
3988 |
]. |
|
6840 | 3989 |
]. |
6823 | 3990 |
fieldEntry notNil ifTrue:[ |
6850 | 3991 |
fieldEntry isAssociation ifTrue:[ |
11419
a96a34326a6a
changed: #valueForSpecialLine:
Claus Gittinger <cg@exept.de>
parents:
11276
diff
changeset
|
3992 |
^ fieldEntry value value |
6850 | 3993 |
]. |
3994 |
^ fieldEntry at:2. |
|
6823 | 3995 |
]. |
3996 |
||
3525 | 3997 |
(line startsWith:'-self') ifTrue:[ |
9367 | 3998 |
^ object |
3525 | 3999 |
]. |
11565 | 4000 |
(line startsWith:'-basicSize') ifTrue:[ |
4001 |
^ object basicSize |
|
4002 |
]. |
|
9504 | 4003 |
(line startsWith:'-size') ifTrue:[ |
4004 |
^ object size |
|
4005 |
]. |
|
14401 | 4006 |
(line startsWith:'-class') ifTrue:[ |
4007 |
^ object class |
|
4008 |
]. |
|
3525 | 4009 |
(line startsWith:'-hash') ifTrue:[ |
9367 | 4010 |
^ object hash |
3525 | 4011 |
]. |
4012 |
(line startsWith:'-identityHash') ifTrue:[ |
|
9367 | 4013 |
^ object identityHash |
3525 | 4014 |
]. |
3634 | 4015 |
(line startsWith:'-dependents') ifTrue:[ |
9367 | 4016 |
^ object dependents |
3634 | 4017 |
]. |
3868 | 4018 |
(line startsWith:'-all') ifTrue:[ |
9367 | 4019 |
^ object |
3608 | 4020 |
]. |
8726 | 4021 |
(line startsWith:'-local messages') ifTrue:[ |
9367 | 4022 |
^ object |
8726 | 4023 |
]. |
4024 |
(line startsWith:'-inherited messages') ifTrue:[ |
|
9367 | 4025 |
^ object |
8726 | 4026 |
]. |
4027 |
(line startsWith:'-all messages') ifTrue:[ |
|
9367 | 4028 |
^ object |
8726 | 4029 |
]. |
3608 | 4030 |
|
12448 | 4031 |
(line startsWith:'--- ') ifTrue:[ |
4032 |
"/ info line, such as '--- classvariables from...' |
|
4033 |
^ object |
|
4034 |
]. |
|
4035 |
||
3526 | 4036 |
self error:'unknown special line'. |
3349 | 4037 |
|
6823 | 4038 |
"Created: / 31-10-2001 / 09:17:45 / cg" |
11565 | 4039 |
"Modified: / 06-06-2012 / 11:57:54 / cg" |
200 | 4040 |
! ! |
4041 |
||
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4042 |
!InspectorView methodsFor:'queries'! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4043 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4044 |
canInspect:anObject |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4045 |
^ anObject inspectorClass == self class |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4046 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4047 |
|
5925 | 4048 |
compilerClass |
9367 | 4049 |
^ object class compilerClass |
5925 | 4050 |
! |
4051 |
||
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4052 |
dereferenceValueHolders |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4053 |
^ dereferenceValueHolders ? false |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4054 |
! |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4055 |
|
15800 | 4056 |
isIndexShown |
4057 |
^ true |
|
4058 |
! |
|
4059 |
||
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4060 |
labelFor:anObject |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4061 |
"return the windowLabel to use in my topView, when inspecting anObject." |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4062 |
|
14508 | 4063 |
|myClass lbl| |
4064 |
||
4065 |
myClass := self class. |
|
4066 |
(myClass == InspectorView |
|
17123 | 4067 |
and:[anObject isProtoObject not and:[anObject inspectorClass ~~ InspectorView]]) ifTrue:[ |
6130 | 4068 |
lbl := 'BasicInspector on: ' |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4069 |
] ifFalse:[ |
6130 | 4070 |
lbl := 'Inspector on: ' |
5958 | 4071 |
]. |
17123 | 4072 |
^ (myClass classResources string:lbl), (myClass commonLabelFor:anObject) |
10321 | 4073 |
|
4074 |
"Modified: / 15-07-2011 / 16:22:05 / cg" |
|
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4075 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4076 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4077 |
labelNameFor:anObject |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4078 |
"return the iconLabel to use in my topView, when inspecting anObject. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4079 |
Simply returns the className or name of anObjects class" |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4080 |
|
11658
b431692d3cba
comment/format in: #labelFor:
Claus Gittinger <cg@exept.de>
parents:
11644
diff
changeset
|
4081 |
^ self class labelNameFor:anObject |
5958 | 4082 |
|
4083 |
" |
|
4084 |
1234 inspect |
|
4085 |
true inspect |
|
4086 |
$a inspect |
|
4087 |
" |
|
11658
b431692d3cba
comment/format in: #labelFor:
Claus Gittinger <cg@exept.de>
parents:
11644
diff
changeset
|
4088 |
|
b431692d3cba
comment/format in: #labelFor:
Claus Gittinger <cg@exept.de>
parents:
11644
diff
changeset
|
4089 |
"Modified: / 25-07-2012 / 10:15:06 / cg" |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4090 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4091 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4092 |
selectedKeyName |
16064 | 4093 |
"used by the debugger, to fetch the selected instVar/pseudoVar name, |
4094 |
so it can be reselected after the next single step |
|
4095 |
(using tryToSelect..)" |
|
16804 | 4096 |
|
11910
6087f8d5d9b4
comment/format in: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11909
diff
changeset
|
4097 |
|sel| |
6087f8d5d9b4
comment/format in: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11909
diff
changeset
|
4098 |
|
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4099 |
selectionIndex notNil ifTrue:[ |
11910
6087f8d5d9b4
comment/format in: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11909
diff
changeset
|
4100 |
sel := listView listAt:selectionIndex. |
6087f8d5d9b4
comment/format in: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11909
diff
changeset
|
4101 |
sel notNil ifTrue:[ |
6087f8d5d9b4
comment/format in: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11909
diff
changeset
|
4102 |
sel := sel string. |
16064 | 4103 |
"/ careful: pseudo entries may have spaces in-between |
4104 |
(sel startsWith:'-') ifFalse:[ |
|
4105 |
"/ clip off the value-info string |
|
4106 |
sel := sel copyUpTo:(Character space). |
|
16804 | 4107 |
]. |
11910
6087f8d5d9b4
comment/format in: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11909
diff
changeset
|
4108 |
^ sel |
6087f8d5d9b4
comment/format in: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11909
diff
changeset
|
4109 |
]. |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4110 |
]. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4111 |
^ nil |
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4112 |
! |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4113 |
|
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4114 |
suppressPseudoSlots |
17588 | 4115 |
"are pseudo slots (eg. inspectorExtraAttributes) suppressed?" |
4116 |
||
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4117 |
^ suppressPseudoSlots ? false |
17588 | 4118 |
|
4119 |
"Modified (comment): / 18-07-2017 / 15:19:55 / cg" |
|
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4120 |
! ! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4121 |
|
8653 | 4122 |
!InspectorView methodsFor:'selection'! |
4123 |
||
4124 |
selection:lineNr |
|
4125 |
self showSelection:lineNr |
|
4126 |
! |
|
4127 |
||
4128 |
showSelection:lineNr |
|
4129 |
"user clicked on an instvar - show value in workspace" |
|
4130 |
||
17184 | 4131 |
|listSize| |
9672 | 4132 |
|
4133 |
listSize := listView list size. |
|
4134 |
listSize == 0 ifTrue:[^ self]. |
|
4135 |
||
4136 |
(hasMore and:[lineNr == listSize]) ifTrue:[ |
|
8653 | 4137 |
"clicked on the '...' entry" |
4138 |
self showMore. |
|
4139 |
listView setSelection:lineNr. |
|
4140 |
]. |
|
4141 |
||
17184 | 4142 |
(self hasSelfEntry and:[lineNr == 1]) ifTrue:[ |
4143 |
"selecting self also does a re-set, this allows updating the list" |
|
4144 |
self reinspect. |
|
8653 | 4145 |
]. |
10521
9218a2f4a6d1
Oops, fixes previous (messed) revision (changed: #showSelection:)
vrany
parents:
10520
diff
changeset
|
4146 |
selectionIndex := selectedLine := lineNr. |
17184 | 4147 |
self showValue:(self selection). |
8653 | 4148 |
|
4149 |
self setAcceptAction. |
|
4150 |
||
4151 |
"Modified: / 03-08-2006 / 14:26:22 / cg" |
|
4152 |
! |
|
4153 |
||
16804 | 4154 |
showValue:someValue |
8653 | 4155 |
"user clicked on an entry - show value in workspace" |
4156 |
||
4157 |
|s| |
|
4158 |
||
9651 | 4159 |
self "topView" withWaitCursorDo:[ |
11946 | 4160 |
[ |
4161 |
s := self displayStringForValue:someValue. |
|
4162 |
] valueWithWatchDog:[ |
|
12642 | 4163 |
s := someValue classNameWithArticle,' "- printString generation took too long"' |
4164 |
] afterMilliseconds:1000. |
|
11946 | 4165 |
|
8653 | 4166 |
s = workspace selectionAsString ifFalse:[ |
4167 |
workspace replace:s. |
|
4168 |
]. |
|
4169 |
]. |
|
4170 |
||
11946 | 4171 |
"Modified: / 28-10-2012 / 11:03:04 / cg" |
8653 | 4172 |
! ! |
4173 |
||
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4174 |
!InspectorView methodsFor:'user interaction'! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4175 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4176 |
doAccept:theText |
16064 | 4177 |
"the selected text is evaluated and stored into the selected field" |
16804 | 4178 |
|
11551 | 4179 |
|sel newValue fieldNameList| |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4180 |
|
11511 | 4181 |
sel := self listEntryAt:(self theSingleSelectionIndex). |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4182 |
(sel startsWith:'-all') ifTrue:[ |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4183 |
workspace flash. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4184 |
^ self. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4185 |
]. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4186 |
|
4642
ee63c37d9d3c
Convert Object>>errorSignal -> Error
Stefan Vogel <sv@exept.de>
parents:
4314
diff
changeset
|
4187 |
Error handle:[:ex | |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4188 |
workspace flash |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4189 |
] do:[ |
16804 | 4190 |
newValue := object class evaluatorClass |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4191 |
evaluate:theText |
16804 | 4192 |
receiver:object |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4193 |
notifying:workspace. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4194 |
|
4095
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4195 |
self dereferenceValueHolders ifTrue:[ |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4196 |
(self valueAtLine:selectionIndex) value:newValue |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4197 |
] ifFalse:[ |
5bd36b14723d
labels; added suppressPseudoVars & dereferenceValueHolders
Claus Gittinger <cg@exept.de>
parents:
3884
diff
changeset
|
4198 |
self valueAtLine:selectionIndex put:newValue. |
11551 | 4199 |
]. |
4200 |
"/ update the fieldList... |
|
16804 | 4201 |
fieldNameList := self fieldList. |
11551 | 4202 |
hasMore ifTrue:[ |
4203 |
fieldNameList add:' ... ' |
|
4204 |
]. |
|
4205 |
listView contents:fieldNameList. |
|
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4206 |
] |
11511 | 4207 |
|
11551 | 4208 |
"Modified: / 04-06-2012 / 18:16:29 / cg" |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4209 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4210 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4211 |
doCopyKey |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4212 |
"put the instVar-name into the text-copy-buffer" |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4213 |
|
9378 | 4214 |
|nm selIdx| |
4215 |
||
4216 |
(selIdx := self theSingleSelectionIndex) notNil ifTrue:[ |
|
11916 | 4217 |
nm := self selectedKeyName. |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4218 |
nm notNil ifTrue:[ |
6034 | 4219 |
self setClipboardText:(nm asString) |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4220 |
] |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4221 |
] |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4222 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4223 |
|
12528 | 4224 |
doInspect:basicBooleanOrSymbolForHow |
16064 | 4225 |
"user selected the inspect-menu entry" |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4226 |
|
12528 | 4227 |
self doInspect:self selectedField basic:basicBooleanOrSymbolForHow |
4228 |
! |
|
4229 |
||
4230 |
doInspect:objectToInspect basic:basic |
|
16064 | 4231 |
"user selected the basic-inspect-menu entry" |
12528 | 4232 |
|
8025 | 4233 |
objectToInspect notNil ifTrue:[ |
9349
e6d367cbe86c
do not show new-inspector in menu, if there is none loaded
Claus Gittinger <cg@exept.de>
parents:
9316
diff
changeset
|
4234 |
(basic == #new and:[NewInspector::NewInspectorView notNil]) ifTrue:[ |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4235 |
NewInspector::NewInspectorView inspect:objectToInspect |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4236 |
] ifFalse:[ |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4237 |
basic ifTrue:[ |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4238 |
objectToInspect basicInspect |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4239 |
] ifFalse:[ |
10424
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
4240 |
"/ cg: a bad hack; it is ok for a double-click, but not for the |
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
4241 |
"/ menu item (i often want to have another inspector on the same object) |
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
4242 |
"/ for the menu: add an extra follow/diveIn or whatever entry, if desired |
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
4243 |
"/ "HACK" |
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
4244 |
"/ app := (self topView perform:#application ifNotUnderstood: [nil]). |
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
4245 |
"/ (app notNil and:[app isKindOf: Tools::Inspector2]) ifTrue:[ |
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
4246 |
"/ app inspect: objectToInspect |
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
4247 |
"/ ] ifFalse:[ |
10207
e2968eb0d08e
changed: #doInspect: to open instvars within same Inspector2 window
vrany
parents:
9794
diff
changeset
|
4248 |
objectToInspect inspect |
10424
9d7d0c28f504
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10321
diff
changeset
|
4249 |
"/ ] |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4250 |
] |
8025 | 4251 |
]. |
4252 |
]. |
|
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4253 |
|
10207
e2968eb0d08e
changed: #doInspect: to open instvars within same Inspector2 window
vrany
parents:
9794
diff
changeset
|
4254 |
"Modified: / 06-07-2011 / 15:58:55 / jv" |
11702 | 4255 |
"Modified: / 27-07-2012 / 22:43:11 / cg" |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4256 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4257 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4258 |
doUpdate |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4259 |
self reinspect |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4260 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4261 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4262 |
monitor:anInstVarName |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4263 |
"start a monitoring process, showing the given instVar |
16064 | 4264 |
in regular time intervals." |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4265 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4266 |
|ivName| |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4267 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4268 |
(ivName := anInstVarName) isInteger ifTrue:[ |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4269 |
ivName := anInstVarName printString |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4270 |
]. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4271 |
listView selectElement:ivName. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4272 |
self doStartMonitor |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4273 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4274 |
"Created: / 1.3.1996 / 19:31:45 / cg" |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4275 |
"Modified: / 12.2.1999 / 16:05:47 / cg" |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4276 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4277 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4278 |
selection |
9375
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
4279 |
"helper - return the value of the (single) selected entry. |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
4280 |
Nil if nothing or multiple items are selected" |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
4281 |
|
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
4282 |
|idx val| |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
4283 |
|
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
4284 |
idx := self theSingleSelectionIndex. |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
4285 |
idx isNil ifTrue:[^ nil]. |
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
4286 |
|
f885ea13e694
allow multiSelect in dictionary inspector (for removeKey)
Claus Gittinger <cg@exept.de>
parents:
9370
diff
changeset
|
4287 |
val := self valueAtLine:idx. |
6850 | 4288 |
self dereferenceValueHolders ifTrue:[ |
4289 |
"workspace-variable-inspection" |
|
4290 |
val := val value |
|
4291 |
]. |
|
4292 |
^ val |
|
4293 |
||
4294 |
"Modified: / 03-08-2006 / 14:27:02 / cg" |
|
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4295 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4296 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4297 |
showLast |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4298 |
"user clicked on an instvar - show value in workspace" |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4299 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4300 |
|lastIdx| |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4301 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4302 |
lastIdx := listView list size. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4303 |
lastIdx ~~ 0 ifTrue:[ |
8908 | 4304 |
self showSelection:lastIdx. |
4305 |
listView selection:lastIdx. |
|
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4306 |
] |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4307 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4308 |
"Created: 28.6.1996 / 15:06:38 / cg" |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4309 |
"Modified: 18.3.1997 / 18:22:54 / cg" |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4310 |
! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4311 |
|
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4312 |
tryToSelectKeyNamed:aString |
17938 | 4313 |
"called from the debugger to try to select the previousöy selected |
16064 | 4314 |
field (by name)" |
4315 |
||
11599
06b7c6cce561
changed: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11594
diff
changeset
|
4316 |
|list idx aStringWithSpace| |
06b7c6cce561
changed: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11594
diff
changeset
|
4317 |
|
06b7c6cce561
changed: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11594
diff
changeset
|
4318 |
aString isEmptyOrNil ifTrue:[^ self]. |
06b7c6cce561
changed: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11594
diff
changeset
|
4319 |
|
11603
6f7540a1e057
changed: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11599
diff
changeset
|
4320 |
aStringWithSpace := aString string,' '. |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4321 |
|
5558 | 4322 |
list := listView list. |
4323 |
list notNil ifTrue:[ |
|
16804 | 4324 |
idx := list findFirst:[:line | |
4325 |
line = aString |
|
16064 | 4326 |
or:[line string startsWith:aStringWithSpace]]. |
4327 |
idx ~~ 0 ifTrue:[ |
|
5558 | 4328 |
listView selection:idx |
4329 |
]. |
|
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4330 |
]. |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4331 |
|
11599
06b7c6cce561
changed: #tryToSelectKeyNamed:
Claus Gittinger <cg@exept.de>
parents:
11594
diff
changeset
|
4332 |
"Created: / 16-11-2001 / 13:48:51 / cg" |
3874
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4333 |
! ! |
ed3a652e5ce0
all indexed vars for dictionaries
Claus Gittinger <cg@exept.de>
parents:
3869
diff
changeset
|
4334 |
|
4268
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4335 |
!InspectorView methodsFor:'workspace protocol'! |
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4336 |
|
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4337 |
modified:aBoolean |
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4338 |
^ workspace modified:aBoolean |
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4339 |
! |
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4340 |
|
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4341 |
saveAs:file doAppend:doAppend |
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4342 |
workspace saveAs:file doAppend:doAppend |
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4343 |
! ! |
0fe3e4a82ddf
more textView protocol (for Workspace)
Claus Gittinger <cg@exept.de>
parents:
4197
diff
changeset
|
4344 |
|
871 | 4345 |
!InspectorView class methodsFor:'documentation'! |
200 | 4346 |
|
10521
9218a2f4a6d1
Oops, fixes previous (messed) revision (changed: #showSelection:)
vrany
parents:
10520
diff
changeset
|
4347 |
version |
15712 | 4348 |
^ '$Header$' |
10521
9218a2f4a6d1
Oops, fixes previous (messed) revision (changed: #showSelection:)
vrany
parents:
10520
diff
changeset
|
4349 |
! |
9218a2f4a6d1
Oops, fixes previous (messed) revision (changed: #showSelection:)
vrany
parents:
10520
diff
changeset
|
4350 |
|
8868
1fd94adeda59
changed: #setInitialSelection
Claus Gittinger <cg@exept.de>
parents:
8800
diff
changeset
|
4351 |
version_CVS |
15712 | 4352 |
^ '$Header$' |
200 | 4353 |
! ! |
12103 | 4354 |
|
16550 | 4355 |
|
4356 |
InspectorView initialize! |