author | vrany |
Sat, 23 Jul 2011 12:41:37 +0200 | |
changeset 10379 | 489f71d5711e |
parent 10322 | 4c79efcd1926 |
child 10392 | e4e94b17c0c2 |
permissions | -rw-r--r-- |
9996 | 1 |
" |
2 |
COPYRIGHT (c) 2006 by eXept Software AG |
|
3 |
All Rights Reserved |
|
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 |
" |
|
12 |
"{ Package: 'stx:libtool' }" |
|
8779 | 13 |
|
14 |
"{ NameSpace: Tools }" |
|
15 |
||
16 |
ApplicationModel subclass:#Inspector2 |
|
10379 | 17 |
instanceVariableNames:'tabViewAspect navigationHistoryHolder navigationStateAspect |
18 |
browser' |
|
10311 | 19 |
classVariableNames:'LastExtent' |
8779 | 20 |
poolDictionaries:'' |
21 |
category:'Interface-Inspector 2' |
|
22 |
! |
|
23 |
||
24 |
Object subclass:#NavigationState |
|
25 |
instanceVariableNames:'theObject index tabs selectionIndex displayString' |
|
26 |
classVariableNames:'' |
|
27 |
poolDictionaries:'' |
|
28 |
privateIn:Inspector2 |
|
29 |
! |
|
30 |
||
9996 | 31 |
!Inspector2 class methodsFor:'documentation'! |
32 |
||
33 |
copyright |
|
34 |
" |
|
35 |
COPYRIGHT (c) 2006 by eXept Software AG |
|
36 |
All Rights Reserved |
|
37 |
||
38 |
This software is furnished under a license and may be used |
|
39 |
only in accordance with the terms of that license and with the |
|
40 |
inclusion of the above copyright notice. This software may not |
|
41 |
be provided or otherwise made available to, or used by, any |
|
42 |
other person. No title to or ownership of the software is |
|
43 |
hereby transferred. |
|
44 |
" |
|
45 |
! ! |
|
8779 | 46 |
|
47 |
!Inspector2 class methodsFor:'interface specs'! |
|
48 |
||
49 |
windowSpec |
|
50 |
"This resource specification was automatically generated |
|
51 |
by the UIPainter of ST/X." |
|
52 |
||
53 |
"Do not manually edit this!! If it is corrupted, |
|
54 |
the UIPainter may not be able to read the specification." |
|
55 |
||
56 |
" |
|
57 |
UIPainter new openOnClass:Inspector2 andSelector:#windowSpec |
|
58 |
Inspector2 new openInterface:#windowSpec |
|
59 |
Inspector2 open |
|
60 |
" |
|
61 |
||
62 |
<resource: #canvas> |
|
63 |
||
64 |
^ |
|
65 |
#(FullSpec |
|
66 |
name: windowSpec |
|
67 |
window: |
|
68 |
(WindowSpec |
|
69 |
label: 'Inspector2' |
|
70 |
name: 'Inspector2' |
|
71 |
labelChannel: windowTitleAspect |
|
72 |
min: (Point 0 0) |
|
73 |
bounds: (Rectangle 0 0 388 421) |
|
74 |
) |
|
75 |
component: |
|
76 |
(SpecCollection |
|
77 |
collection: ( |
|
78 |
(MenuPanelSpec |
|
79 |
name: 'ToolBar' |
|
80 |
layout: (LayoutFrame 0 0 0 0 0 1 30 0) |
|
81 |
menu: toolbarMenu |
|
82 |
textDefault: true |
|
83 |
) |
|
84 |
(NoteBookViewSpec |
|
85 |
name: 'NoteBook' |
|
86 |
layout: (LayoutFrame 0 0 30 0 0 1 0 1) |
|
87 |
model: tabSelectionIndexAspect |
|
88 |
menu: tabLabelsAspect |
|
89 |
useIndex: true |
|
90 |
fitLastRow: false |
|
91 |
canvas: tabViewAspect |
|
92 |
keepCanvasAlive: true |
|
93 |
) |
|
94 |
) |
|
95 |
||
96 |
) |
|
97 |
) |
|
98 |
||
99 |
"Modified: / 17-02-2008 / 08:42:31 / janfrog" |
|
100 |
! ! |
|
101 |
||
102 |
!Inspector2 class methodsFor:'menu specs'! |
|
103 |
||
104 |
toolbarMenu |
|
105 |
"This resource specification was automatically generated |
|
106 |
by the MenuEditor of ST/X." |
|
107 |
||
108 |
"Do not manually edit this!! If it is corrupted, |
|
109 |
the MenuEditor may not be able to read the specification." |
|
110 |
||
111 |
" |
|
10379 | 112 |
MenuEditor new openOnClass:Tools::Inspector2 andSelector:#toolbarMenu |
113 |
(Menu new fromLiteralArrayEncoding:(Tools::Inspector2 toolbarMenu)) startUp |
|
8779 | 114 |
" |
115 |
||
116 |
<resource: #menu> |
|
117 |
||
118 |
^ |
|
119 |
#(Menu |
|
120 |
( |
|
121 |
(MenuItem |
|
122 |
enabled: backButtonEnabledHolder |
|
123 |
label: 'Back' |
|
124 |
itemValue: backButtonAction |
|
125 |
translateLabel: true |
|
126 |
submenuChannel: backButtonMenuChannel |
|
127 |
labelImage: (ResourceRetriever XPToolbarIconLibrary historyBackIcon) |
|
128 |
) |
|
129 |
(MenuItem |
|
130 |
enabled: forwardButtonEnabledHolder |
|
131 |
label: 'Forward' |
|
132 |
itemValue: forwardButtonAction |
|
133 |
translateLabel: true |
|
134 |
submenuChannel: forwardButtonMenuChannel |
|
135 |
labelImage: (ResourceRetriever XPToolbarIconLibrary historyForwardIcon) |
|
136 |
) |
|
10379 | 137 |
(MenuItem |
138 |
label: '-' |
|
139 |
) |
|
140 |
(MenuItem |
|
141 |
label: 'Browse' |
|
142 |
itemValue: browseClassAction |
|
143 |
translateLabel: true |
|
144 |
isButton: true |
|
145 |
labelImage: (ResourceRetriever ToolbarIconLibrary startNewSystemBrowserIcon22x22) |
|
146 |
) |
|
8779 | 147 |
) |
148 |
nil |
|
149 |
nil |
|
150 |
) |
|
151 |
! ! |
|
152 |
||
153 |
!Inspector2 class methodsFor:'startup'! |
|
154 |
||
155 |
openOn: anObject |
|
156 |
||
10311 | 157 |
self new |
158 |
openOn: anObject. |
|
8779 | 159 |
|
160 |
"Modified: / 17-02-2008 / 10:29:45 / janfrog" |
|
10311 | 161 |
"Modified (format): / 11-07-2011 / 22:28:03 / cg" |
8779 | 162 |
! ! |
163 |
||
164 |
!Inspector2 class methodsFor:'testing'! |
|
165 |
||
166 |
testSimpleShow |
|
167 |
|ins| |
|
168 |
||
169 |
ins := Inspector2 openOn:4. |
|
170 |
ins inspect:10. |
|
171 |
ins inspect:42. |
|
172 |
ins inspect:'dead one'. |
|
173 |
ins inspect:'rolled back'. |
|
174 |
||
175 |
"/ins inspectItem: (ins history at: 3). "/ Rollback history, zustanou jen prvni 3 |
|
176 |
||
177 |
ins inspect:'xFuj'. |
|
178 |
||
179 |
"Modified: / 11-01-2008 / 20:36:37 / janfrog" |
|
180 |
! ! |
|
181 |
||
182 |
!Inspector2 methodsFor:'accessing'! |
|
183 |
||
184 |
backButtonEnabled: value |
|
185 |
||
186 |
^self backButtonEnabledHolder value: value |
|
187 |
||
188 |
"Created: / 12-01-2008 / 19:14:35 / janfrog" |
|
189 |
! |
|
190 |
||
191 |
currentObject |
|
192 |
^ self navigationState theObject |
|
193 |
||
194 |
"Created: / 13-01-2008 / 10:14:47 / janfrog" |
|
195 |
"Modified: / 17-02-2008 / 09:49:01 / janfrog" |
|
196 |
! |
|
197 |
||
198 |
currentState |
|
199 |
^ self navigationHistoryHolder currentItem |
|
200 |
||
201 |
"Created: / 21-02-2008 / 19:39:45 / janfrog" |
|
202 |
"Modified: / 27-02-2008 / 11:56:55 / janfrog" |
|
203 |
! |
|
204 |
||
205 |
forwardButtonEnabled: value |
|
206 |
||
207 |
^self forwardButtonEnabledHolder value: value |
|
208 |
||
209 |
"Created: / 12-01-2008 / 19:14:48 / janfrog" |
|
210 |
! |
|
211 |
||
212 |
navigationState |
|
10379 | 213 |
^ self navigationHistoryHolder value currentItem |
8779 | 214 |
|
215 |
"Created: / 17-02-2008 / 09:49:01 / janfrog" |
|
216 |
"Modified: / 21-02-2008 / 19:34:14 / janfrog" |
|
10379 | 217 |
"Modified: / 22-07-2011 / 19:13:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8779 | 218 |
! |
219 |
||
220 |
navigationState:historyItem |
|
10379 | 221 |
self navigationHistoryHolder "subjectChannel:" value currentItem:historyItem. |
8779 | 222 |
|
223 |
"/self fixNavigation. "Nevola se kvuli problemu s prekreslovanim" |
|
224 |
"/self updateTabs. |
|
225 |
||
226 |
"Created: / 17-02-2008 / 09:49:11 / janfrog" |
|
227 |
"Modified: / 21-02-2008 / 19:47:26 / janfrog" |
|
10379 | 228 |
"Modified: / 22-07-2011 / 19:13:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8779 | 229 |
! ! |
230 |
||
231 |
!Inspector2 methodsFor:'aspects'! |
|
232 |
||
233 |
backButtonEnabledHolder |
|
234 |
"return/create the 'backButtonEnabledHolder' value holder (automatically generated)" |
|
235 |
||
236 |
^(AspectAdaptor forAspect:#canGoBack) |
|
237 |
subjectChannel: self navigationHistoryHolder |
|
238 |
||
239 |
"Created: / 12-01-2008 / 19:13:49 / janfrog" |
|
240 |
"Modified: / 27-02-2008 / 12:11:30 / janfrog" |
|
241 |
! |
|
242 |
||
243 |
forwardButtonEnabledHolder |
|
244 |
"return/create the 'backButtonEnabledHolder' value holder (automatically generated)" |
|
245 |
||
246 |
^(AspectAdaptor forAspect:#canGoForward) |
|
247 |
subjectChannel: self navigationHistoryHolder |
|
248 |
||
249 |
"Created: / 12-01-2008 / 19:13:49 / janfrog" |
|
250 |
"Modified: / 27-02-2008 / 12:11:26 / janfrog" |
|
251 |
! |
|
252 |
||
253 |
navigationHistoryHolder |
|
254 |
"return/create the 'currentItemHolder' value holder (automatically generated)" |
|
255 |
||
256 |
navigationHistoryHolder isNil ifTrue:[ |
|
257 |
navigationHistoryHolder := Tools::NavigationHistory new. |
|
258 |
]. |
|
259 |
^ navigationHistoryHolder |
|
260 |
||
261 |
"Created: / 21-02-2008 / 19:34:14 / janfrog" |
|
262 |
! |
|
263 |
||
264 |
navigationStateAspect |
|
265 |
||
266 |
navigationStateAspect ifNil: |
|
267 |
[navigationStateAspect := |
|
268 |
(AspectAdaptor forAspect: #currentItem) |
|
269 |
subjectChannel:self navigationHistoryHolder]. |
|
270 |
^navigationStateAspect |
|
271 |
||
272 |
"Created: / 27-02-2008 / 12:05:22 / janfrog" |
|
273 |
! |
|
274 |
||
275 |
tabLabelsAspect |
|
276 |
||
277 |
^ (AspectAdaptor forAspect:#tabLabels) |
|
278 |
subjectChannel: self navigationStateAspect |
|
279 |
||
280 |
"Created: / 16-01-2008 / 17:29:52 / janfrog" |
|
281 |
"Modified: / 27-02-2008 / 12:05:32 / janfrog" |
|
282 |
! |
|
283 |
||
284 |
tabSelectionIndexAspect |
|
285 |
^ ((AspectAdaptor forAspect:#selectionIndex) |
|
286 |
subjectChannel:self navigationStateAspect) |
|
287 |
onChangeEvaluate:[ self tabViewAspect changed ]; |
|
288 |
yourself |
|
289 |
||
290 |
"Created: / 16-01-2008 / 17:29:29 / janfrog" |
|
291 |
"Modified: / 27-02-2008 / 12:06:05 / janfrog" |
|
292 |
! |
|
293 |
||
294 |
tabViewAspect |
|
295 |
tabViewAspect |
|
296 |
ifNil:[ |
|
297 |
tabViewAspect := |
|
298 |
(AspectAdaptor forAspect:#selectionView) |
|
299 |
subjectChannel: self navigationStateAspect |
|
300 |
]. |
|
301 |
^ tabViewAspect |
|
302 |
||
303 |
"Created: / 16-01-2008 / 17:30:05 / janfrog" |
|
304 |
"Modified: / 27-02-2008 / 12:05:46 / janfrog" |
|
305 |
! |
|
306 |
||
307 |
windowTitleAspect |
|
308 |
^ (AspectAdaptor forAspect:#displayString) |
|
309 |
subjectChannel:self navigationStateAspect |
|
310 |
||
311 |
"Created: / 17-02-2008 / 08:42:21 / janfrog" |
|
312 |
"Modified: / 27-02-2008 / 12:05:56 / janfrog" |
|
313 |
! ! |
|
314 |
||
10379 | 315 |
!Inspector2 methodsFor:'menu'! |
316 |
||
317 |
backButtonMenuChannel |
|
318 |
^ [ self navigationHistoryHolder goBackMenu ] |
|
319 |
||
320 |
"Created: / 12-01-2008 / 18:57:08 / janfrog" |
|
321 |
"Modified: / 22-02-2008 / 16:57:46 / janfrog" |
|
322 |
! |
|
323 |
||
324 |
forwardButtonMenuChannel |
|
325 |
^ [ self navigationHistoryHolder goForwardMenu ] |
|
326 |
||
327 |
"Created: / 12-01-2008 / 18:57:30 / janfrog" |
|
328 |
"Modified: / 22-02-2008 / 16:58:11 / janfrog" |
|
329 |
! ! |
|
330 |
||
331 |
!Inspector2 methodsFor:'menu actions'! |
|
8779 | 332 |
|
333 |
backButtonAction |
|
10320 | 334 |
self navigationHistoryHolder goBack. |
335 |
self updateWindowLabel |
|
8779 | 336 |
|
337 |
"Modified: / 21-02-2008 / 19:40:23 / janfrog" |
|
10320 | 338 |
"Modified: / 15-07-2011 / 16:26:28 / cg" |
8779 | 339 |
! |
340 |
||
10379 | 341 |
browseClassAction |
342 |
||
343 |
| class | |
|
344 |
class := self currentObject class. |
|
8779 | 345 |
|
10379 | 346 |
browser isNil ifTrue:[ |
347 |
browser := Tools::NewSystemBrowser browseSingleClass: class |
|
348 |
] ifFalse:[ |
|
349 |
browser spawnSingleClassBrowserFor:class in:#newBuffer. |
|
350 |
browser window raise. |
|
351 |
] |
|
352 |
||
353 |
"Modified: / 23-07-2011 / 11:28:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
8779 | 354 |
! |
355 |
||
356 |
forwardButtonAction |
|
10320 | 357 |
self navigationHistoryHolder goForward. |
358 |
self updateWindowLabel |
|
8779 | 359 |
|
360 |
"Created: / 21-02-2008 / 19:52:03 / janfrog" |
|
10320 | 361 |
"Modified: / 15-07-2011 / 16:26:33 / cg" |
8779 | 362 |
! ! |
363 |
||
364 |
!Inspector2 methodsFor:'opening'! |
|
365 |
||
10311 | 366 |
closeDownViews |
367 |
LastExtent := self window extent. |
|
368 |
super closeDownViews. |
|
369 |
||
370 |
"Created: / 11-07-2011 / 22:33:47 / cg" |
|
371 |
! |
|
372 |
||
8779 | 373 |
historyTryPush: anObject |
374 |
||
375 |
"/ Pokud uz na anObject byl tak tam skocit, jinak pridat na konec |
|
376 |
self history do: [:item | |
|
377 |
item theObject == anObject ifTrue:[ ^item ] |
|
378 |
]. |
|
379 |
||
380 |
^ self history push:anObject. |
|
381 |
||
382 |
"Modified: / 16-01-2008 / 14:25:30 / janfrog" |
|
383 |
! |
|
384 |
||
385 |
inspect:anObject |
|
10320 | 386 |
self navigationHistoryHolder |
387 |
currentItem: (NavigationState for: anObject). |
|
8779 | 388 |
|
10320 | 389 |
self window notNil ifTrue:[ |
390 |
self updateWindowLabel |
|
391 |
]. |
|
8779 | 392 |
|
393 |
"Modified: / 27-02-2008 / 12:06:52 / janfrog" |
|
10320 | 394 |
"Modified: / 15-07-2011 / 16:26:03 / cg" |
8779 | 395 |
! |
396 |
||
397 |
openOn: anObject |
|
10311 | 398 |
self inspect: anObject. |
399 |
self openWithExtent:(LastExtent ? nil). |
|
8779 | 400 |
|
401 |
"Modified: / 13-01-2008 / 13:55:27 / janfrog" |
|
10311 | 402 |
"Modified: / 11-07-2011 / 22:31:42 / cg" |
10320 | 403 |
! |
404 |
||
405 |
postBuildWith:aBuilder |
|
406 |
self updateWindowLabel |
|
407 |
||
408 |
"Created: / 15-07-2011 / 16:25:36 / cg" |
|
409 |
! |
|
410 |
||
411 |
updateWindowLabel |
|
412 |
|object| |
|
413 |
||
10322
4c79efcd1926
changed: #updateWindowLabel
Claus Gittinger <cg@exept.de>
parents:
10320
diff
changeset
|
414 |
object := self navigationHistoryHolder currentItem theObject. |
10320 | 415 |
self window label:(InspectorView commonLabelFor:object). |
416 |
||
417 |
"Created: / 15-07-2011 / 16:25:42 / cg" |
|
8779 | 418 |
! ! |
419 |
||
420 |
!Inspector2::NavigationState class methodsFor:'creating classes'! |
|
421 |
||
422 |
for: anObject |
|
423 |
| item | |
|
424 |
item := self new. |
|
425 |
item theObject: anObject. |
|
426 |
^ item. |
|
427 |
! ! |
|
428 |
||
429 |
!Inspector2::NavigationState class methodsFor:'documentation'! |
|
430 |
||
9996 | 431 |
version |
10379 | 432 |
^'$Id: Tools__Inspector2.st,v 1.10 2011-07-23 10:41:37 vrany Exp $' |
9996 | 433 |
! |
434 |
||
8779 | 435 |
version_SVN |
8904
f051532eb303
update #version_SVN with § as keyword expansion character
fm
parents:
8816
diff
changeset
|
436 |
^'§Id: Tools__Inspector2.st 115 2009-04-16 12:47:07Z vranyj1 §' |
8779 | 437 |
! ! |
438 |
||
439 |
!Inspector2::NavigationState methodsFor:'accessing'! |
|
440 |
||
441 |
index |
|
442 |
^ index |
|
443 |
! |
|
444 |
||
445 |
index:something |
|
446 |
index := something. |
|
447 |
! |
|
448 |
||
449 |
selectionIndex |
|
450 |
selectionIndex ifNil:[^1]. |
|
451 |
selectionIndex < 1 ifTrue:[^1]. |
|
452 |
selectionIndex > tabs size ifTrue:[^tabs size]. |
|
453 |
^selectionIndex |
|
454 |
||
455 |
"Created: / 16-01-2008 / 17:24:27 / janfrog" |
|
456 |
"Modified: / 17-02-2008 / 10:20:35 / janfrog" |
|
457 |
! |
|
458 |
||
459 |
selectionIndex: anInteger |
|
460 |
selectionIndex := anInteger. |
|
461 |
self changed:#selectionIndex |
|
462 |
||
463 |
"Created: / 16-01-2008 / 17:27:52 / janfrog" |
|
464 |
"Modified: / 17-02-2008 / 09:46:45 / janfrog" |
|
465 |
! |
|
466 |
||
467 |
selectionView |
|
468 |
||
469 |
|tab| |
|
470 |
||
471 |
tab := self tabs at: self selectionIndex. |
|
472 |
^tab |
|
473 |
ifNil:[nil] |
|
474 |
ifNotNil:[tab view]. |
|
475 |
||
476 |
"Created: / 16-01-2008 / 17:31:19 / janfrog" |
|
477 |
! |
|
478 |
||
479 |
tabLabels |
|
480 |
||
481 |
^self tabs collect:[:tab | tab label] |
|
482 |
||
483 |
"Created: / 16-01-2008 / 17:14:07 / janfrog" |
|
484 |
! |
|
485 |
||
486 |
tabViews |
|
487 |
||
488 |
^self tabs collect:[:tab | tab view] |
|
489 |
||
490 |
"Created: / 16-01-2008 / 17:14:13 / janfrog" |
|
491 |
! |
|
492 |
||
493 |
tabs |
|
494 |
||
495 |
tabs ifNil:[self initializeTabs]. |
|
496 |
^tabs |
|
497 |
||
498 |
"Created: / 16-01-2008 / 16:51:53 / janfrog" |
|
499 |
! |
|
500 |
||
501 |
theObject |
|
502 |
^ theObject |
|
503 |
! |
|
504 |
||
505 |
theObject:anObject |
|
506 |
theObject := anObject. |
|
507 |
||
508 |
"Modified: / 17-02-2008 / 08:38:44 / janfrog" |
|
509 |
! ! |
|
510 |
||
511 |
!Inspector2::NavigationState methodsFor:'comparing'! |
|
512 |
||
513 |
= anotherState |
|
514 |
||
515 |
^self class == anotherState class |
|
516 |
and:[self theObject == anotherState theObject] |
|
517 |
||
518 |
"Created: / 21-02-2008 / 19:39:01 / janfrog" |
|
519 |
! |
|
520 |
||
521 |
hash |
|
522 |
||
523 |
^theObject hash |
|
524 |
||
525 |
"Created: / 21-02-2008 / 19:38:08 / janfrog" |
|
526 |
! ! |
|
527 |
||
528 |
!Inspector2::NavigationState methodsFor:'displaying'! |
|
529 |
||
530 |
displayString |
|
531 |
||
532 |
displayString ifNil: |
|
533 |
[displayString := theObject printString. |
|
534 |
displayString size > 15 ifTrue:[displayString := (displayString copyTo:12), '...']. |
|
535 |
displayString := displayString , ' [', theObject class name , ']']. |
|
536 |
^ displayString |
|
537 |
||
538 |
"Created: / 21-02-2008 / 19:53:07 / janfrog" |
|
539 |
! ! |
|
540 |
||
541 |
!Inspector2::NavigationState methodsFor:'initialization'! |
|
542 |
||
10379 | 543 |
initializeClassBrowserTab |
544 |
| browser | |
|
545 |
||
546 |
self notYetImplemented. |
|
547 |
||
548 |
||
549 |
tabs add: |
|
550 |
(Tools::Inspector2Tab new |
|
551 |
priority: 50; |
|
552 |
label:'Object'; |
|
553 |
view: ((theObject inspectorClass new inspect:theObject) |
|
554 |
yourself)) |
|
555 |
||
556 |
"Created: / 22-07-2011 / 18:48:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
557 |
! |
|
558 |
||
8779 | 559 |
initializeCommonTabs |
560 |
||
10379 | 561 |
"Unfinished code" |
562 |
"/self initializeClassBrowserTab |
|
563 |
||
9996 | 564 |
"/ tabs add: |
565 |
"/ (Tools::Inspector2Tab new |
|
566 |
"/ priority: 50; |
|
567 |
"/ label:'Object'; |
|
568 |
"/ view: ((theObject inspectorClass new inspect:theObject) |
|
569 |
"/ yourself)) |
|
8779 | 570 |
|
571 |
"Created: / 16-01-2008 / 16:56:48 / janfrog" |
|
572 |
"Modified: / 17-02-2008 / 10:29:54 / janfrog" |
|
10379 | 573 |
"Modified: / 22-07-2011 / 18:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8779 | 574 |
! |
575 |
||
576 |
initializeExtraTabs |
|
577 |
||
10206 | 578 |
"/ cg: I prefer using explicit getter - so I find them in the browser |
579 |
theObject inspector2Tabs do: [:selector| |
|
8779 | 580 |
| tab | |
581 |
tab := [ theObject perform: selector ] |
|
582 |
on: Error do: |
|
583 |
[:ex| |
|
584 |
Tools::Inspector2Tab new |
|
585 |
label: selector; |
|
586 |
text: |
|
587 |
(ex description, Character cr, Character cr, |
|
588 |
ex suspendedContext fullPrintString)]. |
|
589 |
(tab notNil and:[tab isKindOf: Tools::Inspector2Tab]) |
|
590 |
ifTrue:[tabs add: tab]]. |
|
591 |
||
592 |
"Created: / 16-01-2008 / 17:25:24 / janfrog" |
|
593 |
"Modified: / 17-02-2008 / 10:30:43 / janfrog" |
|
594 |
"Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>" |
|
10206 | 595 |
"Modified (comment): / 05-07-2011 / 13:43:23 / cg" |
8779 | 596 |
! |
597 |
||
598 |
initializeTabs |
|
599 |
||
600 |
tabs := OrderedCollection new. |
|
601 |
self initializeCommonTabs. |
|
602 |
self initializeExtraTabs. |
|
603 |
tabs := tabs asSortedCollection:[:a :b|a priority > b priority]. |
|
604 |
||
605 |
"Created: / 16-01-2008 / 16:54:28 / janfrog" |
|
606 |
"Modified: / 17-02-2008 / 10:08:04 / janfrog" |
|
607 |
! ! |
|
608 |
||
609 |
!Inspector2 class methodsFor:'documentation'! |
|
610 |
||
8807 | 611 |
version_CVS |
10379 | 612 |
^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.10 2011-07-23 10:41:37 vrany Exp $' |
8807 | 613 |
! |
614 |
||
8816 | 615 |
version_CVS_jvrany |
8904
f051532eb303
update #version_SVN with § as keyword expansion character
fm
parents:
8816
diff
changeset
|
616 |
^ '§Header: /opt/data/cvs/stx/goodies/libtool3/Inspector2.st,v 1.6 2008-02-27 13:45:23 vranyj1 Exp §' |
9996 | 617 |
! |
618 |
||
619 |
version_SVN |
|
620 |
^ '§Id: Tools__Inspector2.st 7486 2009-10-26 22:06:24Z vranyj1 §' |
|
8779 | 621 |
! ! |