author | vrany |
Tue, 17 Jan 2012 14:48:56 +0100 | |
changeset 11143 | aa07f5c603dd |
parent 11142 | 57ece4219193 |
child 11160 | 3f50090b9337 |
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 |
11142 | 18 |
browser currentObjectHolder colorProfileHolder |
19 |
toolbarBackgroundHolder' |
|
20 |
classVariableNames:'LastExtent ColorProfiles' |
|
8779 | 21 |
poolDictionaries:'' |
10460 | 22 |
category:'Interface-Inspector2' |
8779 | 23 |
! |
24 |
||
10597 | 25 |
Model subclass:#NavigationState |
8779 | 26 |
instanceVariableNames:'theObject index tabs selectionIndex displayString' |
27 |
classVariableNames:'' |
|
28 |
poolDictionaries:'' |
|
29 |
privateIn:Inspector2 |
|
30 |
! |
|
31 |
||
9996 | 32 |
!Inspector2 class methodsFor:'documentation'! |
33 |
||
34 |
copyright |
|
35 |
" |
|
36 |
COPYRIGHT (c) 2006 by eXept Software AG |
|
37 |
All Rights Reserved |
|
38 |
||
39 |
This software is furnished under a license and may be used |
|
40 |
only in accordance with the terms of that license and with the |
|
41 |
inclusion of the above copyright notice. This software may not |
|
42 |
be provided or otherwise made available to, or used by, any |
|
43 |
other person. No title to or ownership of the software is |
|
44 |
hereby transferred. |
|
45 |
" |
|
10597 | 46 |
! |
47 |
||
48 |
description |
|
49 |
" |
|
50 |
an application for a multitab inspector |
|
51 |
extendable by the inspected object itself, by providing additional |
|
52 |
tabs via the inspector2XXX methods |
|
53 |
||
54 |
[author:] |
|
55 |
Jan Vrani |
|
56 |
" |
|
57 |
! ! |
|
58 |
||
11142 | 59 |
!Inspector2 class methodsFor:'initialization'! |
60 |
||
61 |
initialize |
|
62 |
"Invoked at system start or when the class is dynamically loaded." |
|
63 |
||
64 |
"/ please change as required (and remove this comment) |
|
65 |
||
66 |
||
67 |
ColorProfiles := Dictionary new. |
|
68 |
ColorProfiles |
|
69 |
at: #default put: nil; "default color" |
|
70 |
at: #red put: Color red lighter lighter; |
|
71 |
at: #green put: Color green lighter; |
|
72 |
at: #blue put: Color blue lighter; |
|
73 |
at: #yellow put: Color yellow lighter; |
|
74 |
at: #gray put: Color gray; |
|
75 |
yourself. |
|
76 |
||
77 |
"Modified: / 17-01-2012 / 12:57:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
78 |
! ! |
|
79 |
||
10597 | 80 |
!Inspector2 class methodsFor:'help specs'! |
81 |
||
82 |
flyByHelpSpec |
|
83 |
"This resource specification was automatically generated |
|
84 |
by the UIHelpTool of ST/X." |
|
85 |
||
86 |
"Do not manually edit this!! If it is corrupted, |
|
87 |
the UIHelpTool may not be able to read the specification." |
|
88 |
||
89 |
" |
|
90 |
UIHelpTool openOnClass:Tools::Inspector2 |
|
91 |
" |
|
92 |
||
93 |
<resource: #help> |
|
94 |
||
95 |
^ super flyByHelpSpec addPairsFrom:#( |
|
96 |
||
97 |
#backwardInVisitingHistory |
|
98 |
'Move backward in the history of previously visited objects' |
|
99 |
||
100 |
#browseClassOfShownObject |
|
11134 | 101 |
'Open a SystemBrowser on the shown object''s class' |
10597 | 102 |
|
103 |
#browseFile |
|
11134 | 104 |
'Open a FileBrowser on the file represented by the shown object' |
105 |
||
106 |
#editImage |
|
107 |
'Open an ImageEditor on the bitmap/image represented by the shown object' |
|
10597 | 108 |
|
109 |
#forwardInVisitingHistory |
|
110 |
'Move forward in the history of previously visited objects' |
|
111 |
||
112 |
||
113 |
) |
|
114 |
||
115 |
"Created: / 19-08-2011 / 08:52:33 / cg" |
|
9996 | 116 |
! ! |
8779 | 117 |
|
11142 | 118 |
!Inspector2 class methodsFor:'image specs'! |
119 |
||
120 |
settingsIcon |
|
121 |
||
122 |
^self settingsIcon3 |
|
123 |
||
124 |
"Modified: / 17-01-2012 / 12:45:40 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
125 |
! |
|
126 |
||
127 |
settingsIcon1 |
|
128 |
"This resource specification was automatically generated |
|
129 |
by the ImageEditor of ST/X." |
|
130 |
||
131 |
"Do not manually edit this!! If it is corrupted, |
|
132 |
the ImageEditor may not be able to read the specification." |
|
133 |
||
134 |
" |
|
135 |
self settingsIcon inspect |
|
136 |
ImageEditor openOnClass:self andSelector:#settingsIcon |
|
137 |
Icon flushCachedIcons |
|
138 |
" |
|
139 |
||
140 |
<resource: #image> |
|
141 |
||
142 |
^Icon |
|
143 |
constantNamed:'Tools::Inspector2 class settingsIcon' |
|
144 |
ifAbsentPut:[(Depth24Image new) width: 24; height: 24; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:' |
|
145 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
146 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[G*LY'':\Y'':\Y'':\Y'':\Y'':\Y'':\Y'':\Y'':\Y''6\ |
|
147 |
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>* |
|
148 |
^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@@@@@@@@ |
|
149 |
@@@@@@@@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- |
|
150 |
^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* |
|
151 |
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 |
|
152 |
-;^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@@@@@@@@ |
|
153 |
@@@@@@@@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'' |
|
154 |
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'' |
|
155 |
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* |
|
156 |
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@@@@@@@@ |
|
157 |
@@@@@@@@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 |
|
158 |
-[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 |
|
159 |
_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 |
|
160 |
I21 I21XH>1XG"V@@@@@@@@@@@@@@@@XG"V[(**'':"0-KR4-KR4-KR4-KR4-KR4-KR4^)^. I61 I61 I61 I61 I61_961_961_921Y(:0XG"V@@@@@@@@ |
|
161 |
@@@@@@@@W7^U\H2,[(&)[X"''[(&''[(&''[8&''\H*''\(2)]9F,^)N.^YJ.^YJ.^IF.]YB.\(:-\H6-[X2-[H.-W7^U@@@@@@@@@@@@@@@@X''BBW7^UW7^UW7^U |
|
162 |
W7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UW7^UXF:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
163 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
164 |
@@@@@@@@@@@@@@@@@@@@@@@@') ; 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] |
|
165 |
||
166 |
"Created: / 17-01-2012 / 12:45:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
167 |
! |
|
168 |
||
169 |
settingsIcon2 |
|
170 |
"This resource specification was automatically generated |
|
171 |
by the ImageEditor of ST/X." |
|
172 |
||
173 |
"Do not manually edit this!! If it is corrupted, |
|
174 |
the ImageEditor may not be able to read the specification." |
|
175 |
||
176 |
" |
|
177 |
self settingsIcon2 inspect |
|
178 |
ImageEditor openOnClass:self andSelector:#settingsIcon2 |
|
179 |
Icon flushCachedIcons |
|
180 |
" |
|
181 |
||
182 |
<resource: #image> |
|
183 |
||
184 |
^Icon |
|
185 |
constantNamed:'Tools::Inspector2 class settingsIcon2' |
|
186 |
ifAbsentPut:[(Depth24Image new) width: 24; height: 24; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:' |
|
187 |
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU |
|
188 |
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"9J["IR#"IR#"IR#"IR#"IR#"IR#"IR#"IR#"IN# |
|
189 |
!!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* |
|
190 |
$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 |
|
191 |
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>+ |
|
192 |
$)>,$)>,$)>,$)>,$)>,$):+$I2*"9"''!!YJ#)*./6=/[6=/[6=/[6=/["YZ&!!YF UUUUUUUUUUUUUUUU!!9N"#92*#)2*#Y2+#)2+#)2+#)2+#)2+#Y2*#I.* |
|
193 |
")"(!!)R%)*./6=/[6=/[6=/[6=/[6=/[!!9R%!!YF UUUUUUUUUUUUUUUU!!)J!!")&)"Y*)"Y*)"Y*)"Y*)"Y*)"Y*)"Y&)!!9^(!!IR%)**.6=/[6=/[6=/[6=/[ |
|
194 |
6=/[6=/[!!YN%!!YB UUUUUUUUUUUUUUUU!!)J!!"IZ(!!)")!!)")!!)")!!)")!!)")!!)")!!)^)!!IV'')**.6=/[6=/[6=/[6=/[_(6!!6=/[6=/[ 9N%!!YF UUUUUUUU |
|
195 |
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( |
|
196 |
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( |
|
197 |
YV( IR'' IN'' IR'' YV( )Z) )Z) YV( )Z)!!)F!!UUUUUUUUUUUUUUUU!!)J!! )F$)Z*._9N& YZ(_9N&)Z*.6-+Z6-+Z_9N& )Z) )^* )^) )^* )^* )^* |
|
198 |
)"* 9"* )"*!!)J!!UUUUUUUUUUUUUUUU!!)J!! 9J%)Z*.)Z*._9J%)Z*.6-+Z6-+Z6-+Z6-+Z!!I"*!!).,!!).,!!).,!!).,!!).,!!).,!!).,!!)*+!!)J!!UUUUUUUU |
|
199 |
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 |
|
200 |
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- |
|
201 |
$: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- |
|
202 |
%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 |
|
203 |
UUUUUUUU!!IB_#Y.+#I&)"9&(#I&(#I&(#I&(#Y*(#).)$I6+$):,$Y:,$Y:,$Y6,#96,#)2+#Y.+"9.+"9*+!!IB_UUUUUUUUUUUUUUUU!!(6V!!IB_!!IB_!!IB_ |
|
204 |
!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!IB_!!X2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU |
|
205 |
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU |
|
206 |
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] |
|
207 |
! |
|
208 |
||
209 |
settingsIcon3 |
|
210 |
"This resource specification was automatically generated |
|
211 |
by the ImageEditor of ST/X." |
|
212 |
||
213 |
"Do not manually edit this!! If it is corrupted, |
|
214 |
the ImageEditor may not be able to read the specification." |
|
215 |
||
216 |
" |
|
217 |
self settingsIcon3 inspect |
|
218 |
ImageEditor openOnClass:self andSelector:#settingsIcon3 |
|
219 |
Icon flushCachedIcons |
|
220 |
" |
|
221 |
||
222 |
<resource: #image> |
|
223 |
||
224 |
^Icon |
|
225 |
constantNamed:'Tools::Inspector2 class settingsIcon3' |
|
226 |
ifAbsentPut:[(Depth24Image new) width: 24; height: 24; photometric:(#rgb); bitsPerSample:(#[8 8 8]); samplesPerPixel:(3); bits:(ByteArray fromPackedString:' |
|
227 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
228 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TZC?V*_?V*_?V*_?V*_?V*_?V*_?V*_?V*_?V*S? |
|
229 |
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? |
|
230 |
"\W?$<+?(]C?UZO?@@@@@@@@@@@@@@@@VJ[?)]''?+]S?-M_?-=7?/M/?/M/?/NC?/-3?-=7?+MK?7OC?7OC?7OC?7OC?7OC?7OC?7OC?"<S?TI??@@@@@@@@ |
|
231 |
@@@@@@@@VJ[?(]W?*]G?*=S?*=+?*=+?*=S?*=S?*=S?*]G?''L3?!![??7OC?????????????????????[+''?S:G?@@@@@@@@@@@@@@@@UZO?%\/?$<+?$\''? |
|
232 |
#,''?#,''?#,''?#,''?#,''?#\#? <O?Y;S?QZK?6.????7=??7=??7=??7=W;C?SI??@@@@@@@@@@@@@@@@UZO?^<K?^LC?\,G?]<K?]<K?]<K?]<K?]LW?\LO? |
|
233 |
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???+:??+:??+:??+: |
|
234 |
??+:??+:RZ[?RI3?@@@@@@@@@@@@@@@@TJK?VJ??S+''?S+''?S+''?S+''?S+''?S+''?S[K?Q*7?5>7???+:??+:??+:??+:DH''???+:??+:OJW?RI3?@@@@@@@@ |
|
235 |
@@@@@@@@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? |
|
236 |
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? |
|
237 |
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+/? |
|
238 |
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?@@@@@@@@ |
|
239 |
@@@@@@@@SJK?RZK?4^+???S44^+???S4??S4??S4??S4R[3?XL3?Y,;?Y,;?Y,;?Y,;?Y,;?Y,;?Y,;?O<_?SJK?@@@@@@@@@@@@@@@@SJK?VZ7?4^+???S4 |
|
240 |
??S4??S4??S4??S4XLO?]-K?_=S?_=S?_=S?_=S?_=S?_=S?_=S?_=S?O,??SJK?@@@@@@@@@@@@@@@@RI3?YKG?3>''???K2??K2??K2??K2V;/? =K?$]#? |
|
241 |
$]#?$]#?$]#?$]#?$]#?$]#?$]#?#=_?O]O?RI3?@@@@@@@@@@@@@@@@RI3?ZK[?3>''???K2??K2??K2??K2??K2]L#?%]_?&-7?&-7?&-7?&-7?&-7?&-7? |
|
242 |
&-+?&-+?P<7?RI3?@@@@@@@@@@@@@@@@RI3?[[+?3>''???K2??K2??K2??K2??K2??K2"=K?&-7?&-7?&-7?&-7?&-7?%=+?%=+?%=+?U<''?RI3?@@@@@@@@ |
|
243 |
@@@@@@@@QY3?\[7?[+''?Z;''?[K/?[K/?[+''?\[3?]+7?!!,W?"<#?",W?",W?!!<S?_,S?]<K?\+;?[K;?Z[/?QY3?@@@@@@@@@@@@@@@@M8;?QY3?QY3?QY3? |
|
244 |
QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?QY3?K(;?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
245 |
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
246 |
@@@@@@@@@@@@@@@@@@@@@@@@') ; 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] |
|
247 |
! ! |
|
248 |
||
8779 | 249 |
!Inspector2 class methodsFor:'interface specs'! |
250 |
||
251 |
windowSpec |
|
252 |
"This resource specification was automatically generated |
|
253 |
by the UIPainter of ST/X." |
|
254 |
||
255 |
"Do not manually edit this!! If it is corrupted, |
|
256 |
the UIPainter may not be able to read the specification." |
|
257 |
||
258 |
" |
|
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
259 |
UIPainter new openOnClass:Tools::Inspector2 andSelector:#windowSpec |
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
260 |
Tools::Inspector2 new openInterface:#windowSpec |
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
261 |
Tools::Inspector2 open |
8779 | 262 |
" |
263 |
||
264 |
<resource: #canvas> |
|
265 |
||
266 |
^ |
|
267 |
#(FullSpec |
|
268 |
name: windowSpec |
|
269 |
window: |
|
270 |
(WindowSpec |
|
271 |
label: 'Inspector2' |
|
272 |
name: 'Inspector2' |
|
273 |
labelChannel: windowTitleAspect |
|
274 |
min: (Point 0 0) |
|
275 |
bounds: (Rectangle 0 0 388 421) |
|
276 |
) |
|
277 |
component: |
|
278 |
(SpecCollection |
|
279 |
collection: ( |
|
280 |
(MenuPanelSpec |
|
281 |
name: 'ToolBar' |
|
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
282 |
layout: (LayoutFrame 0 0 0 0 0 1 40 0) |
11142 | 283 |
backgroundChannel: toolbarBackgroundHolder |
8779 | 284 |
menu: toolbarMenu |
285 |
textDefault: true |
|
286 |
) |
|
287 |
(NoteBookViewSpec |
|
288 |
name: 'NoteBook' |
|
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
289 |
layout: (LayoutFrame 0 0 40 0 0 1 0 1) |
8779 | 290 |
model: tabSelectionIndexAspect |
291 |
menu: tabLabelsAspect |
|
292 |
useIndex: true |
|
293 |
fitLastRow: false |
|
294 |
canvas: tabViewAspect |
|
295 |
keepCanvasAlive: true |
|
296 |
) |
|
297 |
) |
|
298 |
||
299 |
) |
|
300 |
) |
|
301 |
! ! |
|
302 |
||
303 |
!Inspector2 class methodsFor:'menu specs'! |
|
304 |
||
11142 | 305 |
settingsMenu |
306 |
"This resource specification was automatically generated |
|
307 |
by the MenuEditor of ST/X." |
|
308 |
||
309 |
"Do not manually edit this!! If it is corrupted, |
|
310 |
the MenuEditor may not be able to read the specification." |
|
311 |
||
312 |
||
313 |
" |
|
314 |
MenuEditor new openOnClass:Tools::Inspector2 andSelector:#settingsMenu |
|
315 |
(Menu new fromLiteralArrayEncoding:(Tools::Inspector2 settingsMenu)) startUp |
|
316 |
" |
|
317 |
||
318 |
<resource: #menu> |
|
319 |
||
320 |
^ |
|
321 |
#(Menu |
|
322 |
( |
|
323 |
(MenuItem |
|
324 |
label: 'Default' |
|
11143 | 325 |
nameKey: #'Default' |
11142 | 326 |
translateLabel: true |
327 |
choice: colorProfileHolder |
|
328 |
choiceValue: default |
|
329 |
) |
|
330 |
(MenuItem |
|
331 |
label: 'Red' |
|
11143 | 332 |
nameKey: #'Red' |
11142 | 333 |
translateLabel: true |
334 |
choice: colorProfileHolder |
|
335 |
choiceValue: red |
|
336 |
) |
|
337 |
(MenuItem |
|
338 |
label: 'Green' |
|
11143 | 339 |
nameKey: #'Green' |
11142 | 340 |
translateLabel: true |
341 |
choiceValue: green |
|
342 |
choice: colorProfileHolder |
|
343 |
) |
|
344 |
(MenuItem |
|
345 |
label: 'Blue' |
|
11143 | 346 |
nameKey: #'Blue' |
11142 | 347 |
translateLabel: true |
348 |
choiceValue: blue |
|
349 |
choice: colorProfileHolder |
|
350 |
) |
|
351 |
(MenuItem |
|
352 |
label: 'Yellow' |
|
11143 | 353 |
nameKey: #'Yellow' |
11142 | 354 |
translateLabel: true |
355 |
choiceValue: yellow |
|
356 |
choice: colorProfileHolder |
|
357 |
) |
|
358 |
(MenuItem |
|
359 |
label: 'Gray' |
|
11143 | 360 |
nameKey: #'Gray' |
11142 | 361 |
translateLabel: true |
362 |
choiceValue: gray |
|
363 |
choice: colorProfileHolder |
|
364 |
) |
|
365 |
) |
|
366 |
nil |
|
367 |
nil |
|
368 |
) |
|
369 |
||
370 |
"Modified: / 17-01-2012 / 13:00:33 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
371 |
! |
|
372 |
||
8779 | 373 |
toolbarMenu |
374 |
"This resource specification was automatically generated |
|
375 |
by the MenuEditor of ST/X." |
|
376 |
||
377 |
"Do not manually edit this!! If it is corrupted, |
|
378 |
the MenuEditor may not be able to read the specification." |
|
379 |
||
11142 | 380 |
|
8779 | 381 |
" |
10379 | 382 |
MenuEditor new openOnClass:Tools::Inspector2 andSelector:#toolbarMenu |
383 |
(Menu new fromLiteralArrayEncoding:(Tools::Inspector2 toolbarMenu)) startUp |
|
8779 | 384 |
" |
385 |
||
386 |
<resource: #menu> |
|
387 |
||
388 |
^ |
|
389 |
#(Menu |
|
390 |
( |
|
391 |
(MenuItem |
|
10597 | 392 |
activeHelpKey: backwardInVisitingHistory |
8779 | 393 |
enabled: backButtonEnabledHolder |
394 |
label: 'Back' |
|
395 |
itemValue: backButtonAction |
|
396 |
translateLabel: true |
|
10460 | 397 |
isButton: true |
10596 | 398 |
hideMenuOnActivated: false |
8779 | 399 |
submenuChannel: backButtonMenuChannel |
10596 | 400 |
labelImage: (ResourceRetriever ToolbarIconLibrary historyBackIcon) |
8779 | 401 |
) |
402 |
(MenuItem |
|
10597 | 403 |
activeHelpKey: forwardInVisitingHistory |
8779 | 404 |
enabled: forwardButtonEnabledHolder |
405 |
label: 'Forward' |
|
406 |
itemValue: forwardButtonAction |
|
407 |
translateLabel: true |
|
10460 | 408 |
isButton: true |
10596 | 409 |
hideMenuOnActivated: false |
8779 | 410 |
submenuChannel: forwardButtonMenuChannel |
10596 | 411 |
labelImage: (ResourceRetriever ToolbarIconLibrary historyForwardIcon) |
8779 | 412 |
) |
10379 | 413 |
(MenuItem |
414 |
label: '-' |
|
415 |
) |
|
416 |
(MenuItem |
|
10597 | 417 |
activeHelpKey: browseClassOfShownObject |
418 |
enabled: browseButtonEnabledHolder |
|
10379 | 419 |
label: 'Browse' |
420 |
itemValue: browseClassAction |
|
421 |
translateLabel: true |
|
422 |
isButton: true |
|
10596 | 423 |
hideMenuOnActivated: false |
424 |
labelImage: (ResourceRetriever ToolbarIconLibrary startNewSystemBrowserIcon) |
|
10379 | 425 |
) |
10597 | 426 |
(MenuItem |
427 |
activeHelpKey: browseFile |
|
428 |
label: 'Browse File' |
|
429 |
itemValue: browseFileAction |
|
430 |
translateLabel: true |
|
431 |
isButton: true |
|
432 |
isVisible: currentObjectIsFilename |
|
433 |
hideMenuOnActivated: false |
|
434 |
labelImage: (ResourceRetriever ToolbarIconLibrary startNewFileBrowserIcon) |
|
435 |
) |
|
10636 | 436 |
(MenuItem |
11134 | 437 |
activeHelpKey: editImage |
438 |
label: 'Edit the Image' |
|
439 |
itemValue: editImageAction |
|
440 |
translateLabel: true |
|
441 |
isButton: true |
|
442 |
isVisible: currentObjectIsImage |
|
443 |
hideMenuOnActivated: false |
|
444 |
labelImage: (ResourceRetriever ToolbarIconLibrary startImageEditorIcon) |
|
445 |
) |
|
446 |
(MenuItem |
|
10636 | 447 |
label: 'Refresh for Changed Object' |
448 |
itemValue: refreshTabs |
|
449 |
translateLabel: true |
|
450 |
isButton: true |
|
451 |
startGroup: right |
|
452 |
labelImage: (ResourceRetriever ToolbarIconLibrary reloadIcon) |
|
453 |
) |
|
11142 | 454 |
(MenuItem |
455 |
label: 'Settings' |
|
456 |
translateLabel: true |
|
457 |
isButton: true |
|
458 |
submenuChannel: settingsMenu |
|
459 |
labelImage: (ResourceRetriever #'Tools::Inspector2' settingsIcon) |
|
460 |
) |
|
8779 | 461 |
) |
462 |
nil |
|
463 |
nil |
|
464 |
) |
|
11134 | 465 |
|
11142 | 466 |
"Modified: / 17-01-2012 / 10:04:13 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8779 | 467 |
! ! |
468 |
||
469 |
!Inspector2 class methodsFor:'startup'! |
|
470 |
||
471 |
openOn: anObject |
|
472 |
||
10311 | 473 |
self new |
474 |
openOn: anObject. |
|
8779 | 475 |
|
476 |
"Modified: / 17-02-2008 / 10:29:45 / janfrog" |
|
10311 | 477 |
"Modified (format): / 11-07-2011 / 22:28:03 / cg" |
8779 | 478 |
! ! |
479 |
||
480 |
!Inspector2 class methodsFor:'testing'! |
|
481 |
||
482 |
testSimpleShow |
|
483 |
|ins| |
|
484 |
||
485 |
ins := Inspector2 openOn:4. |
|
486 |
ins inspect:10. |
|
487 |
ins inspect:42. |
|
488 |
ins inspect:'dead one'. |
|
489 |
ins inspect:'rolled back'. |
|
490 |
||
491 |
"/ins inspectItem: (ins history at: 3). "/ Rollback history, zustanou jen prvni 3 |
|
492 |
||
493 |
ins inspect:'xFuj'. |
|
494 |
||
495 |
"Modified: / 11-01-2008 / 20:36:37 / janfrog" |
|
496 |
! ! |
|
497 |
||
498 |
!Inspector2 methodsFor:'accessing'! |
|
499 |
||
10597 | 500 |
backButtonEnabled:value |
501 |
^ self backButtonEnabledHolder value:value |
|
8779 | 502 |
|
503 |
"Created: / 12-01-2008 / 19:14:35 / janfrog" |
|
10597 | 504 |
"Modified (format): / 19-08-2011 / 08:59:41 / cg" |
8779 | 505 |
! |
506 |
||
507 |
currentObject |
|
508 |
^ self navigationState theObject |
|
509 |
||
510 |
"Created: / 13-01-2008 / 10:14:47 / janfrog" |
|
511 |
"Modified: / 17-02-2008 / 09:49:01 / janfrog" |
|
512 |
! |
|
513 |
||
514 |
currentState |
|
515 |
^ self navigationHistoryHolder currentItem |
|
516 |
||
517 |
"Created: / 21-02-2008 / 19:39:45 / janfrog" |
|
518 |
"Modified: / 27-02-2008 / 11:56:55 / janfrog" |
|
519 |
! |
|
520 |
||
10597 | 521 |
forwardButtonEnabled:value |
522 |
^ self forwardButtonEnabledHolder value:value |
|
8779 | 523 |
|
524 |
"Created: / 12-01-2008 / 19:14:48 / janfrog" |
|
10597 | 525 |
"Modified (format): / 19-08-2011 / 08:59:45 / cg" |
8779 | 526 |
! |
527 |
||
528 |
navigationState |
|
10379 | 529 |
^ self navigationHistoryHolder value currentItem |
8779 | 530 |
|
531 |
"Created: / 17-02-2008 / 09:49:01 / janfrog" |
|
532 |
"Modified: / 21-02-2008 / 19:34:14 / janfrog" |
|
10379 | 533 |
"Modified: / 22-07-2011 / 19:13:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8779 | 534 |
! |
535 |
||
536 |
navigationState:historyItem |
|
10379 | 537 |
self navigationHistoryHolder "subjectChannel:" value currentItem:historyItem. |
8779 | 538 |
|
539 |
"/self fixNavigation. "Nevola se kvuli problemu s prekreslovanim" |
|
540 |
"/self updateTabs. |
|
541 |
||
542 |
"Created: / 17-02-2008 / 09:49:11 / janfrog" |
|
543 |
"Modified: / 21-02-2008 / 19:47:26 / janfrog" |
|
10379 | 544 |
"Modified: / 22-07-2011 / 19:13:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
10597 | 545 |
"Modified: / 19-08-2011 / 09:16:38 / cg" |
8779 | 546 |
! ! |
547 |
||
548 |
!Inspector2 methodsFor:'aspects'! |
|
549 |
||
550 |
backButtonEnabledHolder |
|
551 |
"return/create the 'backButtonEnabledHolder' value holder (automatically generated)" |
|
552 |
||
553 |
^(AspectAdaptor forAspect:#canGoBack) |
|
554 |
subjectChannel: self navigationHistoryHolder |
|
555 |
||
556 |
"Created: / 12-01-2008 / 19:13:49 / janfrog" |
|
557 |
"Modified: / 27-02-2008 / 12:11:30 / janfrog" |
|
558 |
! |
|
559 |
||
10597 | 560 |
browseButtonEnabledHolder |
561 |
^ BlockValue |
|
562 |
with:[:m | m notNil] |
|
563 |
argument:self navigationStateAspect |
|
564 |
||
565 |
"Created: / 19-08-2011 / 09:22:47 / cg" |
|
566 |
! |
|
567 |
||
11142 | 568 |
colorProfileHolder |
569 |
"return/create the 'colorProfileHolder' value holder (automatically generated)" |
|
570 |
||
571 |
colorProfileHolder isNil ifTrue:[ |
|
572 |
colorProfileHolder := ValueHolder with: #default. |
|
573 |
]. |
|
574 |
^ colorProfileHolder |
|
575 |
||
576 |
"Modified: / 17-01-2012 / 12:54:31 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
577 |
! |
|
578 |
||
10597 | 579 |
currentObjectHolder |
580 |
currentObjectHolder isNil ifTrue:[ |
|
581 |
currentObjectHolder := ValueHolder new |
|
582 |
]. |
|
583 |
^ currentObjectHolder |
|
584 |
||
585 |
"Created: / 27-02-2008 / 12:05:22 / janfrog" |
|
586 |
"Created: / 19-08-2011 / 08:58:48 / cg" |
|
587 |
! |
|
588 |
||
589 |
currentObjectIsFilename |
|
590 |
^ BlockValue |
|
591 |
with:[:o | o isFilename ] |
|
592 |
argument:self currentObjectHolder |
|
593 |
||
594 |
"Created: / 19-08-2011 / 08:56:27 / cg" |
|
595 |
! |
|
596 |
||
11134 | 597 |
currentObjectIsImage |
598 |
^ BlockValue |
|
599 |
with:[:o | o isImageOrForm ] |
|
600 |
argument:self currentObjectHolder |
|
601 |
||
602 |
"Created: / 15-01-2012 / 10:06:28 / cg" |
|
603 |
! |
|
604 |
||
8779 | 605 |
forwardButtonEnabledHolder |
606 |
"return/create the 'backButtonEnabledHolder' value holder (automatically generated)" |
|
607 |
||
608 |
^(AspectAdaptor forAspect:#canGoForward) |
|
609 |
subjectChannel: self navigationHistoryHolder |
|
610 |
||
611 |
"Created: / 12-01-2008 / 19:13:49 / janfrog" |
|
612 |
"Modified: / 27-02-2008 / 12:11:26 / janfrog" |
|
613 |
! |
|
614 |
||
615 |
navigationHistoryHolder |
|
616 |
"return/create the 'currentItemHolder' value holder (automatically generated)" |
|
617 |
||
618 |
navigationHistoryHolder isNil ifTrue:[ |
|
619 |
navigationHistoryHolder := Tools::NavigationHistory new. |
|
620 |
]. |
|
621 |
^ navigationHistoryHolder |
|
622 |
||
623 |
"Created: / 21-02-2008 / 19:34:14 / janfrog" |
|
624 |
! |
|
625 |
||
626 |
navigationStateAspect |
|
10597 | 627 |
navigationStateAspect isNil ifTrue:[ |
628 |
navigationStateAspect := (AspectAdaptor forAspect:#currentItem) |
|
629 |
subjectChannel:self navigationHistoryHolder |
|
630 |
]. |
|
631 |
^ navigationStateAspect |
|
8779 | 632 |
|
633 |
"Created: / 27-02-2008 / 12:05:22 / janfrog" |
|
10597 | 634 |
"Modified (format): / 19-08-2011 / 08:59:10 / cg" |
8779 | 635 |
! |
636 |
||
637 |
tabLabelsAspect |
|
638 |
^ (AspectAdaptor forAspect:#tabLabels) |
|
10597 | 639 |
subjectChannel:self navigationStateAspect |
8779 | 640 |
|
641 |
"Created: / 16-01-2008 / 17:29:52 / janfrog" |
|
642 |
"Modified: / 27-02-2008 / 12:05:32 / janfrog" |
|
10597 | 643 |
"Modified (format): / 19-08-2011 / 08:59:21 / cg" |
8779 | 644 |
! |
645 |
||
646 |
tabSelectionIndexAspect |
|
647 |
^ ((AspectAdaptor forAspect:#selectionIndex) |
|
648 |
subjectChannel:self navigationStateAspect) |
|
649 |
onChangeEvaluate:[ self tabViewAspect changed ]; |
|
650 |
yourself |
|
651 |
||
652 |
"Created: / 16-01-2008 / 17:29:29 / janfrog" |
|
653 |
"Modified: / 27-02-2008 / 12:06:05 / janfrog" |
|
654 |
! |
|
655 |
||
656 |
tabViewAspect |
|
10597 | 657 |
tabViewAspect isNil ifTrue:[ |
658 |
tabViewAspect := (AspectAdaptor forAspect:#selectionView) |
|
659 |
subjectChannel:self navigationStateAspect |
|
660 |
]. |
|
8779 | 661 |
^ tabViewAspect |
662 |
||
663 |
"Created: / 16-01-2008 / 17:30:05 / janfrog" |
|
664 |
"Modified: / 27-02-2008 / 12:05:46 / janfrog" |
|
10597 | 665 |
"Modified (format): / 19-08-2011 / 08:59:35 / cg" |
8779 | 666 |
! |
667 |
||
11142 | 668 |
toolbarBackgroundHolder |
669 |
"return/create the 'toolbarBackgroundHolder' value holder (automatically generated)" |
|
670 |
||
671 |
toolbarBackgroundHolder isNil ifTrue:[ |
|
672 |
toolbarBackgroundHolder := BlockValue |
|
673 |
with: [:profile| |
|
674 |
| clr | |
|
675 |
||
676 |
clr := ColorProfiles at: profile value. |
|
677 |
clr isNil ifTrue:[ |
|
678 |
clr := MenuPanel defaultBackgroundColor |
|
679 |
]. |
|
680 |
clr. |
|
681 |
] argument: self colorProfileHolder |
|
682 |
]. |
|
683 |
^ toolbarBackgroundHolder |
|
684 |
||
685 |
"Modified: / 17-01-2012 / 13:04:25 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
686 |
! |
|
687 |
||
8779 | 688 |
windowTitleAspect |
689 |
^ (AspectAdaptor forAspect:#displayString) |
|
690 |
subjectChannel:self navigationStateAspect |
|
691 |
||
692 |
"Created: / 17-02-2008 / 08:42:21 / janfrog" |
|
693 |
"Modified: / 27-02-2008 / 12:05:56 / janfrog" |
|
694 |
! ! |
|
695 |
||
10379 | 696 |
!Inspector2 methodsFor:'menu'! |
697 |
||
698 |
backButtonMenuChannel |
|
699 |
^ [ self navigationHistoryHolder goBackMenu ] |
|
700 |
||
701 |
"Created: / 12-01-2008 / 18:57:08 / janfrog" |
|
702 |
"Modified: / 22-02-2008 / 16:57:46 / janfrog" |
|
703 |
! |
|
704 |
||
705 |
forwardButtonMenuChannel |
|
706 |
^ [ self navigationHistoryHolder goForwardMenu ] |
|
707 |
||
708 |
"Created: / 12-01-2008 / 18:57:30 / janfrog" |
|
709 |
"Modified: / 22-02-2008 / 16:58:11 / janfrog" |
|
710 |
! ! |
|
711 |
||
712 |
!Inspector2 methodsFor:'menu actions'! |
|
8779 | 713 |
|
714 |
backButtonAction |
|
10320 | 715 |
self navigationHistoryHolder goBack. |
716 |
self updateWindowLabel |
|
8779 | 717 |
|
718 |
"Modified: / 21-02-2008 / 19:40:23 / janfrog" |
|
10320 | 719 |
"Modified: / 15-07-2011 / 16:26:28 / cg" |
8779 | 720 |
! |
721 |
||
10379 | 722 |
browseClassAction |
10636 | 723 |
"open a class browser, or try to add a tab to the previously opened class browser" |
10597 | 724 |
|
10460 | 725 |
| class | |
10379 | 726 |
|
727 |
class := self currentObject class. |
|
8779 | 728 |
|
10597 | 729 |
browser notNil ifTrue:[ |
730 |
"/ try to add a tab to the already opened browser |
|
731 |
(browser isKindOf:Tools::NewSystemBrowser) ifTrue:[ |
|
732 |
browser spawnClassBrowserFor:(Array with:class) in:#newBuffer. |
|
733 |
"/ browser spawnSingleClassBrowserFor:class in:#newBuffer. |
|
734 |
browser window raise. |
|
735 |
^ self. |
|
736 |
]. |
|
737 |
]. |
|
738 |
"/ if that fails, open a new one |
|
739 |
||
740 |
browser := UserPreferences current systemBrowserClass openInClass:class selector:nil "/ browseSingleClass: class |
|
10379 | 741 |
|
742 |
"Modified: / 23-07-2011 / 11:28:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
10636 | 743 |
"Modified (comment): / 21-08-2011 / 08:37:59 / cg" |
10597 | 744 |
! |
745 |
||
746 |
browseFileAction |
|
747 |
"open a filebrowser on the file represented by the current object" |
|
748 |
||
749 |
| fn | |
|
750 |
||
751 |
fn := self currentObject asFilename. |
|
752 |
UserPreferences current fileBrowserClass openOn:fn |
|
753 |
||
754 |
"Created: / 19-08-2011 / 09:29:44 / cg" |
|
8779 | 755 |
! |
756 |
||
11142 | 757 |
changeColorAction: color |
758 |
||
759 |
self toolbarBackgroundHolder value: (Color perform: color asSymbol) |
|
760 |
||
761 |
"Created: / 17-01-2012 / 01:03:55 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
762 |
! |
|
763 |
||
11134 | 764 |
editImageAction |
765 |
"open an imageEditor on the current object" |
|
766 |
||
767 |
| img | |
|
768 |
||
769 |
img := self currentObject. |
|
770 |
ImageEditor openOnImage:img. |
|
771 |
||
772 |
"Created: / 15-01-2012 / 10:08:29 / cg" |
|
773 |
! |
|
774 |
||
8779 | 775 |
forwardButtonAction |
10320 | 776 |
self navigationHistoryHolder goForward. |
777 |
self updateWindowLabel |
|
8779 | 778 |
|
779 |
"Created: / 21-02-2008 / 19:52:03 / janfrog" |
|
10320 | 780 |
"Modified: / 15-07-2011 / 16:26:33 / cg" |
10636 | 781 |
! |
782 |
||
783 |
refreshTabs |
|
784 |
self navigationHistoryHolder currentItem refreshTabs. |
|
785 |
self tabViewAspect changed. |
|
786 |
||
787 |
"/ sel := selectionIndex. |
|
788 |
"/ self selectionIndex:nil. |
|
789 |
"/ self selectionIndex:sel. |
|
790 |
||
791 |
"Created: / 21-08-2011 / 08:23:00 / cg" |
|
8779 | 792 |
! ! |
793 |
||
794 |
!Inspector2 methodsFor:'opening'! |
|
795 |
||
10311 | 796 |
closeDownViews |
797 |
LastExtent := self window extent. |
|
798 |
super closeDownViews. |
|
799 |
||
800 |
"Created: / 11-07-2011 / 22:33:47 / cg" |
|
801 |
! |
|
802 |
||
8779 | 803 |
historyTryPush: anObject |
10597 | 804 |
<resource: #obsolete> |
8779 | 805 |
|
806 |
"/ Pokud uz na anObject byl tak tam skocit, jinak pridat na konec |
|
807 |
self history do: [:item | |
|
808 |
item theObject == anObject ifTrue:[ ^item ] |
|
809 |
]. |
|
810 |
||
811 |
^ self history push:anObject. |
|
812 |
||
813 |
"Modified: / 16-01-2008 / 14:25:30 / janfrog" |
|
814 |
! |
|
815 |
||
816 |
inspect:anObject |
|
10597 | 817 |
self navigationHistoryHolder currentItem:(NavigationState for:anObject). |
818 |
self window notNil ifTrue:[ |
|
10320 | 819 |
self updateWindowLabel |
820 |
]. |
|
8779 | 821 |
|
822 |
"Modified: / 27-02-2008 / 12:06:52 / janfrog" |
|
10320 | 823 |
"Modified: / 15-07-2011 / 16:26:03 / cg" |
10597 | 824 |
"Modified (format): / 19-08-2011 / 09:01:20 / cg" |
8779 | 825 |
! |
826 |
||
827 |
openOn: anObject |
|
10311 | 828 |
self inspect: anObject. |
829 |
self openWithExtent:(LastExtent ? nil). |
|
8779 | 830 |
|
831 |
"Modified: / 13-01-2008 / 13:55:27 / janfrog" |
|
10311 | 832 |
"Modified: / 11-07-2011 / 22:31:42 / cg" |
10320 | 833 |
! |
834 |
||
835 |
postBuildWith:aBuilder |
|
836 |
self updateWindowLabel |
|
837 |
||
838 |
"Created: / 15-07-2011 / 16:25:36 / cg" |
|
839 |
! |
|
840 |
||
841 |
updateWindowLabel |
|
10423
8215f496b6de
changed: #updateWindowLabel
Claus Gittinger <cg@exept.de>
parents:
10392
diff
changeset
|
842 |
|currentItem object| |
10320 | 843 |
|
10423
8215f496b6de
changed: #updateWindowLabel
Claus Gittinger <cg@exept.de>
parents:
10392
diff
changeset
|
844 |
(currentItem := self navigationHistoryHolder currentItem) notNil ifTrue:[ |
8215f496b6de
changed: #updateWindowLabel
Claus Gittinger <cg@exept.de>
parents:
10392
diff
changeset
|
845 |
object := currentItem theObject. |
8215f496b6de
changed: #updateWindowLabel
Claus Gittinger <cg@exept.de>
parents:
10392
diff
changeset
|
846 |
]. |
10597 | 847 |
self currentObjectHolder value:object. |
10320 | 848 |
self window label:(InspectorView commonLabelFor:object). |
849 |
||
850 |
"Created: / 15-07-2011 / 16:25:42 / cg" |
|
8779 | 851 |
! ! |
852 |
||
853 |
!Inspector2::NavigationState class methodsFor:'creating classes'! |
|
854 |
||
10597 | 855 |
for:anObject |
856 |
|item| |
|
857 |
||
858 |
item := self new. |
|
859 |
item theObject:anObject. |
|
860 |
^ item. |
|
861 |
||
862 |
"Modified (format): / 19-08-2011 / 09:24:40 / cg" |
|
8779 | 863 |
! ! |
864 |
||
865 |
!Inspector2::NavigationState class methodsFor:'documentation'! |
|
866 |
||
9996 | 867 |
version |
11143 | 868 |
^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.23 2012-01-17 13:48:56 vrany Exp $' |
9996 | 869 |
! |
870 |
||
8779 | 871 |
version_SVN |
8904
f051532eb303
update #version_SVN with § as keyword expansion character
fm
parents:
8816
diff
changeset
|
872 |
^'§Id: Tools__Inspector2.st 115 2009-04-16 12:47:07Z vranyj1 §' |
8779 | 873 |
! ! |
874 |
||
875 |
!Inspector2::NavigationState methodsFor:'accessing'! |
|
876 |
||
877 |
index |
|
878 |
^ index |
|
879 |
! |
|
880 |
||
881 |
index:something |
|
882 |
index := something. |
|
883 |
! |
|
884 |
||
885 |
selectionIndex |
|
10875 | 886 |
selectionIndex isNil ifTrue:[^1]. |
8779 | 887 |
selectionIndex < 1 ifTrue:[^1]. |
888 |
selectionIndex > tabs size ifTrue:[^tabs size]. |
|
889 |
^selectionIndex |
|
890 |
||
891 |
"Created: / 16-01-2008 / 17:24:27 / janfrog" |
|
892 |
"Modified: / 17-02-2008 / 10:20:35 / janfrog" |
|
10875 | 893 |
"Modified: / 18-11-2011 / 15:00:01 / cg" |
8779 | 894 |
! |
895 |
||
896 |
selectionIndex: anInteger |
|
897 |
selectionIndex := anInteger. |
|
898 |
self changed:#selectionIndex |
|
899 |
||
900 |
"Created: / 16-01-2008 / 17:27:52 / janfrog" |
|
901 |
"Modified: / 17-02-2008 / 09:46:45 / janfrog" |
|
902 |
! |
|
903 |
||
904 |
selectionView |
|
905 |
||
906 |
|tab| |
|
907 |
||
908 |
tab := self tabs at: self selectionIndex. |
|
909 |
^tab |
|
910 |
ifNil:[nil] |
|
911 |
ifNotNil:[tab view]. |
|
912 |
||
913 |
"Created: / 16-01-2008 / 17:31:19 / janfrog" |
|
914 |
! |
|
915 |
||
916 |
tabLabels |
|
917 |
||
918 |
^self tabs collect:[:tab | tab label] |
|
919 |
||
920 |
"Created: / 16-01-2008 / 17:14:07 / janfrog" |
|
921 |
! |
|
922 |
||
923 |
tabViews |
|
924 |
||
925 |
^self tabs collect:[:tab | tab view] |
|
926 |
||
927 |
"Created: / 16-01-2008 / 17:14:13 / janfrog" |
|
928 |
! |
|
929 |
||
930 |
tabs |
|
931 |
||
10875 | 932 |
tabs isNil ifTrue:[self initializeTabs]. |
8779 | 933 |
^tabs |
934 |
||
935 |
"Created: / 16-01-2008 / 16:51:53 / janfrog" |
|
10875 | 936 |
"Modified: / 18-11-2011 / 15:00:05 / cg" |
8779 | 937 |
! |
938 |
||
939 |
theObject |
|
940 |
^ theObject |
|
941 |
! |
|
942 |
||
943 |
theObject:anObject |
|
944 |
theObject := anObject. |
|
10597 | 945 |
self changed |
8779 | 946 |
|
947 |
"Modified: / 17-02-2008 / 08:38:44 / janfrog" |
|
10597 | 948 |
"Modified: / 19-08-2011 / 09:16:25 / cg" |
8779 | 949 |
! ! |
950 |
||
951 |
!Inspector2::NavigationState methodsFor:'comparing'! |
|
952 |
||
953 |
= anotherState |
|
954 |
||
955 |
^self class == anotherState class |
|
956 |
and:[self theObject == anotherState theObject] |
|
957 |
||
958 |
"Created: / 21-02-2008 / 19:39:01 / janfrog" |
|
959 |
! |
|
960 |
||
961 |
hash |
|
962 |
||
963 |
^theObject hash |
|
964 |
||
965 |
"Created: / 21-02-2008 / 19:38:08 / janfrog" |
|
966 |
! ! |
|
967 |
||
968 |
!Inspector2::NavigationState methodsFor:'displaying'! |
|
969 |
||
970 |
displayString |
|
971 |
||
10392 | 972 |
displayString isNil ifTrue:[ |
973 |
displayString := theObject printString contractAtEndTo:15. |
|
974 |
displayString := displayString , ' [', theObject class name , ']' |
|
975 |
]. |
|
8779 | 976 |
^ displayString |
977 |
||
978 |
"Created: / 21-02-2008 / 19:53:07 / janfrog" |
|
10392 | 979 |
"Modified: / 25-07-2011 / 10:50:52 / cg" |
8779 | 980 |
! ! |
981 |
||
982 |
!Inspector2::NavigationState methodsFor:'initialization'! |
|
983 |
||
10379 | 984 |
initializeClassBrowserTab |
10629 | 985 |
| browser spec | |
10379 | 986 |
|
10629 | 987 |
spec := #singleClassBrowserSpec. |
988 |
"/spec := #multipleClassBrowserSpec. |
|
989 |
browser := Tools::NewSystemBrowser new. |
|
990 |
browser createBuilder. |
|
991 |
browser navigationState canvasType:spec. |
|
992 |
browser browserCanvasType:spec. |
|
993 |
browser browserCanvas value builder:(browser builder). |
|
994 |
browser navigationState canvas:browser browserCanvas value. |
|
995 |
browser showInheritedMethods. |
|
10664 | 996 |
browser classListGenerator value:(Array with:theObject class theNonMetaclass). |
10629 | 997 |
browser selectClass: theObject class theNonMetaclass. |
10379 | 998 |
|
999 |
tabs add: |
|
1000 |
(Tools::Inspector2Tab new |
|
10629 | 1001 |
priority: 0; |
1002 |
label:'Class'; |
|
1003 |
view: (ApplicationSubView new |
|
1004 |
client: browser spec: spec)) |
|
10379 | 1005 |
|
1006 |
"Created: / 22-07-2011 / 18:48:17 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
10664 | 1007 |
"Modified: / 05-09-2011 / 05:24:16 / cg" |
10379 | 1008 |
! |
1009 |
||
8779 | 1010 |
initializeCommonTabs |
1011 |
||
10379 | 1012 |
"Unfinished code" |
10629 | 1013 |
self initializeClassBrowserTab |
10379 | 1014 |
|
9996 | 1015 |
"/ tabs add: |
1016 |
"/ (Tools::Inspector2Tab new |
|
1017 |
"/ priority: 50; |
|
1018 |
"/ label:'Object'; |
|
1019 |
"/ view: ((theObject inspectorClass new inspect:theObject) |
|
1020 |
"/ yourself)) |
|
8779 | 1021 |
|
1022 |
"Created: / 16-01-2008 / 16:56:48 / janfrog" |
|
1023 |
"Modified: / 17-02-2008 / 10:29:54 / janfrog" |
|
10629 | 1024 |
"Modified: / 21-08-2011 / 10:03:04 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
8779 | 1025 |
! |
1026 |
||
1027 |
initializeExtraTabs |
|
1028 |
||
10206 | 1029 |
"/ cg: I prefer using explicit getter - so I find them in the browser |
1030 |
theObject inspector2Tabs do: [:selector| |
|
8779 | 1031 |
| tab | |
1032 |
tab := [ theObject perform: selector ] |
|
10636 | 1033 |
on: Error do:[:ex| |
1034 |
"/ for debugging: ex reject. |
|
8779 | 1035 |
Tools::Inspector2Tab new |
1036 |
label: selector; |
|
1037 |
text: |
|
1038 |
(ex description, Character cr, Character cr, |
|
10636 | 1039 |
ex suspendedContext fullPrintAllString)]. |
8779 | 1040 |
(tab notNil and:[tab isKindOf: Tools::Inspector2Tab]) |
1041 |
ifTrue:[tabs add: tab]]. |
|
1042 |
||
1043 |
"Created: / 16-01-2008 / 17:25:24 / janfrog" |
|
1044 |
"Modified: / 17-02-2008 / 10:30:43 / janfrog" |
|
1045 |
"Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>" |
|
10636 | 1046 |
"Modified (format): / 21-08-2011 / 08:01:34 / cg" |
8779 | 1047 |
! |
1048 |
||
1049 |
initializeTabs |
|
1050 |
||
1051 |
tabs := OrderedCollection new. |
|
1052 |
self initializeCommonTabs. |
|
1053 |
self initializeExtraTabs. |
|
1054 |
tabs := tabs asSortedCollection:[:a :b|a priority > b priority]. |
|
1055 |
||
1056 |
"Created: / 16-01-2008 / 16:54:28 / janfrog" |
|
1057 |
"Modified: / 17-02-2008 / 10:08:04 / janfrog" |
|
10636 | 1058 |
! |
1059 |
||
1060 |
refreshTabs |
|
1061 |
tabs := nil. |
|
1062 |
self initializeTabs. |
|
1063 |
||
1064 |
"Created: / 21-08-2011 / 08:23:11 / cg" |
|
8779 | 1065 |
! ! |
1066 |
||
1067 |
!Inspector2 class methodsFor:'documentation'! |
|
1068 |
||
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
1069 |
version |
11143 | 1070 |
^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.23 2012-01-17 13:48:56 vrany Exp $' |
10425
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
1071 |
! |
c49cba2bd28e
only follow (dive in) with double click;
Claus Gittinger <cg@exept.de>
parents:
10423
diff
changeset
|
1072 |
|
8807 | 1073 |
version_CVS |
11143 | 1074 |
^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.23 2012-01-17 13:48:56 vrany Exp $' |
8807 | 1075 |
! |
1076 |
||
8816 | 1077 |
version_CVS_jvrany |
8904
f051532eb303
update #version_SVN with § as keyword expansion character
fm
parents:
8816
diff
changeset
|
1078 |
^ '§Header: /opt/data/cvs/stx/goodies/libtool3/Inspector2.st,v 1.6 2008-02-27 13:45:23 vranyj1 Exp §' |
9996 | 1079 |
! |
1080 |
||
1081 |
version_SVN |
|
1082 |
^ '§Id: Tools__Inspector2.st 7486 2009-10-26 22:06:24Z vranyj1 §' |
|
8779 | 1083 |
! ! |
11142 | 1084 |
|
1085 |
Inspector2 initialize! |