author | Claus Gittinger <cg@exept.de> |
Fri, 29 Jul 2011 21:14:34 +0200 | |
changeset 10425 | c49cba2bd28e |
parent 10423 | 8215f496b6de |
child 10460 | 5e7e092fdd3b |
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 |
" |
|
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
57 |
UIPainter new openOnClass:Tools::Inspector2 andSelector:#windowSpec |
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
58 |
Tools::Inspector2 new openInterface:#windowSpec |
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
59 |
Tools::Inspector2 open |
8779 | 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' |
|
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
80 |
layout: (LayoutFrame 0 0 0 0 0 1 40 0) |
8779 | 81 |
menu: toolbarMenu |
82 |
textDefault: true |
|
83 |
) |
|
84 |
(NoteBookViewSpec |
|
85 |
name: 'NoteBook' |
|
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
86 |
layout: (LayoutFrame 0 0 40 0 0 1 0 1) |
8779 | 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 |
||
100 |
!Inspector2 class methodsFor:'menu specs'! |
|
101 |
||
102 |
toolbarMenu |
|
103 |
"This resource specification was automatically generated |
|
104 |
by the MenuEditor of ST/X." |
|
105 |
||
106 |
"Do not manually edit this!! If it is corrupted, |
|
107 |
the MenuEditor may not be able to read the specification." |
|
108 |
||
109 |
" |
|
10379 | 110 |
MenuEditor new openOnClass:Tools::Inspector2 andSelector:#toolbarMenu |
111 |
(Menu new fromLiteralArrayEncoding:(Tools::Inspector2 toolbarMenu)) startUp |
|
8779 | 112 |
" |
113 |
||
114 |
<resource: #menu> |
|
115 |
||
116 |
^ |
|
117 |
#(Menu |
|
118 |
( |
|
119 |
(MenuItem |
|
120 |
enabled: backButtonEnabledHolder |
|
121 |
label: 'Back' |
|
122 |
itemValue: backButtonAction |
|
123 |
translateLabel: true |
|
124 |
submenuChannel: backButtonMenuChannel |
|
125 |
labelImage: (ResourceRetriever XPToolbarIconLibrary historyBackIcon) |
|
126 |
) |
|
127 |
(MenuItem |
|
128 |
enabled: forwardButtonEnabledHolder |
|
129 |
label: 'Forward' |
|
130 |
itemValue: forwardButtonAction |
|
131 |
translateLabel: true |
|
132 |
submenuChannel: forwardButtonMenuChannel |
|
133 |
labelImage: (ResourceRetriever XPToolbarIconLibrary historyForwardIcon) |
|
134 |
) |
|
10379 | 135 |
(MenuItem |
136 |
label: '-' |
|
137 |
) |
|
138 |
(MenuItem |
|
139 |
label: 'Browse' |
|
140 |
itemValue: browseClassAction |
|
141 |
translateLabel: true |
|
142 |
isButton: true |
|
143 |
labelImage: (ResourceRetriever ToolbarIconLibrary startNewSystemBrowserIcon22x22) |
|
144 |
) |
|
8779 | 145 |
) |
146 |
nil |
|
147 |
nil |
|
148 |
) |
|
149 |
! ! |
|
150 |
||
151 |
!Inspector2 class methodsFor:'startup'! |
|
152 |
||
153 |
openOn: anObject |
|
154 |
||
10311 | 155 |
self new |
156 |
openOn: anObject. |
|
8779 | 157 |
|
158 |
"Modified: / 17-02-2008 / 10:29:45 / janfrog" |
|
10311 | 159 |
"Modified (format): / 11-07-2011 / 22:28:03 / cg" |
8779 | 160 |
! ! |
161 |
||
162 |
!Inspector2 class methodsFor:'testing'! |
|
163 |
||
164 |
testSimpleShow |
|
165 |
|ins| |
|
166 |
||
167 |
ins := Inspector2 openOn:4. |
|
168 |
ins inspect:10. |
|
169 |
ins inspect:42. |
|
170 |
ins inspect:'dead one'. |
|
171 |
ins inspect:'rolled back'. |
|
172 |
||
173 |
"/ins inspectItem: (ins history at: 3). "/ Rollback history, zustanou jen prvni 3 |
|
174 |
||
175 |
ins inspect:'xFuj'. |
|
176 |
||
177 |
"Modified: / 11-01-2008 / 20:36:37 / janfrog" |
|
178 |
! ! |
|
179 |
||
180 |
!Inspector2 methodsFor:'accessing'! |
|
181 |
||
182 |
backButtonEnabled: value |
|
183 |
||
184 |
^self backButtonEnabledHolder value: value |
|
185 |
||
186 |
"Created: / 12-01-2008 / 19:14:35 / janfrog" |
|
187 |
! |
|
188 |
||
189 |
currentObject |
|
190 |
^ self navigationState theObject |
|
191 |
||
192 |
"Created: / 13-01-2008 / 10:14:47 / janfrog" |
|
193 |
"Modified: / 17-02-2008 / 09:49:01 / janfrog" |
|
194 |
! |
|
195 |
||
196 |
currentState |
|
197 |
^ self navigationHistoryHolder currentItem |
|
198 |
||
199 |
"Created: / 21-02-2008 / 19:39:45 / janfrog" |
|
200 |
"Modified: / 27-02-2008 / 11:56:55 / janfrog" |
|
201 |
! |
|
202 |
||
203 |
forwardButtonEnabled: value |
|
204 |
||
205 |
^self forwardButtonEnabledHolder value: value |
|
206 |
||
207 |
"Created: / 12-01-2008 / 19:14:48 / janfrog" |
|
208 |
! |
|
209 |
||
210 |
navigationState |
|
10379 | 211 |
^ self navigationHistoryHolder value currentItem |
8779 | 212 |
|
213 |
"Created: / 17-02-2008 / 09:49:01 / janfrog" |
|
214 |
"Modified: / 21-02-2008 / 19:34:14 / janfrog" |
|
10379 | 215 |
"Modified: / 22-07-2011 / 19:13:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8779 | 216 |
! |
217 |
||
218 |
navigationState:historyItem |
|
10379 | 219 |
self navigationHistoryHolder "subjectChannel:" value currentItem:historyItem. |
8779 | 220 |
|
221 |
"/self fixNavigation. "Nevola se kvuli problemu s prekreslovanim" |
|
222 |
"/self updateTabs. |
|
223 |
||
224 |
"Created: / 17-02-2008 / 09:49:11 / janfrog" |
|
225 |
"Modified: / 21-02-2008 / 19:47:26 / janfrog" |
|
10379 | 226 |
"Modified: / 22-07-2011 / 19:13:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8779 | 227 |
! ! |
228 |
||
229 |
!Inspector2 methodsFor:'aspects'! |
|
230 |
||
231 |
backButtonEnabledHolder |
|
232 |
"return/create the 'backButtonEnabledHolder' value holder (automatically generated)" |
|
233 |
||
234 |
^(AspectAdaptor forAspect:#canGoBack) |
|
235 |
subjectChannel: self navigationHistoryHolder |
|
236 |
||
237 |
"Created: / 12-01-2008 / 19:13:49 / janfrog" |
|
238 |
"Modified: / 27-02-2008 / 12:11:30 / janfrog" |
|
239 |
! |
|
240 |
||
241 |
forwardButtonEnabledHolder |
|
242 |
"return/create the 'backButtonEnabledHolder' value holder (automatically generated)" |
|
243 |
||
244 |
^(AspectAdaptor forAspect:#canGoForward) |
|
245 |
subjectChannel: self navigationHistoryHolder |
|
246 |
||
247 |
"Created: / 12-01-2008 / 19:13:49 / janfrog" |
|
248 |
"Modified: / 27-02-2008 / 12:11:26 / janfrog" |
|
249 |
! |
|
250 |
||
251 |
navigationHistoryHolder |
|
252 |
"return/create the 'currentItemHolder' value holder (automatically generated)" |
|
253 |
||
254 |
navigationHistoryHolder isNil ifTrue:[ |
|
255 |
navigationHistoryHolder := Tools::NavigationHistory new. |
|
256 |
]. |
|
257 |
^ navigationHistoryHolder |
|
258 |
||
259 |
"Created: / 21-02-2008 / 19:34:14 / janfrog" |
|
260 |
! |
|
261 |
||
262 |
navigationStateAspect |
|
263 |
||
264 |
navigationStateAspect ifNil: |
|
265 |
[navigationStateAspect := |
|
266 |
(AspectAdaptor forAspect: #currentItem) |
|
267 |
subjectChannel:self navigationHistoryHolder]. |
|
268 |
^navigationStateAspect |
|
269 |
||
270 |
"Created: / 27-02-2008 / 12:05:22 / janfrog" |
|
271 |
! |
|
272 |
||
273 |
tabLabelsAspect |
|
274 |
||
275 |
^ (AspectAdaptor forAspect:#tabLabels) |
|
276 |
subjectChannel: self navigationStateAspect |
|
277 |
||
278 |
"Created: / 16-01-2008 / 17:29:52 / janfrog" |
|
279 |
"Modified: / 27-02-2008 / 12:05:32 / janfrog" |
|
280 |
! |
|
281 |
||
282 |
tabSelectionIndexAspect |
|
283 |
^ ((AspectAdaptor forAspect:#selectionIndex) |
|
284 |
subjectChannel:self navigationStateAspect) |
|
285 |
onChangeEvaluate:[ self tabViewAspect changed ]; |
|
286 |
yourself |
|
287 |
||
288 |
"Created: / 16-01-2008 / 17:29:29 / janfrog" |
|
289 |
"Modified: / 27-02-2008 / 12:06:05 / janfrog" |
|
290 |
! |
|
291 |
||
292 |
tabViewAspect |
|
293 |
tabViewAspect |
|
294 |
ifNil:[ |
|
295 |
tabViewAspect := |
|
296 |
(AspectAdaptor forAspect:#selectionView) |
|
297 |
subjectChannel: self navigationStateAspect |
|
298 |
]. |
|
299 |
^ tabViewAspect |
|
300 |
||
301 |
"Created: / 16-01-2008 / 17:30:05 / janfrog" |
|
302 |
"Modified: / 27-02-2008 / 12:05:46 / janfrog" |
|
303 |
! |
|
304 |
||
305 |
windowTitleAspect |
|
306 |
^ (AspectAdaptor forAspect:#displayString) |
|
307 |
subjectChannel:self navigationStateAspect |
|
308 |
||
309 |
"Created: / 17-02-2008 / 08:42:21 / janfrog" |
|
310 |
"Modified: / 27-02-2008 / 12:05:56 / janfrog" |
|
311 |
! ! |
|
312 |
||
10379 | 313 |
!Inspector2 methodsFor:'menu'! |
314 |
||
315 |
backButtonMenuChannel |
|
316 |
^ [ self navigationHistoryHolder goBackMenu ] |
|
317 |
||
318 |
"Created: / 12-01-2008 / 18:57:08 / janfrog" |
|
319 |
"Modified: / 22-02-2008 / 16:57:46 / janfrog" |
|
320 |
! |
|
321 |
||
322 |
forwardButtonMenuChannel |
|
323 |
^ [ self navigationHistoryHolder goForwardMenu ] |
|
324 |
||
325 |
"Created: / 12-01-2008 / 18:57:30 / janfrog" |
|
326 |
"Modified: / 22-02-2008 / 16:58:11 / janfrog" |
|
327 |
! ! |
|
328 |
||
329 |
!Inspector2 methodsFor:'menu actions'! |
|
8779 | 330 |
|
331 |
backButtonAction |
|
10320 | 332 |
self navigationHistoryHolder goBack. |
333 |
self updateWindowLabel |
|
8779 | 334 |
|
335 |
"Modified: / 21-02-2008 / 19:40:23 / janfrog" |
|
10320 | 336 |
"Modified: / 15-07-2011 / 16:26:28 / cg" |
8779 | 337 |
! |
338 |
||
10379 | 339 |
browseClassAction |
340 |
||
341 |
| class | |
|
342 |
class := self currentObject class. |
|
8779 | 343 |
|
10379 | 344 |
browser isNil ifTrue:[ |
345 |
browser := Tools::NewSystemBrowser browseSingleClass: class |
|
346 |
] ifFalse:[ |
|
347 |
browser spawnSingleClassBrowserFor:class in:#newBuffer. |
|
348 |
browser window raise. |
|
349 |
] |
|
350 |
||
351 |
"Modified: / 23-07-2011 / 11:28:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
8779 | 352 |
! |
353 |
||
354 |
forwardButtonAction |
|
10320 | 355 |
self navigationHistoryHolder goForward. |
356 |
self updateWindowLabel |
|
8779 | 357 |
|
358 |
"Created: / 21-02-2008 / 19:52:03 / janfrog" |
|
10320 | 359 |
"Modified: / 15-07-2011 / 16:26:33 / cg" |
8779 | 360 |
! ! |
361 |
||
362 |
!Inspector2 methodsFor:'opening'! |
|
363 |
||
10311 | 364 |
closeDownViews |
365 |
LastExtent := self window extent. |
|
366 |
super closeDownViews. |
|
367 |
||
368 |
"Created: / 11-07-2011 / 22:33:47 / cg" |
|
369 |
! |
|
370 |
||
8779 | 371 |
historyTryPush: anObject |
372 |
||
373 |
"/ Pokud uz na anObject byl tak tam skocit, jinak pridat na konec |
|
374 |
self history do: [:item | |
|
375 |
item theObject == anObject ifTrue:[ ^item ] |
|
376 |
]. |
|
377 |
||
378 |
^ self history push:anObject. |
|
379 |
||
380 |
"Modified: / 16-01-2008 / 14:25:30 / janfrog" |
|
381 |
! |
|
382 |
||
383 |
inspect:anObject |
|
10320 | 384 |
self navigationHistoryHolder |
385 |
currentItem: (NavigationState for: anObject). |
|
8779 | 386 |
|
10320 | 387 |
self window notNil ifTrue:[ |
388 |
self updateWindowLabel |
|
389 |
]. |
|
8779 | 390 |
|
391 |
"Modified: / 27-02-2008 / 12:06:52 / janfrog" |
|
10320 | 392 |
"Modified: / 15-07-2011 / 16:26:03 / cg" |
8779 | 393 |
! |
394 |
||
395 |
openOn: anObject |
|
10311 | 396 |
self inspect: anObject. |
397 |
self openWithExtent:(LastExtent ? nil). |
|
8779 | 398 |
|
399 |
"Modified: / 13-01-2008 / 13:55:27 / janfrog" |
|
10311 | 400 |
"Modified: / 11-07-2011 / 22:31:42 / cg" |
10320 | 401 |
! |
402 |
||
403 |
postBuildWith:aBuilder |
|
404 |
self updateWindowLabel |
|
405 |
||
406 |
"Created: / 15-07-2011 / 16:25:36 / cg" |
|
407 |
! |
|
408 |
||
409 |
updateWindowLabel |
|
10423
8215f496b6de
changed: #updateWindowLabel
Claus Gittinger <cg@exept.de>
parents:
10392
diff
changeset
|
410 |
|currentItem object| |
10320 | 411 |
|
10423
8215f496b6de
changed: #updateWindowLabel
Claus Gittinger <cg@exept.de>
parents:
10392
diff
changeset
|
412 |
(currentItem := self navigationHistoryHolder currentItem) notNil ifTrue:[ |
8215f496b6de
changed: #updateWindowLabel
Claus Gittinger <cg@exept.de>
parents:
10392
diff
changeset
|
413 |
object := currentItem theObject. |
8215f496b6de
changed: #updateWindowLabel
Claus Gittinger <cg@exept.de>
parents:
10392
diff
changeset
|
414 |
]. |
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 |
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
432 |
^'$Id: Tools__Inspector2.st,v 1.13 2011-07-29 19:14:34 cg 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 |
||
10392 | 532 |
displayString isNil ifTrue:[ |
533 |
displayString := theObject printString contractAtEndTo:15. |
|
534 |
displayString := displayString , ' [', theObject class name , ']' |
|
535 |
]. |
|
8779 | 536 |
^ displayString |
537 |
||
538 |
"Created: / 21-02-2008 / 19:53:07 / janfrog" |
|
10392 | 539 |
"Modified: / 25-07-2011 / 10:50:52 / cg" |
8779 | 540 |
! ! |
541 |
||
542 |
!Inspector2::NavigationState methodsFor:'initialization'! |
|
543 |
||
10379 | 544 |
initializeClassBrowserTab |
545 |
| browser | |
|
546 |
||
547 |
self notYetImplemented. |
|
548 |
||
549 |
||
550 |
tabs add: |
|
551 |
(Tools::Inspector2Tab new |
|
552 |
priority: 50; |
|
553 |
label:'Object'; |
|
554 |
view: ((theObject inspectorClass new inspect:theObject) |
|
555 |
yourself)) |
|
556 |
||
557 |
"Created: / 22-07-2011 / 18:48:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
558 |
! |
|
559 |
||
8779 | 560 |
initializeCommonTabs |
561 |
||
10379 | 562 |
"Unfinished code" |
563 |
"/self initializeClassBrowserTab |
|
564 |
||
9996 | 565 |
"/ tabs add: |
566 |
"/ (Tools::Inspector2Tab new |
|
567 |
"/ priority: 50; |
|
568 |
"/ label:'Object'; |
|
569 |
"/ view: ((theObject inspectorClass new inspect:theObject) |
|
570 |
"/ yourself)) |
|
8779 | 571 |
|
572 |
"Created: / 16-01-2008 / 16:56:48 / janfrog" |
|
573 |
"Modified: / 17-02-2008 / 10:29:54 / janfrog" |
|
10379 | 574 |
"Modified: / 22-07-2011 / 18:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8779 | 575 |
! |
576 |
||
577 |
initializeExtraTabs |
|
578 |
||
10206 | 579 |
"/ cg: I prefer using explicit getter - so I find them in the browser |
580 |
theObject inspector2Tabs do: [:selector| |
|
8779 | 581 |
| tab | |
582 |
tab := [ theObject perform: selector ] |
|
583 |
on: Error do: |
|
584 |
[:ex| |
|
585 |
Tools::Inspector2Tab new |
|
586 |
label: selector; |
|
587 |
text: |
|
588 |
(ex description, Character cr, Character cr, |
|
589 |
ex suspendedContext fullPrintString)]. |
|
590 |
(tab notNil and:[tab isKindOf: Tools::Inspector2Tab]) |
|
591 |
ifTrue:[tabs add: tab]]. |
|
592 |
||
593 |
"Created: / 16-01-2008 / 17:25:24 / janfrog" |
|
594 |
"Modified: / 17-02-2008 / 10:30:43 / janfrog" |
|
595 |
"Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>" |
|
10206 | 596 |
"Modified (comment): / 05-07-2011 / 13:43:23 / cg" |
8779 | 597 |
! |
598 |
||
599 |
initializeTabs |
|
600 |
||
601 |
tabs := OrderedCollection new. |
|
602 |
self initializeCommonTabs. |
|
603 |
self initializeExtraTabs. |
|
604 |
tabs := tabs asSortedCollection:[:a :b|a priority > b priority]. |
|
605 |
||
606 |
"Created: / 16-01-2008 / 16:54:28 / janfrog" |
|
607 |
"Modified: / 17-02-2008 / 10:08:04 / janfrog" |
|
608 |
! ! |
|
609 |
||
610 |
!Inspector2 class methodsFor:'documentation'! |
|
611 |
||
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
612 |
version |
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
613 |
^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.13 2011-07-29 19:14:34 cg Exp $' |
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
614 |
! |
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
615 |
|
8807 | 616 |
version_CVS |
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
617 |
^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.13 2011-07-29 19:14:34 cg Exp $' |
8807 | 618 |
! |
619 |
||
8816 | 620 |
version_CVS_jvrany |
8904
f051532eb303
update #version_SVN with § as keyword expansion character
fm
parents:
8816
diff
changeset
|
621 |
^ '§Header: /opt/data/cvs/stx/goodies/libtool3/Inspector2.st,v 1.6 2008-02-27 13:45:23 vranyj1 Exp §' |
9996 | 622 |
! |
623 |
||
624 |
version_SVN |
|
625 |
^ '§Id: Tools__Inspector2.st 7486 2009-10-26 22:06:24Z vranyj1 §' |
|
8779 | 626 |
! ! |