InspectorView.st
branchjv
changeset 12401 4714b9640528
parent 12314 0cbf76168690
parent 12103 00db0ef29541
child 12406 1fbd331e4489
equal deleted inserted replaced
12330:235b77901045 12401:4714b9640528
   101     [author:]
   101     [author:]
   102         Claus Gittinger
   102         Claus Gittinger
   103 "
   103 "
   104 ! !
   104 ! !
   105 
   105 
       
   106 
   106 !InspectorView class methodsFor:'instance creation'!
   107 !InspectorView class methodsFor:'instance creation'!
   107 
   108 
   108 for:anObject
   109 for:anObject
   109     "create and launch a new inspector for anObject.
   110     "create and launch a new inspector for anObject.
   110      This protocol is a historic leftover - this method will vanish."
   111      This protocol is a historic leftover - this method will vanish."
   200 
   201 
   201 openOn:anObject withEvalPane:withEvalPane withLabel:aLabel
   202 openOn:anObject withEvalPane:withEvalPane withLabel:aLabel
   202     ^ self openOn:anObject
   203     ^ self openOn:anObject
   203 ! !
   204 ! !
   204 
   205 
       
   206 
   205 !InspectorView class methodsFor:'common label support'!
   207 !InspectorView class methodsFor:'common label support'!
   206 
   208 
   207 commonLabelFor:anObject
   209 commonLabelFor:anObject
   208     "return the windowLabel to use in my topView, when inspecting anObject.
   210     "return the windowLabel to use in my topView, when inspecting anObject.
   209      Identical objects are labelled with the same id, which makes it easy to
   211      Identical objects are labelled with the same id, which makes it easy to
   275     ].
   277     ].
   276     ^ s
   278     ^ s
   277 
   279 
   278     "Created: / 15-07-2011 / 16:20:06 / cg"
   280     "Created: / 15-07-2011 / 16:20:06 / cg"
   279 ! !
   281 ! !
       
   282 
   280 
   283 
   281 !InspectorView class methodsFor:'defaults'!
   284 !InspectorView class methodsFor:'defaults'!
   282 
   285 
   283 defaultExtent
   286 defaultExtent
   284     ^ (Screen current usableExtent // 3)
   287     ^ (Screen current usableExtent // 3)
   353     LastExtent := anExtent
   356     LastExtent := anExtent
   354 
   357 
   355     "Created: / 23-10-2007 / 19:10:02 / cg"
   358     "Created: / 23-10-2007 / 19:10:02 / cg"
   356 ! !
   359 ! !
   357 
   360 
       
   361 
   358 !InspectorView class methodsFor:'image specs'!
   362 !InspectorView class methodsFor:'image specs'!
   359 
   363 
   360 imageFor_arrays
   364 imageFor_arrays
   361     "This resource specification was automatically generated
   365     "This resource specification was automatically generated
   362      by the ImageEditor of ST/X."
   366      by the ImageEditor of ST/X."
   750 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(MB@ MB @@@@@@@@@@@@:K#@0F2(\N @@@@@@@@@-H0$IBP$I
   754 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@(MB@ MB @@@@@@@@@@@@:K#@0F2(\N @@@@@@@@@-H0$IBP$I
   751 A18-@@@@@@@@MC@GI@$$IBP9HP@@@@@@@B@[J3DIIB0^K3 @@@@@@@@ MRT5BRP^K1<8@@@@@@@@MB0,I $$K2\"JP@@@@@@@B49G#$IIA<]H#H@@@@@@@@@
   755 A18-@@@@@@@@MC@GI@$$IBP9HP@@@@@@@B@[J3DIIB0^K3 @@@@@@@@ MRT5BRP^K1<8@@@@@@@@MB0,I $$K2\"JP@@@@@@@B49G#$IIA<]H#H@@@@@@@@@
   752 M#L3NBH"H#\@@@@@@@@@@@@-JS 8JSH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 98 255 0 75 198 0 25 74 0 57 156 0 34 99 0 92 206 16 60 132 16 31 74 0 79 206 0 128 131 142 88 231 0 70 189 0 38 90 0 148 198 123 57 115 16 92 239 0 103 255 8 76 189 0 154 198 123 85 214 0 53 132 0 106 255 0 138 255 49 107 156 74 44 115 0 119 206 66 85 222 0 142 206 99 68 139 33 33 90 0 57 148 0 135 206 99]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b') ; yourself); yourself]
   756 M#L3NBH"H#\@@@@@@@@@@@@-JS 8JSH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@a') ; colorMapFromArray:#[226 226 226 176 176 176 155 155 155 169 169 169 152 152 152 164 164 164 149 149 149 192 192 192 240 240 240 255 255 255 202 202 202 201 201 201 151 151 151 162 162 162 148 148 148 158 158 158 173 173 173 154 154 154 167 167 167 150 150 150 160 160 160 180 180 180 156 156 156 170 170 170 153 153 153 165 165 165 183 183 183 98 255 0 75 198 0 25 74 0 57 156 0 34 99 0 92 206 16 60 132 16 31 74 0 79 206 0 128 131 142 88 231 0 70 189 0 38 90 0 148 198 123 57 115 16 92 239 0 103 255 8 76 189 0 154 198 123 85 214 0 53 132 0 106 255 0 138 255 49 107 156 74 44 115 0 119 206 66 85 222 0 142 206 99 68 139 33 33 90 0 57 148 0 135 206 99]; mask:((Depth1Image new) width: 16; height: 16; photometric:(#blackIs0); bitsPerSample:(#[1]); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@A>@O<A?8G? _>A?8G? _>@?0A>@@@@@@@@@b') ; yourself); yourself]
   753 ! !
   757 ! !
   754 
   758 
       
   759 
   755 !InspectorView class methodsFor:'queries-plugin'!
   760 !InspectorView class methodsFor:'queries-plugin'!
   756 
   761 
   757 aspectSelectors
   762 aspectSelectors
   758     ^ #( inspectedObjectHolder )
   763     ^ #( inspectedObjectHolder )
   759 
   764 
   760     "Modified: / 10.2.2000 / 12:25:28 / cg"
   765     "Modified: / 10.2.2000 / 12:25:28 / cg"
   761 ! !
   766 ! !
       
   767 
   762 
   768 
   763 !InspectorView methodsFor:'accessing'!
   769 !InspectorView methodsFor:'accessing'!
   764 
   770 
   765 allowFollow:aBoolean
   771 allowFollow:aBoolean
   766     "enable/disable the follow menu item;
   772     "enable/disable the follow menu item;
   935 
   941 
   936 workspace
   942 workspace
   937     ^ workspace
   943     ^ workspace
   938 ! !
   944 ! !
   939 
   945 
       
   946 
   940 !InspectorView methodsFor:'accessing-channels'!
   947 !InspectorView methodsFor:'accessing-channels'!
   941 
   948 
   942 inspectedObjectHolder
   949 inspectedObjectHolder
   943     inspectedObjectHolder isNil ifTrue:[
   950     inspectedObjectHolder isNil ifTrue:[
   944         inspectedObjectHolder := ValueHolder new.
   951         inspectedObjectHolder := ValueHolder new.
   959         inspectedObjectHolder addDependent:self.
   966         inspectedObjectHolder addDependent:self.
   960     ].
   967     ].
   961 
   968 
   962     "Created: / 10.2.2000 / 13:34:53 / cg"
   969     "Created: / 10.2.2000 / 13:34:53 / cg"
   963 ! !
   970 ! !
       
   971 
   964 
   972 
   965 !InspectorView methodsFor:'change & update'!
   973 !InspectorView methodsFor:'change & update'!
   966 
   974 
   967 update:something with:aParameter from:changedObject
   975 update:something with:aParameter from:changedObject
   968     "Invoked when one of my dependees sends a change notification."
   976     "Invoked when one of my dependees sends a change notification."
   985 
   993 
   986     "Created: / 10.2.2000 / 13:46:38 / cg"
   994     "Created: / 10.2.2000 / 13:46:38 / cg"
   987     "Modified: / 10.2.2000 / 13:48:18 / cg"
   995     "Modified: / 10.2.2000 / 13:48:18 / cg"
   988 ! !
   996 ! !
   989 
   997 
       
   998 
   990 !InspectorView methodsFor:'drag & drop'!
   999 !InspectorView methodsFor:'drag & drop'!
   991 
  1000 
   992 getDisplayObjects
  1001 getDisplayObjects
   993 
  1002 
   994     ^List with:self selection printString
  1003     ^List with:self selection printString
  1002     ^List with:(DropObject new:self selection).
  1011     ^List with:(DropObject new:self selection).
  1003 
  1012 
  1004     "Created: / 16-08-2005 / 21:49:23 / janfrog"
  1013     "Created: / 16-08-2005 / 21:49:23 / janfrog"
  1005     "Modified: / 18-09-2006 / 21:11:31 / cg"
  1014     "Modified: / 18-09-2006 / 21:11:31 / cg"
  1006 ! !
  1015 ! !
       
  1016 
  1007 
  1017 
  1008 !InspectorView methodsFor:'event handling'!
  1018 !InspectorView methodsFor:'event handling'!
  1009 
  1019 
  1010 doubleClickOnLine:lineNr
  1020 doubleClickOnLine:lineNr
  1011     |objectToInspect app|
  1021     |objectToInspect app|
  1059 
  1069 
  1060     isStandaloneInspector == true ifTrue:[
  1070     isStandaloneInspector == true ifTrue:[
  1061         LastExtent := self topView extent.
  1071         LastExtent := self topView extent.
  1062     ].
  1072     ].
  1063 ! !
  1073 ! !
       
  1074 
  1064 
  1075 
  1065 !InspectorView methodsFor:'initialization & release'!
  1076 !InspectorView methodsFor:'initialization & release'!
  1066 
  1077 
  1067 destroy
  1078 destroy
  1068     (self topView objectAttributeAt:#rememberExtent) == true ifTrue:[
  1079     (self topView objectAttributeAt:#rememberExtent) == true ifTrue:[
  1218         object isString ifTrue:[
  1229         object isString ifTrue:[
  1219             self showSelection:1    "/ the self-line    
  1230             self showSelection:1    "/ the self-line    
  1220         ]
  1231         ]
  1221     ].
  1232     ].
  1222 ! !
  1233 ! !
       
  1234 
  1223 
  1235 
  1224 !InspectorView methodsFor:'menu'!
  1236 !InspectorView methodsFor:'menu'!
  1225 
  1237 
  1226 fieldMenu
  1238 fieldMenu
  1227     "return the menu for the field-list"
  1239     "return the menu for the field-list"
  1552             ifFalse:[ #('Alphabetical'  #setSortOrderToAlphabetical  ) ] .
  1564             ifFalse:[ #('Alphabetical'  #setSortOrderToAlphabetical  ) ] .
  1553       } select:[:el | el notNil].
  1565       } select:[:el | el notNil].
  1554 
  1566 
  1555     "Created: / 20-07-2012 / 10:47:53 / cg"
  1567     "Created: / 20-07-2012 / 10:47:53 / cg"
  1556 ! !
  1568 ! !
       
  1569 
  1557 
  1570 
  1558 !InspectorView methodsFor:'menu actions'!
  1571 !InspectorView methodsFor:'menu actions'!
  1559 
  1572 
  1560 browse
  1573 browse
  1561     |cls|
  1574     |cls|
  2027 
  2040 
  2028     "Created: / 6.2.2000 / 13:46:37 / cg"
  2041     "Created: / 6.2.2000 / 13:46:37 / cg"
  2029     "Modified: / 6.2.2000 / 13:47:37 / cg"
  2042     "Modified: / 6.2.2000 / 13:47:37 / cg"
  2030 ! !
  2043 ! !
  2031 
  2044 
       
  2045 
  2032 !InspectorView methodsFor:'presentation'!
  2046 !InspectorView methodsFor:'presentation'!
  2033 
  2047 
  2034 appendDisplayStringForElementsOf:val indent:lvl pad:padding to:aStream
  2048 appendDisplayStringForElementsOf:val indent:lvl pad:padding to:aStream
  2035     val doWithIndex:[:el :idx |
  2049     val doWithIndex:[:el :idx |
  2036         |elValString|
  2050         |elValString|
  2052     "return the value's displayString to be pasted into the workspace."
  2066     "return the value's displayString to be pasted into the workspace."
  2053 
  2067 
  2054     |s|
  2068     |s|
  2055 
  2069 
  2056     Error handle:[:ex |
  2070     Error handle:[:ex |
       
  2071         (ex signal == WriteError and:[s isStream]) ifTrue:[
       
  2072             "hit the write limit set below"
       
  2073             s writeLimit:nil.
       
  2074             s nextPutAll:' ...'.
       
  2075             ^ s contents.
       
  2076         ].
  2057         s := someValue classNameWithArticle.
  2077         s := someValue classNameWithArticle.
  2058         displayStringMessage == #displayString ifTrue:[
  2078         displayStringMessage == #displayString ifTrue:[
  2059             s := s , ' "error in displayString: ' , ex description , '"'
  2079             s := s , ' "error in displayString: ' , ex description , '"'
  2060         ] ifFalse:[
  2080         ] ifFalse:[
  2061             s := s , ' "error in displayString (' , displayStringMessage , '): ' , ex description , '"'
  2081             s := s , ' "error in displayString (' , displayStringMessage , '): ' , ex description , '"'
  2374     ^ ' <',valString,'>'
  2394     ^ ' <',valString,'>'
  2375 
  2395 
  2376     "Created: / 13-06-2012 / 12:04:31 / cg"
  2396     "Created: / 13-06-2012 / 12:04:31 / cg"
  2377 ! !
  2397 ! !
  2378 
  2398 
       
  2399 
  2379 !InspectorView methodsFor:'private'!
  2400 !InspectorView methodsFor:'private'!
  2380 
  2401 
  2381 baseInspectedObjectClass
  2402 baseInspectedObjectClass
  2382     ^ Object
  2403     ^ Object
  2383 
  2404 
  2632         list := l collect:[:i | i printString].
  2653         list := l collect:[:i | i printString].
  2633     ].
  2654     ].
  2634 
  2655 
  2635     ^ list
  2656     ^ list
  2636         keysAndValuesCollect:[:idx :nm |
  2657         keysAndValuesCollect:[:idx :nm |
  2637             | val |
  2658             |val|
  2638             
  2659 
  2639             [
  2660             [
  2640                 val := self indexedValueAtIndex:idx.
  2661                 val := self indexedValueAtIndex:idx.
  2641             ] on:Error do:[
  2662             ] on:Error do:[
  2642                 val := '** ERROR **'
  2663                 val := ''
  2643             ].
  2664             ].
  2644 "/            [
  2665 "/            [
  2645 "/                val := object at:idx.
  2666 "/                val := object at:idx.
  2646 "/            ] on:Error do:[
  2667 "/            ] on:Error do:[
  2647 "/                [
  2668 "/                [
  3097 
  3118 
  3098     "Created: / 31-10-2001 / 09:17:45 / cg"
  3119     "Created: / 31-10-2001 / 09:17:45 / cg"
  3099     "Modified: / 06-06-2012 / 11:57:54 / cg"
  3120     "Modified: / 06-06-2012 / 11:57:54 / cg"
  3100 ! !
  3121 ! !
  3101 
  3122 
       
  3123 
  3102 !InspectorView methodsFor:'queries'!
  3124 !InspectorView methodsFor:'queries'!
  3103 
  3125 
  3104 canInspect:anObject
  3126 canInspect:anObject
  3105     ^ anObject inspectorClass == self class
  3127     ^ anObject inspectorClass == self class
  3106 !
  3128 !
  3161 
  3183 
  3162 suppressPseudoSlots
  3184 suppressPseudoSlots
  3163     ^ suppressPseudoSlots ? false
  3185     ^ suppressPseudoSlots ? false
  3164 ! !
  3186 ! !
  3165 
  3187 
       
  3188 
  3166 !InspectorView methodsFor:'selection'!
  3189 !InspectorView methodsFor:'selection'!
  3167 
  3190 
  3168 selection:lineNr
  3191 selection:lineNr
  3169     self showSelection:lineNr
  3192     self showSelection:lineNr
  3170 !
  3193 !
  3215         ].
  3238         ].
  3216     ].
  3239     ].
  3217 
  3240 
  3218     "Modified: / 28-10-2012 / 11:03:04 / cg"
  3241     "Modified: / 28-10-2012 / 11:03:04 / cg"
  3219 ! !
  3242 ! !
       
  3243 
  3220 
  3244 
  3221 !InspectorView methodsFor:'user interaction'!
  3245 !InspectorView methodsFor:'user interaction'!
  3222 
  3246 
  3223 doAccept:theText
  3247 doAccept:theText
  3224     |sel newValue fieldNameList|
  3248     |sel newValue fieldNameList|
  3366     ].
  3390     ].
  3367 
  3391 
  3368     "Created: / 16-11-2001 / 13:48:51 / cg"
  3392     "Created: / 16-11-2001 / 13:48:51 / cg"
  3369 ! !
  3393 ! !
  3370 
  3394 
       
  3395 
  3371 !InspectorView methodsFor:'workspace protocol'!
  3396 !InspectorView methodsFor:'workspace protocol'!
  3372 
  3397 
  3373 modified:aBoolean
  3398 modified:aBoolean
  3374     ^ workspace modified:aBoolean
  3399     ^ workspace modified:aBoolean
  3375 !
  3400 !
  3376 
  3401 
  3377 saveAs:file doAppend:doAppend
  3402 saveAs:file doAppend:doAppend
  3378     workspace saveAs:file doAppend:doAppend
  3403     workspace saveAs:file doAppend:doAppend
  3379 ! !
  3404 ! !
  3380 
  3405 
       
  3406 
  3381 !InspectorView class methodsFor:'documentation'!
  3407 !InspectorView class methodsFor:'documentation'!
  3382 
  3408 
  3383 version
  3409 version
  3384     ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.295 2012/12/14 16:21:59 cg Exp $'
  3410     ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.296 2013-01-15 16:33:23 stefan Exp $'
  3385 !
  3411 !
  3386 
  3412 
  3387 version_CVS
  3413 version_CVS
  3388     ^ '§Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.295 2012/12/14 16:21:59 cg Exp §'
  3414     ^ '$Header: /cvs/stx/stx/libtool/InspectorView.st,v 1.296 2013-01-15 16:33:23 stefan Exp $'
  3389 !
  3415 !
  3390 
  3416 
  3391 version_SVN
  3417 version_SVN
  3392     ^ '$Id: InspectorView.st 8083 2013-01-14 11:48:37Z vranyj1 $'
  3418     ^ '$Id: InspectorView.st 8083 2013-01-14 11:48:37Z vranyj1 $'
  3393 ! !
  3419 ! !
       
  3420