Tools__Inspector2.st
branchjv
changeset 12125 0c49a3b13e43
parent 12123 4bde08cebd48
child 12128 a7ff7d66ee85
--- a/Tools__Inspector2.st	Sun Jan 29 12:56:58 2012 +0000
+++ b/Tools__Inspector2.st	Sun Jan 29 15:33:37 2012 +0000
@@ -15,8 +15,9 @@
 
 ApplicationModel subclass:#Inspector2
 	instanceVariableNames:'tabViewAspect navigationHistoryHolder navigationStateAspect
-		browser currentObjectHolder'
-	classVariableNames:'LastExtent'
+		browser currentObjectHolder colorProfileHolder
+		toolbarBackgroundHolder'
+	classVariableNames:'LastExtent ColorProfiles'
 	poolDictionaries:''
 	category:'Interface-Inspector2'
 !
@@ -55,6 +56,27 @@
 "
 ! !
 
+!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
@@ -76,20 +98,206 @@
 'Move backward in the history of previously visited objects'
 
 #browseClassOfShownObject
-'Open a Systembrowser on the shown object''s class'
+'Open a SystemBrowser on the shown object''s class'
 
 #browseFile
-'Open a Filebrowser on the file represented by the shown object'
+'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
@@ -124,6 +332,7 @@
            (MenuPanelSpec
               name: 'ToolBar'
               layout: (LayoutFrame 0 0 0 0 0 1 40 0)
+              backgroundChannel: toolbarBackgroundHolder
               menu: toolbarMenu
               textDefault: true
             )
@@ -145,6 +354,74 @@
 
 !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."
@@ -152,6 +429,7 @@
     "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
@@ -207,12 +485,37 @@
             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
       )
-
-    "Modified: / 19-08-2011 / 09:27:19 / cg"
 ! !
 
 !Inspector2 class methodsFor:'startup'!
@@ -314,6 +617,17 @@
     "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
@@ -332,6 +646,14 @@
     "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)"
 
@@ -395,6 +717,26 @@
     "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
@@ -430,7 +772,7 @@
 !
 
 browseClassAction
-    "open a class browser, or try to add a tab to the previously openeed class browser"
+    "open a class browser, or try to add a tab to the previously opened class browser"
 
     | class |
 
@@ -450,7 +792,7 @@
     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): / 19-08-2011 / 09:32:21 / cg"
+    "Modified (comment): / 21-08-2011 / 08:37:59 / cg"
 !
 
 browseFileAction
@@ -464,12 +806,41 @@
     "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'!
@@ -546,7 +917,7 @@
 !Inspector2::NavigationState class methodsFor:'documentation'!
 
 version
-    ^'$Id: Tools__Inspector2.st,v 1.16 2011/08/19 07:57:00 cg Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.25 2012/01/19 13:01:09 cg Exp $'
 !
 
 version_SVN
@@ -564,13 +935,14 @@
 !
 
 selectionIndex
-    selectionIndex ifNil:[^1].
+    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
@@ -609,10 +981,11 @@
 
 tabs
 
-    tabs ifNil:[self initializeTabs].
+    tabs isNil ifTrue:[self initializeTabs].
     ^tabs
 
     "Created: / 16-01-2008 / 16:51:53 / janfrog"
+    "Modified: / 18-11-2011 / 15:00:05 / cg"
 !
 
 theObject
@@ -661,25 +1034,35 @@
 !Inspector2::NavigationState methodsFor:'initialization'!
 
 initializeClassBrowserTab
-    | browser |
+    | browser spec |
 
-    self notYetImplemented.
-
+    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: 50;
-            label:'Object';
-            view: ((theObject inspectorClass new inspect:theObject)
-                        yourself))
+            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
+    self initializeClassBrowserTab
 
 "/    tabs add:
 "/        (Tools::Inspector2Tab new
@@ -690,7 +1073,7 @@
 
     "Created: / 16-01-2008 / 16:56:48 / janfrog"
     "Modified: / 17-02-2008 / 10:29:54 / janfrog"
-    "Modified: / 22-07-2011 / 18:54:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 21-08-2011 / 10:03:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 initializeExtraTabs
@@ -699,20 +1082,20 @@
     theObject inspector2Tabs do: [:selector|
             | tab |
             tab := [ theObject perform: selector ] 
-                        on: Error do: 
-                            [:ex|
+                        on: Error do:[:ex|
+                            "/ for debugging:  ex reject.
                             Tools::Inspector2Tab new 
                                 label: selector;
                                 text:
                                     (ex description, Character cr, Character cr,
-                                     ex suspendedContext fullPrintString)].
+                                     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 (comment): / 05-07-2011 / 13:43:23 / cg"
+    "Modified (format): / 21-08-2011 / 08:01:34 / cg"
 !
 
 initializeTabs
@@ -724,16 +1107,23 @@
 
     "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
-    ^ '$Id: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.16 2011/08/19 07:57:00 cg Exp $'
+    ^ '$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.16 2011/08/19 07:57:00 cg Exp §'
+    ^ '§Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.25 2012/01/19 13:01:09 cg Exp §'
 !
 
 version_CVS_jvrany
@@ -742,4 +1132,6 @@
 
 version_SVN
     ^ '$Id: Tools__Inspector2.st 7486 2009-10-26 22:06:24Z vranyj1 $'
-! !
\ No newline at end of file
+! !
+
+Inspector2 initialize!