author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Sun, 05 Feb 2012 01:49:41 +0000 | |
branch | jv |
changeset 12144 | 18c25ec50d96 |
parent 12128 | a7ff7d66ee85 |
child 12158 | 54259ef3a49d |
permissions | -rw-r--r-- |
" COPYRIGHT (c) 2006 by eXept Software AG All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred. " "{ Package: 'stx:libtool' }" "{ NameSpace: Tools }" ApplicationModel subclass:#Inspector2 instanceVariableNames:'tabViewAspect navigationHistoryHolder navigationStateAspect browser currentObjectHolder colorProfileHolder toolbarBackgroundHolder' classVariableNames:'LastExtent ColorProfiles' poolDictionaries:'' category:'Interface-Inspector2' ! Model subclass:#NavigationState instanceVariableNames:'theObject index tabs selectionIndex displayString' classVariableNames:'' poolDictionaries:'' privateIn:Inspector2 ! !Inspector2 class methodsFor:'documentation'! copyright " COPYRIGHT (c) 2006 by eXept Software AG All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred. " ! description " an application for a multitab inspector extendable by the inspected object itself, by providing additional tabs via the inspector2XXX methods [author:] Jan Vrani " ! ! !Inspector2 class methodsFor:'initialization'! initialize "Invoked at system start or when the class is dynamically loaded." "/ please change as required (and remove this comment) ColorProfiles := Dictionary new. ColorProfiles at: #default put: nil; "default color" at: #red put: Color red lighter lighter; at: #green put: Color green lighter; at: #blue put: Color blue lighter; at: #yellow put: Color yellow lighter; at: #gray put: Color gray; yourself. "Modified: / 17-01-2012 / 12:57:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! ! !Inspector2 class methodsFor:'help specs'! flyByHelpSpec "This resource specification was automatically generated by the UIHelpTool of ST/X." "Do not manually edit this!! If it is corrupted, the UIHelpTool may not be able to read the specification." " UIHelpTool openOnClass:Tools::Inspector2 " <resource: #help> ^ super flyByHelpSpec addPairsFrom:#( #backwardInVisitingHistory 'Move backward in the history of previously visited objects' #browseClassOfShownObject 'Open a SystemBrowser on the shown object''s class' #browseFile 'Open a FileBrowser on the file represented by the shown object' #editImage 'Open an ImageEditor on the bitmap/image represented by the shown object' #forwardInVisitingHistory 'Move forward in the history of previously visited objects' #colorProfile 'Change the color profile' #refresh 'Refresh for changed object' ) "Created: / 19-08-2011 / 08:52:33 / cg" ! ! !Inspector2 class methodsFor:'image specs'! settingsIcon ^self settingsIcon5 "Modified: / 17-01-2012 / 12:45:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" "Modified: / 19-01-2012 / 14:00:35 / cg" ! settingsIcon1 "This resource specification was automatically generated by the ImageEditor of ST/X." "Do not manually edit this!! If it is corrupted, the ImageEditor may not be able to read the specification." " self settingsIcon inspect ImageEditor openOnClass:self andSelector:#settingsIcon Icon flushCachedIcons " <resource: #image> ^Icon constantNamed:'Tools::Inspector2 class settingsIcon' ifAbsentPut:[(Depth24Image new) width: 24; height: 24; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[G*LY'':\Y'':\Y'':\Y'':\Y'':\Y'':\Y'':\Y'':\Y''6\ YW6[YG.ZX7.YX7*YX7*YX7*YX7.YYG.ZYW6[[G*L@@@@@@@@@@@@@@@@YW6["Y:4"Y:4"Y:4"9>4#*F4$JJ4$*N5$:R5$*N4#Y>2!!)&/_9R,^)F+^H>*]8>* ^YF+_YR- 9&0YG2Z@@@@@@@@@@@@@@@@YW6[!!I.2!!923"):3#JB3#*B3#*F3#*F4#:F4#I>3!!9*0)J65)J65)J65)J65)J65)J65)J65^YF,X7*Y@@@@@@@@ @@@@@@@@YW6[ 9&1!!)*1!!9.1!!921!!921!!9.1!!9.1!!9.1!!)*1 YZ.]86()J65.[&9.[&9.[&9.[&9.[&9[8&(X''*X@@@@@@@@@@@@@@@@YG2Z_)V._YV-_IR- ^9R.^9R.^9R.^9R.^9R.^)N-](>*[HZ%XG.](:24.K"8.K"8.K"8.K"8ZHN#XW"W@@@@@@@@@@@@@@@@YG2Z]H:+\8:+\X:,\(>,\(>,\(>,\(>,\X:+[82* Z(^''X'': (:24.K"8.K"8.K"8.K"8.K"8YG>!!XW"W@@@@@@@@@@@@@@@@X7.YZ8"(ZX*)ZX*)ZX*)ZX*)ZX*)ZX*)ZX&)YXV&W7:!!(*.3-;^7-;^7-;^7-;^7 -;^7-;^7XG6 XG^V@@@@@@@@@@@@@@@@X7.YY(N&X8Z(X8Z(X8Z(X8Z(X8Z(X8Z(X(R(W8B$(*.3-;^7-;^7-;^7-;^7T''BX-;^7-;^7WG2 XG"V@@@@@@@@ @@@@@@@@X7.YXW>$W8R(W8R(W8R(W8R(W8R(W8R(W(N''WHB$U''&_-;^7-;^7-;^7UGV\U''"_U''&_-;^7V'':#XW"W@@@@@@@@@@@@@@@@X''*XW''2"WHJ''WHJ'' WHJ''WHJ''V(B&VG:%VW>&V(B&U7.#T7^_-+Z6T7^_U''."VG6$VG:$VG6$VW>%XW&W@@@@@@@@@@@@@@@@X''*XV''& U7>&VXF''V(N(VXF''T7&!!(Z*2T7&!!VHB'' VXF''U7>%U''6$U7>%VXF''V(J(V(J(VXF''V(J(X''&X@@@@@@@@@@@@@@@@X''*XV7"_(Z*2UW2#VXJ''UW2#(Z*2-+Z6-+Z6UW2#V(N(V8V*V8R)V8V*V(V*V8V* V8Z*WHZ*V8Z*X''*X@@@@@@@@@@@@@@@@X''*XWW* (Z*2(Z*2UW*!!(Z*2-+Z6-+Z6-+Z6-+Z6W8^+X82.X82.X82.X82.X82.X82.X82.X8.-X''*X@@@@@@@@ @@@@@@@@XW&WXW6"(J&1-[V5(J&1-[V5-[V5-[V5-[V5XXZ''Z(>-[IF/[IF/[IF/[IF/[IF/[IF/[IF/W(..XW&W@@@@@@@@@@@@@@@@XW&WY(J%(J&1-[V5 -[V5-[V5-[V5-[V5ZX.(\)V/]Y^1]Y^1]Y^1]Y^1]Y^1]Y^1]Y^1]Y^1W(:1XW&W@@@@@@@@@@@@@@@@XG"VZ(V&'':"0-KR4-KR4-KR4-KR4Y(Z$])V-_I*1 _I*1_I*1_I*1_I*1_I*1_I*1_I*1^9*1WX>1XG"V@@@@@@@@@@@@@@@@XG"V[H^'''':"0-KR4-KR4-KR4-KR4-KR4\(>(_Y*/ I61 I61 I61 I61 I61 I61 I21 I21XH>1XG"V@@@@@@@@@@@@@@@@XG"V[(**'':"0-KR4-KR4-KR4-KR4-KR4-KR4^)^. I61 I61 I61 I61 I61_961_961_921Y(:0XG"V@@@@@@@@ @@@@@@@@W7^U\H2,[(&)[X"''[(&''[(&''[8&''\H*''\(2)]9F,^)N.^YJ.^YJ.^IF.]YB.\(:-\H6-[X2-[H.-W7^U@@@@@@@@@@@@@@@@X''BBW7^UW7^UW7^U W7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UXF:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@') ; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<@@@@@@@@') ; yourself); yourself] "Created: / 17-01-2012 / 12:45:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! settingsIcon2 "This resource specification was automatically generated by the ImageEditor of ST/X." "Do not manually edit this!! If it is corrupted, the ImageEditor may not be able to read the specification." " self settingsIcon2 inspect ImageEditor openOnClass:self andSelector:#settingsIcon2 Icon flushCachedIcons " <resource: #image> ^Icon constantNamed:'Tools::Inspector2 class settingsIcon2' ifAbsentPut:[(Depth24Image new) width: 24; height: 24; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:' UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"9J["IR#"IR#"IR#"IR#"IR#"IR#"IR#"IR#"IN# !!9N"!!9J"!!)J!!!!)J!!!!)J!!!!)J!!!!)J!!!!9J"!!9N""9J[UUUUUUUUUUUUUUUU!!9N"&ZR/&ZR/&ZR/&*R/''JV/''ZZ/''*Z/''*^/''*Z/&:R.&JF,%I>+$)6*$Y2*$I2* $Y6*$9>+%*F-!!9N"UUUUUUUUUUUUUUUU!!9N"%:J.&JN.&*R.&:V.''JV.''JV.''JV/''JV/&:R.&JJ-4][Z4][Z4][Z4][Z4][Z4][Z4][Z$Y6+!!)J!!UUUUUUUU UUUUUUUU!!9N"%*F-&JJ-&JJ-&JN-&JN-&JJ-&JJ-&JJ-&JJ-%ZB,$I.)4][Z7M3\7M3\7M3\7M3\7M3\#I&)!!)J!!UUUUUUUUUUUUUUUU!!9N"%I>,$9>+$9>+ $)>,$)>,$)>,$)>,$)>,$):+$I2*"9"''!!YJ#)*./6=/[6=/[6=/[6=/["YZ&!!YF UUUUUUUUUUUUUUUU!!9N"#92*#)2*#Y2+#)2+#)2+#)2+#)2+#Y2*#I.* ")"(!!)R%)*./6=/[6=/[6=/[6=/[6=/[!!9R%!!YF UUUUUUUUUUUUUUUU!!)J!!")&)"Y*)"Y*)"Y*)"Y*)"Y*)"Y*)"Y&)!!9^(!!IR%)**.6=/[6=/[6=/[6=/[ 6=/[6=/[!!YN%!!YB UUUUUUUUUUUUUUUU!!)J!!"IZ(!!)")!!)")!!)")!!)")!!)")!!)")!!)^)!!IV'')**.6=/[6=/[6=/[6=/[_(6!!6=/[6=/[ 9N%!!YF UUUUUUUU UUUUUUUU!!)J!!!!YR''!!I^)!!I^)!!I^)!!I^)!!I^)!!I^)!!IZ( 9V'' IF$6=/[6=/[6=/[_8># IF$ IF$6=/[ )R&!!YF UUUUUUUUUUUUUUUU!!)J!!!!IN& 9Z( 9Z( 9Z( 9Z( )V( YR'' YR( )V( IJ&_)B$6-+Z_)B$ IJ& YN'' YR'' YN'' YR''!!YF UUUUUUUUUUUUUUUU!!)J!! )F% IR( YV( )Z) YV(_)F%)Z*._)F% YV( YV( IR'' IN'' IR'' YV( )Z) )Z) YV( )Z)!!)F!!UUUUUUUUUUUUUUUU!!)J!! )F$)Z*._9N& YZ(_9N&)Z*.6-+Z6-+Z_9N& )Z) )^* )^) )^* )^* )^* )"* 9"* )"*!!)J!!UUUUUUUUUUUUUUUU!!)J!! 9J%)Z*.)Z*._9J%)Z*.6-+Z6-+Z6-+Z6-+Z!!I"*!!).,!!).,!!).,!!).,!!).,!!).,!!).,!!)*+!!)J!!UUUUUUUU UUUUUUUU!!YF !!YN&)Z&-6-+Z)Z&-6-+Z6-+Z6-+Z6-+Z!!Y"(")2+"96,"96,"96,"96,"96,"96,"96,!!I*,!!YF UUUUUUUUUUUUUUUU!!YF "IZ'')Z&-6-+Z 6-+Z6-+Z6-+Z6-+Z"Y*)#)>,#:B-#:B-#:B-#:B-#:B-#:B-#:B-#:B-!!I2-!!YF UUUUUUUUUUUUUUUU!!YF ")^()J&-6]''Y6]''Y6]''Y6]''Y"I"''$I>+$:J- $:J-$:J-$:J-$:J-$:J-$:J-$:J-$*J- 92-!!YF UUUUUUUUUUUUUUUU!!YF "9"()J&-6]''Y6]''Y6]''Y6]''Y6]''Y#)2)$:J,%ZN-%ZN-%ZN-%ZN-%ZN-%ZN- %ZN-%ZN-!!Y2-!!YF UUUUUUUUUUUUUUUU!!YF #I**)J&-6]''Y6]''Y6]''Y6]''Y6]''Y6]''Y$*B,%ZN-%ZN-%ZN-%ZN-%ZN-%JN-%JN-%JN-"I2-!!YF UUUUUUUU UUUUUUUU!!IB_#Y.+#I&)"9&(#I&(#I&(#I&(#Y*(#).)$I6+$):,$Y:,$Y:,$Y6,#96,#)2+#Y.+"9.+"9*+!!IB_UUUUUUUUUUUUUUUU!!(6V!!IB_!!IB_!!IB_ !!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!X2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUUUUUUUUUUUUU') ; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<@@@@@@@@') ; yourself); yourself] ! settingsIcon3 "This resource specification was automatically generated by the ImageEditor of ST/X." "Do not manually edit this!! If it is corrupted, the ImageEditor may not be able to read the specification." " self settingsIcon3 inspect ImageEditor openOnClass:self andSelector:#settingsIcon3 Icon flushCachedIcons " <resource: #image> ^Icon constantNamed:'Tools::Inspector2 class settingsIcon3' ifAbsentPut:[(Depth24Image new) width: 24; height: 24; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TZC?V*_?V*_?V*_?V*_?V*_?V*_?V*_?V*_?V*S? VJ[?UZO?TJK?TI??TI??TI??TJK?UZO?VJ[?TZC?@@@@@@@@@@@@@@@@VJ[?,]_?,]_?,]_?-]7?/NC?/>C?0=??1^C?0^K?-=7?*-G?&L+?"<W?!!<G?!!LO? "\W?$<+?(]C?UZO?@@@@@@@@@@@@@@@@VJ[?)]''?+]S?-M_?-=7?/M/?/M/?/NC?/-3?-=7?+MK?7OC?7OC?7OC?7OC?7OC?7OC?7OC?"<S?TI??@@@@@@@@ @@@@@@@@VJ[?(]W?*]G?*=S?*=+?*=+?*=S?*=S?*=S?*]G?''L3?!![??7OC?????????????????????[+''?S:G?@@@@@@@@@@@@@@@@UZO?%\/?$<+?$\''? #,''?#,''?#,''?#,''?#,''?#\#? <O?Y;S?QZK?6.????7=??7=??7=??7=W;C?SI??@@@@@@@@@@@@@@@@UZO?^<K?^LC?\,G?]<K?]<K?]<K?]<K?]LW?\LO? X;W?TZ_?6.????7=??7=??7=??7=??7=UZ#?SI??@@@@@@@@@@@@@@@@TJK?Y[[?XLO?XLO?XLO?XLO?XLO?XLO?XLC?T;S?QZ/?5>7???+:??+:??+:??+: ??+:??+:RZ[?RI3?@@@@@@@@@@@@@@@@TJK?VJ??S+''?S+''?S+''?S+''?S+''?S+''?S[K?Q*7?5>7???+:??+:??+:??+:DH''???+:??+:OJW?RI3?@@@@@@@@ @@@@@@@@TJK?R:_?Q[''?Q[''?Q[''?Q[''?Q[''?Q[''?P[W?OKG?HZG???+:??+:??+:FY+?HY;?HZG???+:M:+?SI??@@@@@@@@@@@@@@@@S:G?P*W?N;S?N;S? N;S?N;S?N[G?KZ+?L*/?N[G?J*S?E9???/#8E9??IZO?J:''?J;G?J:''?L[C?SJK?@@@@@@@@@@@@@@@@S:G?L9;?J+K?L+W?MK''?L+W?EJO?5^3?EJO?K;O? L+W?J+K?I+C?J+K?L+W?MK[?MK[?L+W?MK[?S9;?@@@@@@@@@@@@@@@@S:G?M9/?5^3?HZ_?L+#?HZ_?5^3??/#8?/#8HZ_?MK''?M+/?NK+?M+/?MK7?M+/? M+;?N[;?M+;?S:G?@@@@@@@@@@@@@@@@S:G?O:C?5^3?5^3?HJS?5^3??/#8?/#8?/#8?/#8P+;?S,[?S,[?S,[?S,[?S,[?S,[?S,[?S,W?S:G?@@@@@@@@ @@@@@@@@SJK?RZK?4^+???S44^+???S4??S4??S4??S4R[3?XL3?Y,;?Y,;?Y,;?Y,;?Y,;?Y,;?Y,;?O<_?SJK?@@@@@@@@@@@@@@@@SJK?VZ7?4^+???S4 ??S4??S4??S4??S4XLO?]-K?_=S?_=S?_=S?_=S?_=S?_=S?_=S?_=S?O,??SJK?@@@@@@@@@@@@@@@@RI3?YKG?3>''???K2??K2??K2??K2V;/? =K?$]#? $]#?$]#?$]#?$]#?$]#?$]#?$]#?#=_?O]O?RI3?@@@@@@@@@@@@@@@@RI3?ZK[?3>''???K2??K2??K2??K2??K2]L#?%]_?&-7?&-7?&-7?&-7?&-7?&-7? &-+?&-+?P<7?RI3?@@@@@@@@@@@@@@@@RI3?[[+?3>''???K2??K2??K2??K2??K2??K2"=K?&-7?&-7?&-7?&-7?&-7?%=+?%=+?%=+?U<''?RI3?@@@@@@@@ @@@@@@@@QY3?\[7?[+''?Z;''?[K/?[K/?[+''?\[3?]+7?!!,W?"<#?",W?",W?!!<S?_,S?]<K?\+;?[K;?Z[/?QY3?@@@@@@@@@@@@@@@@M8;?QY3?QY3?QY3? QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?K(;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@') ; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<@@@@@@@@') ; yourself); yourself] ! settingsIcon4 "This resource specification was automatically generated by the ImageEditor of ST/X." "Do not manually edit this!! If it is corrupted, the ImageEditor may not be able to read the specification." " self settingsIcon4 inspect ImageEditor openOnClass:self andSelector:#settingsIcon4 Icon flushCachedIcons " <resource: #image> ^Icon constantNamed:'Tools::Inspector2 class settingsIcon4' ifAbsentPut:[(Depth24Image new) width: 24; height: 24; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:' @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TZC?V*_?V*_?V*_?V*_?V*_?V*_?V*_?V*_?V*S? VJ[?UZO?TJK?TI??TI??TI??TJK?UZO?VJ[?TZC?@@@@@@@@@@@@@@@@VJ[???>1??>1??>1??>5??><??>????C???E???A??>7??>*??>X??>J??>F??>C ??>H??>S??> UZO?@@@@@@@@@@@@@@@@VJ[???>%??>-??>4??>7??><??><??><??>>??>7??>*??>*??>J??>J??>J??>J??>J??>J??>JTI??@@@@@@@@ @@@@@@@@VJ[???> ??>)??>+??>+??>+??>+??>+??>+??>)??>\??>D??>D??>D??>D??>D??=-??=-??=-S:G?@@@@@@@@@@@@@@@@UZO???>U??>S??>Q ?/:N?/:N?/:N?/:N?/:N?/:N?/:N??=&??=&??=&??=&??=_??=_??=_??=_SI??@@@@@@@@@@@@@@@@UZO???=;??=8??=1??=6??=6?/:N?/:N?/:N?/:N ??=#?/=P?/=P?/=P?/=P??=U??=U??=U??=USI??@@@@@@@@@@@@@@@@TJK?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[? Y[[?Y[[?Y[[?RI3?@@@@@@@@@@@@@@@@TJK?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?RI3?@@@@@@@@ @@@@@@@@TJK?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?SI??@@@@@@@@@@@@@@@@S:G?Y[[?Y[[?Y[[? Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?SJK?@@@@@@@@@@@@@@@@S:G?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[? Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?S9;?@@@@@@@@@@@@@@@@S:G?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[? Y[[?Y[[?Y[[?S:G?@@@@@@@@@@@@@@@@S:G?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?S:G?@@@@@@@@ @@@@@@@@SJK?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?SJK?@@@@@@@@@@@@@@@@SJK?Y[[?Y[[?Y[[? Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?SJK?@@@@@@@@@@@@@@@@RI3?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[? Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?RI3?@@@@@@@@@@@@@@@@RI3?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[? Y[[?Y[[?Y[[?RI3?@@@@@@@@@@@@@@@@RI3?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?RI3?@@@@@@@@ @@@@@@@@QY3?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?Y[[?QY3?@@@@@@@@@@@@@@@@M8;?QY3?QY3?QY3? QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?K(;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@') ; mask:((Depth1Image new) width: 24; height: 24; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<O??<@@@@@@@@') ; yourself); yourself] ! settingsIcon5 ^ GenericToolbarIconLibrary palette16x16Icon "Created: / 19-01-2012 / 14:00:24 / cg" ! ! !Inspector2 class methodsFor:'interface specs'! windowSpec "This resource specification was automatically generated by the UIPainter of ST/X." "Do not manually edit this!! If it is corrupted, the UIPainter may not be able to read the specification." " UIPainter new openOnClass:Tools::Inspector2 andSelector:#windowSpec Tools::Inspector2 new openInterface:#windowSpec Tools::Inspector2 open " <resource: #canvas> ^ #(FullSpec name: windowSpec window: (WindowSpec label: 'Inspector2' name: 'Inspector2' labelChannel: windowTitleAspect min: (Point 0 0) bounds: (Rectangle 0 0 388 421) ) component: (SpecCollection collection: ( (MenuPanelSpec name: 'ToolBar' layout: (LayoutFrame 0 0 0 0 0 1 40 0) backgroundChannel: toolbarBackgroundHolder menu: toolbarMenu textDefault: true ) (NoteBookViewSpec name: 'NoteBook' layout: (LayoutFrame 0 0 40 0 0 1 0 1) model: tabSelectionIndexAspect menu: tabLabelsAspect useIndex: true fitLastRow: false canvas: tabViewAspect keepCanvasAlive: true ) ) ) ) ! ! !Inspector2 class methodsFor:'menu specs'! settingsMenu "This resource specification was automatically generated by the MenuEditor of ST/X." "Do not manually edit this!! If it is corrupted, the MenuEditor may not be able to read the specification." " MenuEditor new openOnClass:Tools::Inspector2 andSelector:#settingsMenu (Menu new fromLiteralArrayEncoding:(Tools::Inspector2 settingsMenu)) startUp " <resource: #menu> ^ #(Menu ( (MenuItem label: 'Default' nameKey: #'Default' translateLabel: true choice: colorProfileHolder choiceValue: default ) (MenuItem label: 'Red' nameKey: #'Red' translateLabel: true choice: colorProfileHolder choiceValue: red ) (MenuItem label: 'Green' nameKey: #'Green' translateLabel: true choiceValue: green choice: colorProfileHolder ) (MenuItem label: 'Blue' nameKey: #'Blue' translateLabel: true choiceValue: blue choice: colorProfileHolder ) (MenuItem label: 'Yellow' nameKey: #'Yellow' translateLabel: true choiceValue: yellow choice: colorProfileHolder ) (MenuItem label: 'Gray' nameKey: #'Gray' translateLabel: true choiceValue: gray choice: colorProfileHolder ) ) nil nil ) "Modified: / 17-01-2012 / 13:00:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! toolbarMenu "This resource specification was automatically generated by the MenuEditor of ST/X." "Do not manually edit this!! If it is corrupted, the MenuEditor may not be able to read the specification." " MenuEditor new openOnClass:Tools::Inspector2 andSelector:#toolbarMenu (Menu new fromLiteralArrayEncoding:(Tools::Inspector2 toolbarMenu)) startUp " <resource: #menu> ^ #(Menu ( (MenuItem activeHelpKey: backwardInVisitingHistory enabled: backButtonEnabledHolder label: 'Back' itemValue: backButtonAction translateLabel: true isButton: true hideMenuOnActivated: false submenuChannel: backButtonMenuChannel labelImage: (ResourceRetriever ToolbarIconLibrary historyBackIcon) ) (MenuItem activeHelpKey: forwardInVisitingHistory enabled: forwardButtonEnabledHolder label: 'Forward' itemValue: forwardButtonAction translateLabel: true isButton: true hideMenuOnActivated: false submenuChannel: forwardButtonMenuChannel labelImage: (ResourceRetriever ToolbarIconLibrary historyForwardIcon) ) (MenuItem label: '-' ) (MenuItem activeHelpKey: browseClassOfShownObject enabled: browseButtonEnabledHolder label: 'Browse' itemValue: browseClassAction translateLabel: true isButton: true hideMenuOnActivated: false labelImage: (ResourceRetriever ToolbarIconLibrary startNewSystemBrowserIcon) ) (MenuItem activeHelpKey: browseFile label: 'Browse File' itemValue: browseFileAction translateLabel: true isButton: true isVisible: currentObjectIsFilename hideMenuOnActivated: false labelImage: (ResourceRetriever ToolbarIconLibrary startNewFileBrowserIcon) ) (MenuItem activeHelpKey: editImage label: 'Edit the Image' itemValue: editImageAction translateLabel: true isButton: true isVisible: currentObjectIsImage hideMenuOnActivated: false labelImage: (ResourceRetriever ToolbarIconLibrary startImageEditorIcon) ) (MenuItem activeHelpKey: refresh label: 'Refresh for Changed Object' itemValue: refreshTabs translateLabel: true isButton: true startGroup: right labelImage: (ResourceRetriever ToolbarIconLibrary reloadIcon) ) (MenuItem activeHelpKey: colorProfile label: 'Settings' translateLabel: true isButton: true submenuChannel: settingsMenu labelImage: (ResourceRetriever #'Tools::Inspector2' settingsIcon) ) ) nil nil ) ! ! !Inspector2 class methodsFor:'startup'! openOn: anObject self new openOn: anObject. "Modified: / 17-02-2008 / 10:29:45 / janfrog" "Modified (format): / 11-07-2011 / 22:28:03 / cg" ! ! !Inspector2 class methodsFor:'testing'! testSimpleShow |ins| ins := Inspector2 openOn:4. ins inspect:10. ins inspect:42. ins inspect:'dead one'. ins inspect:'rolled back'. "/ins inspectItem: (ins history at: 3). "/ Rollback history, zustanou jen prvni 3 ins inspect:'xFuj'. "Modified: / 11-01-2008 / 20:36:37 / janfrog" ! ! !Inspector2 methodsFor:'accessing'! backButtonEnabled:value ^ self backButtonEnabledHolder value:value "Created: / 12-01-2008 / 19:14:35 / janfrog" "Modified (format): / 19-08-2011 / 08:59:41 / cg" ! currentObject ^ self navigationState theObject "Created: / 13-01-2008 / 10:14:47 / janfrog" "Modified: / 17-02-2008 / 09:49:01 / janfrog" ! currentState ^ self navigationHistoryHolder currentItem "Created: / 21-02-2008 / 19:39:45 / janfrog" "Modified: / 27-02-2008 / 11:56:55 / janfrog" ! forwardButtonEnabled:value ^ self forwardButtonEnabledHolder value:value "Created: / 12-01-2008 / 19:14:48 / janfrog" "Modified (format): / 19-08-2011 / 08:59:45 / cg" ! navigationState ^ self navigationHistoryHolder value currentItem "Created: / 17-02-2008 / 09:49:01 / janfrog" "Modified: / 21-02-2008 / 19:34:14 / janfrog" "Modified: / 22-07-2011 / 19:13:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! navigationState:historyItem self navigationHistoryHolder "subjectChannel:" value currentItem:historyItem. "/self fixNavigation. "Nevola se kvuli problemu s prekreslovanim" "/self updateTabs. "Created: / 17-02-2008 / 09:49:11 / janfrog" "Modified: / 21-02-2008 / 19:47:26 / janfrog" "Modified: / 22-07-2011 / 19:13:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" "Modified: / 19-08-2011 / 09:16:38 / cg" ! ! !Inspector2 methodsFor:'aspects'! backButtonEnabledHolder "return/create the 'backButtonEnabledHolder' value holder (automatically generated)" ^(AspectAdaptor forAspect:#canGoBack) subjectChannel: self navigationHistoryHolder "Created: / 12-01-2008 / 19:13:49 / janfrog" "Modified: / 27-02-2008 / 12:11:30 / janfrog" ! browseButtonEnabledHolder ^ BlockValue with:[:m | m notNil] argument:self navigationStateAspect "Created: / 19-08-2011 / 09:22:47 / cg" ! colorProfileHolder "return/create the 'colorProfileHolder' value holder (automatically generated)" colorProfileHolder isNil ifTrue:[ colorProfileHolder := ValueHolder with: #default. ]. ^ colorProfileHolder "Modified: / 17-01-2012 / 12:54:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! currentObjectHolder currentObjectHolder isNil ifTrue:[ currentObjectHolder := ValueHolder new ]. ^ currentObjectHolder "Created: / 27-02-2008 / 12:05:22 / janfrog" "Created: / 19-08-2011 / 08:58:48 / cg" ! currentObjectIsFilename ^ BlockValue with:[:o | o isFilename ] argument:self currentObjectHolder "Created: / 19-08-2011 / 08:56:27 / cg" ! currentObjectIsImage ^ BlockValue with:[:o | o isImageOrForm ] argument:self currentObjectHolder "Created: / 15-01-2012 / 10:06:28 / cg" ! forwardButtonEnabledHolder "return/create the 'backButtonEnabledHolder' value holder (automatically generated)" ^(AspectAdaptor forAspect:#canGoForward) subjectChannel: self navigationHistoryHolder "Created: / 12-01-2008 / 19:13:49 / janfrog" "Modified: / 27-02-2008 / 12:11:26 / janfrog" ! navigationHistoryHolder "return/create the 'currentItemHolder' value holder (automatically generated)" navigationHistoryHolder isNil ifTrue:[ navigationHistoryHolder := Tools::NavigationHistory new. ]. ^ navigationHistoryHolder "Created: / 21-02-2008 / 19:34:14 / janfrog" ! navigationStateAspect navigationStateAspect isNil ifTrue:[ navigationStateAspect := (AspectAdaptor forAspect:#currentItem) subjectChannel:self navigationHistoryHolder ]. ^ navigationStateAspect "Created: / 27-02-2008 / 12:05:22 / janfrog" "Modified (format): / 19-08-2011 / 08:59:10 / cg" ! tabLabelsAspect ^ (AspectAdaptor forAspect:#tabLabels) subjectChannel:self navigationStateAspect "Created: / 16-01-2008 / 17:29:52 / janfrog" "Modified: / 27-02-2008 / 12:05:32 / janfrog" "Modified (format): / 19-08-2011 / 08:59:21 / cg" ! tabSelectionIndexAspect ^ ((AspectAdaptor forAspect:#selectionIndex) subjectChannel:self navigationStateAspect) onChangeEvaluate:[ self tabViewAspect changed ]; yourself "Created: / 16-01-2008 / 17:29:29 / janfrog" "Modified: / 27-02-2008 / 12:06:05 / janfrog" ! tabViewAspect tabViewAspect isNil ifTrue:[ tabViewAspect := (AspectAdaptor forAspect:#selectionView) subjectChannel:self navigationStateAspect ]. ^ tabViewAspect "Created: / 16-01-2008 / 17:30:05 / janfrog" "Modified: / 27-02-2008 / 12:05:46 / janfrog" "Modified (format): / 19-08-2011 / 08:59:35 / cg" ! toolbarBackgroundHolder "return/create the 'toolbarBackgroundHolder' value holder (automatically generated)" toolbarBackgroundHolder isNil ifTrue:[ toolbarBackgroundHolder := BlockValue with: [:profile| | clr | clr := ColorProfiles at: profile value. clr isNil ifTrue:[ clr := MenuPanel defaultBackgroundColor ]. clr. ] argument: self colorProfileHolder ]. ^ toolbarBackgroundHolder "Modified: / 17-01-2012 / 13:04:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! windowTitleAspect ^ (AspectAdaptor forAspect:#displayString) subjectChannel:self navigationStateAspect "Created: / 17-02-2008 / 08:42:21 / janfrog" "Modified: / 27-02-2008 / 12:05:56 / janfrog" ! ! !Inspector2 methodsFor:'menu'! backButtonMenuChannel ^ [ self navigationHistoryHolder goBackMenu ] "Created: / 12-01-2008 / 18:57:08 / janfrog" "Modified: / 22-02-2008 / 16:57:46 / janfrog" ! forwardButtonMenuChannel ^ [ self navigationHistoryHolder goForwardMenu ] "Created: / 12-01-2008 / 18:57:30 / janfrog" "Modified: / 22-02-2008 / 16:58:11 / janfrog" ! ! !Inspector2 methodsFor:'menu actions'! backButtonAction self navigationHistoryHolder goBack. self updateWindowLabel "Modified: / 21-02-2008 / 19:40:23 / janfrog" "Modified: / 15-07-2011 / 16:26:28 / cg" ! browseClassAction "open a class browser, or try to add a tab to the previously opened class browser" | class | class := self currentObject class. browser notNil ifTrue:[ "/ try to add a tab to the already opened browser (browser isKindOf:Tools::NewSystemBrowser) ifTrue:[ browser spawnClassBrowserFor:(Array with:class) in:#newBuffer. "/ browser spawnSingleClassBrowserFor:class in:#newBuffer. browser window raise. ^ self. ]. ]. "/ if that fails, open a new one browser := UserPreferences current systemBrowserClass openInClass:class selector:nil "/ browseSingleClass: class "Modified: / 23-07-2011 / 11:28:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" "Modified (comment): / 21-08-2011 / 08:37:59 / cg" ! browseFileAction "open a filebrowser on the file represented by the current object" | fn | fn := self currentObject asFilename. UserPreferences current fileBrowserClass openOn:fn "Created: / 19-08-2011 / 09:29:44 / cg" ! changeColorAction: color self toolbarBackgroundHolder value: (Color perform: color asSymbol) "Created: / 17-01-2012 / 01:03:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! editImageAction "open an imageEditor on the current object" | img | img := self currentObject. ImageEditor openOnImage:img. "Created: / 15-01-2012 / 10:08:29 / cg" ! forwardButtonAction self navigationHistoryHolder goForward. self updateWindowLabel "Created: / 21-02-2008 / 19:52:03 / janfrog" "Modified: / 15-07-2011 / 16:26:33 / cg" ! refreshTabs self navigationHistoryHolder currentItem refreshTabs. self tabViewAspect changed. "/ sel := selectionIndex. "/ self selectionIndex:nil. "/ self selectionIndex:sel. "Created: / 21-08-2011 / 08:23:00 / cg" ! ! !Inspector2 methodsFor:'opening'! closeDownViews LastExtent := self window extent. super closeDownViews. "Created: / 11-07-2011 / 22:33:47 / cg" ! historyTryPush: anObject <resource: #obsolete> "/ Pokud uz na anObject byl tak tam skocit, jinak pridat na konec self history do: [:item | item theObject == anObject ifTrue:[ ^item ] ]. ^ self history push:anObject. "Modified: / 16-01-2008 / 14:25:30 / janfrog" ! inspect:anObject self navigationHistoryHolder currentItem:(NavigationState for:anObject). self window notNil ifTrue:[ self updateWindowLabel ]. "Modified: / 27-02-2008 / 12:06:52 / janfrog" "Modified: / 15-07-2011 / 16:26:03 / cg" "Modified (format): / 19-08-2011 / 09:01:20 / cg" ! openOn: anObject self inspect: anObject. self openWithExtent:(LastExtent ? nil). "Modified: / 13-01-2008 / 13:55:27 / janfrog" "Modified: / 11-07-2011 / 22:31:42 / cg" ! postBuildWith:aBuilder self updateWindowLabel "Created: / 15-07-2011 / 16:25:36 / cg" ! updateWindowLabel |currentItem object| (currentItem := self navigationHistoryHolder currentItem) notNil ifTrue:[ object := currentItem theObject. ]. self currentObjectHolder value:object. self window label:(InspectorView commonLabelFor:object). "Created: / 15-07-2011 / 16:25:42 / cg" ! ! !Inspector2::NavigationState class methodsFor:'creating classes'! for:anObject |item| item := self new. item theObject:anObject. ^ item. "Modified (format): / 19-08-2011 / 09:24:40 / cg" ! ! !Inspector2::NavigationState class methodsFor:'documentation'! version ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.25 2012/01/19 13:01:09 cg Exp $' ! version_SVN ^'$Id: Tools__Inspector2.st 7854 2012-01-30 17:49:41Z vranyj1 $' ! ! !Inspector2::NavigationState methodsFor:'accessing'! index ^ index ! index:something index := something. ! selectionIndex selectionIndex isNil ifTrue:[^1]. selectionIndex < 1 ifTrue:[^1]. selectionIndex > tabs size ifTrue:[^tabs size]. ^selectionIndex "Created: / 16-01-2008 / 17:24:27 / janfrog" "Modified: / 17-02-2008 / 10:20:35 / janfrog" "Modified: / 18-11-2011 / 15:00:01 / cg" ! selectionIndex: anInteger selectionIndex := anInteger. self changed:#selectionIndex "Created: / 16-01-2008 / 17:27:52 / janfrog" "Modified: / 17-02-2008 / 09:46:45 / janfrog" ! selectionView |tab| tab := self tabs at: self selectionIndex. ^tab ifNil:[nil] ifNotNil:[tab view]. "Created: / 16-01-2008 / 17:31:19 / janfrog" ! tabLabels ^self tabs collect:[:tab | tab label] "Created: / 16-01-2008 / 17:14:07 / janfrog" ! tabViews ^self tabs collect:[:tab | tab view] "Created: / 16-01-2008 / 17:14:13 / janfrog" ! tabs tabs isNil ifTrue:[self initializeTabs]. ^tabs "Created: / 16-01-2008 / 16:51:53 / janfrog" "Modified: / 18-11-2011 / 15:00:05 / cg" ! theObject ^ theObject ! theObject:anObject theObject := anObject. self changed "Modified: / 17-02-2008 / 08:38:44 / janfrog" "Modified: / 19-08-2011 / 09:16:25 / cg" ! ! !Inspector2::NavigationState methodsFor:'comparing'! = anotherState ^self class == anotherState class and:[self theObject == anotherState theObject] "Created: / 21-02-2008 / 19:39:01 / janfrog" ! hash ^theObject hash "Created: / 21-02-2008 / 19:38:08 / janfrog" ! ! !Inspector2::NavigationState methodsFor:'displaying'! displayString displayString isNil ifTrue:[ displayString := theObject printString contractAtEndTo:15. displayString := displayString , ' [', theObject class name , ']' ]. ^ displayString "Created: / 21-02-2008 / 19:53:07 / janfrog" "Modified: / 25-07-2011 / 10:50:52 / cg" ! ! !Inspector2::NavigationState methodsFor:'initialization'! initializeClassBrowserTab | browser spec | spec := #singleClassBrowserSpec. "/spec := #multipleClassBrowserSpec. browser := Tools::NewSystemBrowser new. browser createBuilder. browser navigationState canvasType:spec. browser browserCanvasType:spec. browser browserCanvas value builder:(browser builder). browser navigationState canvas:browser browserCanvas value. browser showInheritedMethods. browser classListGenerator value:(Array with:theObject class theNonMetaclass). browser selectClass: theObject class theNonMetaclass. tabs add: (Tools::Inspector2Tab new priority: 0; label:'Class'; view: (ApplicationSubView new client: browser spec: spec)) "Created: / 22-07-2011 / 18:48:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" "Modified: / 05-09-2011 / 05:24:16 / cg" ! initializeCommonTabs "Unfinished code" self initializeClassBrowserTab "/ tabs add: "/ (Tools::Inspector2Tab new "/ priority: 50; "/ label:'Object'; "/ view: ((theObject inspectorClass new inspect:theObject) "/ yourself)) "Created: / 16-01-2008 / 16:56:48 / janfrog" "Modified: / 17-02-2008 / 10:29:54 / janfrog" "Modified: / 21-08-2011 / 10:03:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" ! initializeExtraTabs "/ cg: I prefer using explicit getter - so I find them in the browser theObject inspector2Tabs do: [:selector| | tab | tab := [ theObject perform: selector ] on: Error do:[:ex| "/ for debugging: ex reject. Tools::Inspector2Tab new label: selector; text: (ex description, Character cr, Character cr, ex suspendedContext fullPrintAllString)]. (tab notNil and:[tab isKindOf: Tools::Inspector2Tab]) ifTrue:[tabs add: tab]]. "Created: / 16-01-2008 / 17:25:24 / janfrog" "Modified: / 17-02-2008 / 10:30:43 / janfrog" "Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>" "Modified (format): / 21-08-2011 / 08:01:34 / cg" ! initializeTabs tabs := OrderedCollection new. self initializeCommonTabs. self initializeExtraTabs. tabs := tabs asSortedCollection:[:a :b|a priority > b priority]. "Created: / 16-01-2008 / 16:54:28 / janfrog" "Modified: / 17-02-2008 / 10:08:04 / janfrog" ! refreshTabs tabs := nil. self initializeTabs. "Created: / 21-08-2011 / 08:23:11 / cg" ! ! !Inspector2 class methodsFor:'documentation'! version ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.25 2012/01/19 13:01:09 cg Exp $' ! version_CVS ^ '§Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.25 2012/01/19 13:01:09 cg Exp §' ! version_CVS_jvrany ^ '§Header: /opt/data/cvs/stx/goodies/libtool3/Inspector2.st,v 1.6 2008-02-27 13:45:23 vranyj1 Exp §' ! version_SVN ^ '$Id: Tools__Inspector2.st 7854 2012-01-30 17:49:41Z vranyj1 $' ! ! Inspector2 initialize!