changeset 1087 | 8e97cbfebe12 |
parent 1067 | c66188014600 |
child 1089 | 931865a72ba7 |
1086:2b5746c733f6 | 1087:8e97cbfebe12 |
---|---|
14 |
14 |
15 |
15 |
16 View subclass:#DSVColumnView |
16 View subclass:#DSVColumnView |
17 instanceVariableNames:'editValue editView multipleSelectOk selectedColIndex |
17 instanceVariableNames:'editValue editView multipleSelectOk selectedColIndex |
18 selectedRowIndex rowHeight columnDescriptors viewOrigin colorMap |
18 selectedRowIndex rowHeight columnDescriptors viewOrigin colorMap |
19 lockRowIndex rowIfAbsentBlock columnHolder registererImages list |
19 rowFontAscent lockRowIndex rowIfAbsentBlock columnHolder |
20 fgColor canFit separatorSize catchChangeEvents beDependentOfRows |
20 registererImages list fgColor canFit separatorSize |
21 bgColor hgLgFgColor hgLgBgColor actionBlock builder |
21 catchChangeEvents beDependentOfRows bgColor hgLgFgColor |
22 doubleClickActionBlock verticalSpacing horizontalSpacing |
22 hgLgBgColor actionBlock builder doubleClickActionBlock |
23 rowSelectorForm buttonLightColor buttonShadowColor |
23 verticalSpacing horizontalSpacing rowSelectorForm |
24 buttonHalfLightColor buttonHalfShadowColor checkToggleExtent |
24 buttonLightColor buttonShadowColor buttonHalfLightColor |
25 checkToggleForm checkToggleLevel comboButtonExtent |
25 buttonHalfShadowColor checkToggleExtent checkToggleForm |
26 comboButtonForm comboButtonLevel clickPosition dragAccessPoint |
26 checkToggleLevel comboButtonExtent comboButtonForm |
27 dragIsActive dropTarget dropSource columnAdaptor dataSetView' |
27 comboButtonLevel clickPosition dragAccessPoint dragIsActive |
28 dropTarget dropSource columnAdaptor dataSetView' |
|
28 classVariableNames:'DefaultForegroundColor DefaultBackgroundColor |
29 classVariableNames:'DefaultForegroundColor DefaultBackgroundColor |
29 DefaultHilightForegroundColor DefaultHilightBackgroundColor |
30 DefaultHilightForegroundColor DefaultHilightBackgroundColor |
30 RowSelector ButtonLightColor ButtonShadowColor |
31 RowSelector ButtonLightColor ButtonShadowColor |
31 ButtonHalfLightColor ButtonHalfShadowColor ButtonEdgeStyle' |
32 ButtonHalfLightColor ButtonHalfShadowColor ButtonEdgeStyle' |
32 poolDictionaries:'' |
33 poolDictionaries:'' |
56 " |
57 " |
57 implements a scrollable selection view based on rows and columns |
58 implements a scrollable selection view based on rows and columns |
58 |
59 |
59 [Instance variables:] |
60 [Instance variables:] |
60 |
61 |
62 dataSetView <DataSetView> parent view |
|
63 |
|
61 editValue <Model> current editing model |
64 editValue <Model> current editing model |
62 editView <View> current editing component |
65 editView <View> current editing component |
66 |
|
67 multipleSelectOk <Boolean> multiple selection enabled/disabled |
|
68 |
|
63 selectedColIndex <Integer> selected column index or 0 |
69 selectedColIndex <Integer> selected column index or 0 |
64 selectedRowIndex <Integer> selected row index or 0 |
70 selectedRowIndex <Integer> selected row index or 0 |
71 |
|
65 rowHeight <Integer> maximum height of any row |
72 rowHeight <Integer> maximum height of any row |
73 |
|
66 columnDescriptors <SequancableCollection> list of column descriptors |
74 columnDescriptors <SequancableCollection> list of column descriptors |
75 |
|
76 viewOrigin <Point> current view origin |
|
77 |
|
78 colorMap <Dictionary> store and register used colors on device |
|
79 |
|
80 rowFontAscent <SmallInteger> inset of a printable text in a row |
|
81 including separator and font ascent. |
|
82 |
|
83 lockRowIndex <SmallInteger> internal used to indicate a row which has |
|
84 changed its contents but no redraw should be |
|
85 done( at:put: ). |
|
86 |
|
87 columnHolder <ValueHolder> holder which keeps the list of column descriptors. |
|
88 |
|
89 registererImages <IdentityDictionary> list of images registered on the device |
|
90 |
|
67 list <SequancableCollection> list of rows |
91 list <SequancableCollection> list of rows |
68 fgColor <Color> foreground color |
92 |
69 registererImages <IdentityDictionary> list of images registered on the device |
93 canFit <Boolean> boolean set to true if colums can be fit to view |
70 beDependentOfRows <Coolean> keep rows dependent; on default is disabled. |
94 |
95 |
|
96 catchChangeEvents <Boolean> internal used to discard change notifications |
|
97 |
|
98 beDependentOfRows <Boolean> keep rows dependent; on default is disabled. |
|
71 in case of enabled a row can raise a change |
99 in case of enabled a row can raise a change |
72 notification whithout a parameter which |
100 notification whithout a parameter which |
73 will force a redraw of the row or the |
101 will force a redraw of the row or the |
74 readSelector of the column which will |
102 readSelector of the column which will |
75 redraw the cell in the row only. |
103 redraw the cell in the row only. |
76 |
104 |
105 fgColor <Color> foreground color |
|
106 bgColor <Color> background color |
|
107 hgLgFgColor <Color> highlight foreground color (selected) |
|
108 hgLgBgColor <Color> highlight background color (selected) |
|
109 |
|
110 buttonLightColor <Color> LightColor ( drawing the edge of a button ) |
|
111 buttonShadowColor <Color> ShadowColor ( drawing the edge of a button ) |
|
112 buttonHalfLightColor <Color> HalfLightColor ( drawing the edge of a button ) |
|
113 buttonHalfShadowColor <Color> HalfShadowColor ( drawing the edge of a button ) |
|
114 |
|
115 actionBlock <a OneArgBlock> action block performed on select |
|
116 doubleClickActionBlock <a OneArgBlock> action block performed on double click |
|
117 rowIfAbsentBlock <a OneArgBlock> this block is performed on an emty list entry |
|
118 to retrive the item from the application. The |
|
119 argument to the block is the index into the list. |
|
120 The block should return the row instance which |
|
121 is put to the list under the index. |
|
122 |
|
123 builder <UIBuilder> builder set by application |
|
124 |
|
125 verticalSpacing <SmallInteger> vertical row spacing( top & bottom ) |
|
126 horizontalSpacing <SmallInteger> horizontal row spacing( left & right ) |
|
127 separatorSize <SmallInteger> line width of a vertical or horizontal separator |
|
128 |
|
129 rowSelectorForm <Form> form used by a row selector |
|
130 |
|
131 checkToggleForm <Form> form used by a checkToggle |
|
132 checkToggleExtent <Point> extent of a checkToggle |
|
133 checkToggleLevel <SmallInteger> level used to draw a check toggle |
|
134 |
|
135 comboButtonForm <Form> form used by a comboList or -Box |
|
136 comboButtonExtent <Point> extent of a comboList or -Box |
|
137 comboButtonLevel <SmallInteger> level used to draw a comboList or -Box |
|
138 |
|
139 clickPosition <Point> click position of the mouse |
|
140 |
|
141 dragAccessPoint <Point> point where the drag operation starts |
|
142 dragIsActive <Boolean> true if a drag operation is active |
|
143 dropTarget <DropTarget> drag & drop target |
|
144 dropSource <DropSource> drag & drop source |
|
145 |
|
77 [author:] |
146 [author:] |
78 Claus Atzkern |
147 Claus Atzkern |
79 |
148 |
80 [see also:] |
149 [see also:] |
81 DataSetColumnSpec |
150 DataSetColumnSpec |
106 ifAbsentPut:[(Depth2Image new) width: 8; height: 11; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@P@AP@GPUWQ]7W]5W]"AX@F@@ @@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255 127 127 127 170 170 170]; mask:((Depth1Image new) width: 8; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'DA \?/????8\FA@b') ; yourself); yourself]! ! |
175 ifAbsentPut:[(Depth2Image new) width: 8; height: 11; photometric:(#palette); bitsPerSample:(#(2 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@P@AP@GPUWQ]7W]5W]"AX@F@@ @@@@@a') ; colorMapFromArray:#[0 0 0 255 255 255 127 127 127 170 170 170]; mask:((Depth1Image new) width: 8; height: 11; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'DA \?/????8\FA@b') ; yourself); yourself]! ! |
107 |
176 |
108 !DSVColumnView class methodsFor:'defaults'! |
177 !DSVColumnView class methodsFor:'defaults'! |
109 |
178 |
110 horizontalSpacing |
179 horizontalSpacing |
180 "returns the default horizontal space between rows |
|
181 " |
|
111 ^ 4 |
182 ^ 4 |
112 |
183 |
113 ! |
184 ! |
114 |
185 |
115 updateStyleCache |
186 updateStyleCache |
140 |
211 |
141 "Modified: / 26.10.1997 / 17:09:07 / cg" |
212 "Modified: / 26.10.1997 / 17:09:07 / cg" |
142 ! |
213 ! |
143 |
214 |
144 verticalSpacing |
215 verticalSpacing |
216 "returns the default vertical space between rows |
|
217 " |
|
145 ^ 2 |
218 ^ 2 |
146 |
219 |
147 ! ! |
220 ! ! |
148 |
221 |
149 !DSVColumnView class methodsFor:'resources'! |
222 !DSVColumnView class methodsFor:'resources'! |
185 ifAbsentPut:[(Depth1Image new) width: 32; height: 32; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O?<0@C??L@@??30@O?<<@C??@@@??0@@O???@C???0@???<@O???@C???0@???<@O???@C???0@???<@O???@C???0@???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((ImageMask new) width: 32; height: 32; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@O??<@C???@@???<@O???@C???<@????@O???<C????@????0O???<C????@????0O???<C????@????0O???<C????@????0O???<C????@????0O???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; yourself); yourself]! ! |
258 ifAbsentPut:[(Depth1Image new) width: 32; height: 32; photometric:(#palette); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O?<0@C??L@@??30@O?<<@C??@@@??0@@O???@C???0@???<@O???@C???0@???<@O???@C???0@???<@O???@C???0@???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; colorMapFromArray:#[0 0 0 255 255 255]; mask:((ImageMask new) width: 32; height: 32; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@@@@@@@@@O??<@C???@@???<@O???@C???<@????@O???<C????@????0O???<C????@????0O???<C????@????0O???<C????@????0O???<C????@????0O???<@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@b') ; yourself); yourself]! ! |
186 |
259 |
187 !DSVColumnView methodsFor:'accessing'! |
260 !DSVColumnView methodsFor:'accessing'! |
188 |
261 |
189 builder |
262 builder |
263 "get the builder (UIBuilder or nil) |
|
264 " |
|
190 ^ builder |
265 ^ builder |
191 ! |
266 ! |
192 |
267 |
193 builder:aBuilder |
268 builder:aBuilder |
269 "set the builder (UIBuilder or nil) |
|
270 " |
|
194 builder := aBuilder |
271 builder := aBuilder |
195 ! |
272 ! |
196 |
273 |
197 columnView |
274 columnView |
275 "returns self |
|
276 " |
|
198 ^ self |
277 ^ self |
199 ! |
278 ! |
200 |
279 |
201 dataSetView |
280 dataSetView |
202 "return the value of the instance variable 'dataSetView' (automatically generated)" |
281 "return the value of the instance variable 'dataSetView' (automatically generated)" |
210 "set the value of the instance variable 'dataSetView' (automatically generated)" |
289 "set the value of the instance variable 'dataSetView' (automatically generated)" |
211 |
290 |
212 dataSetView := something. |
291 dataSetView := something. |
213 |
292 |
214 "Created: / 7.8.1998 / 22:13:43 / cg" |
293 "Created: / 7.8.1998 / 22:13:43 / cg" |
294 ! |
|
295 |
|
296 rowFontAscent |
|
297 "returns the inset of a printable text in a row |
|
298 " |
|
299 ^ rowFontAscent |
|
215 ! ! |
300 ! ! |
216 |
301 |
217 !DSVColumnView methodsFor:'accessing actions'! |
302 !DSVColumnView methodsFor:'accessing actions'! |
218 |
303 |
219 action:aOneArgAction |
304 action:aOneArgAction |
430 ! ! |
515 ! ! |
431 |
516 |
432 !DSVColumnView methodsFor:'accessing interactors'! |
517 !DSVColumnView methodsFor:'accessing interactors'! |
433 |
518 |
434 checkToggleExtent |
519 checkToggleExtent |
520 "returns the extent of a checkToggle |
|
521 " |
|
435 ^ checkToggleExtent |
522 ^ checkToggleExtent |
436 ! |
523 ! |
437 |
524 |
438 checkToggleForm |
525 checkToggleForm |
526 "returns the form of a checkToggle |
|
527 " |
|
439 ^ checkToggleForm |
528 ^ checkToggleForm |
440 ! |
529 ! |
441 |
530 |
442 checkToggleLevel |
531 checkToggleLevel |
532 "returns the level of a checkToggle button |
|
533 " |
|
443 ^ checkToggleLevel |
534 ^ checkToggleLevel |
444 ! |
535 ! |
445 |
536 |
446 comboButtonExtent |
537 comboButtonExtent |
538 "returns the extent of a comboList or -Box |
|
539 " |
|
447 ^ comboButtonExtent |
540 ^ comboButtonExtent |
448 ! |
541 ! |
449 |
542 |
450 comboButtonForm |
543 comboButtonForm |
544 "returns the form of a comboList or -Box |
|
545 " |
|
451 ^ comboButtonForm |
546 ^ comboButtonForm |
452 ! |
547 ! |
453 |
548 |
454 comboButtonLevel |
549 comboButtonLevel |
550 "returns the level of a comboList or -Box button |
|
551 " |
|
455 ^ comboButtonLevel |
552 ^ comboButtonLevel |
456 ! |
553 ! |
457 |
554 |
458 rowSelectorExtent |
555 rowSelectorExtent |
459 "returns the bitmap of a selected row |
556 "returns the bitmap of a selected row |
462 ! |
559 ! |
463 |
560 |
464 rowSelectorForm |
561 rowSelectorForm |
465 "returns the bitmap of a selected row |
562 "returns the bitmap of a selected row |
466 " |
563 " |
467 rowSelectorForm isNil ifTrue:[ |
|
468 rowSelectorForm := (self class rowSelector) on:device |
|
469 ]. |
|
470 ^ rowSelectorForm |
564 ^ rowSelectorForm |
471 ! ! |
565 ! ! |
472 |
566 |
473 !DSVColumnView methodsFor:'accessing mvc'! |
567 !DSVColumnView methodsFor:'accessing mvc'! |
474 |
568 |
481 "set the value of the instance variable 'columnAdaptor' (automatically generated)" |
575 "set the value of the instance variable 'columnAdaptor' (automatically generated)" |
482 |
576 |
483 columnAdaptor := something.! |
577 columnAdaptor := something.! |
484 |
578 |
485 columnHolder |
579 columnHolder |
580 "get the valueHolder, which keeps the list of column descriptions |
|
581 " |
|
486 ^ columnHolder |
582 ^ columnHolder |
487 |
583 |
488 ! |
584 ! |
489 |
585 |
490 columnHolder:aValueHolder |
586 columnHolder:aValueHolder |
587 "set the valueHolder, which keeps the list of column descriptions |
|
588 " |
|
491 |columns| |
589 |columns| |
492 |
590 |
493 columnHolder notNil ifTrue:[ |
591 columnHolder notNil ifTrue:[ |
494 columnHolder removeDependent:self |
592 columnHolder removeDependent:self |
495 ]. |
593 ]. |
1211 x0 "{ Class:SmallInteger }" |
1309 x0 "{ Class:SmallInteger }" |
1212 x1 "{ Class:SmallInteger }" |
1310 x1 "{ Class:SmallInteger }" |
1213 maxX "{ Class:SmallInteger }" |
1311 maxX "{ Class:SmallInteger }" |
1214 minX "{ Class:SmallInteger }" |
1312 minX "{ Class:SmallInteger }" |
1215 yTop "{ Class:SmallInteger }" |
1313 yTop "{ Class:SmallInteger }" |
1216 yBot "{ Class:SmallInteger }" |
|
1217 times "{ Class:SmallInteger }" |
|
1218 yMax "{ Class:SmallInteger }" |
1314 yMax "{ Class:SmallInteger }" |
1219 | |
1315 | |
1220 |
1316 |
1221 shown ifFalse:[^ self]. |
1317 shown ifFalse:[^ self]. |
1222 |
1318 |
1227 yTop := margin - viewOrigin y. |
1323 yTop := margin - viewOrigin y. |
1228 c0 := y - yTop max:0. |
1324 c0 := y - yTop max:0. |
1229 start := (c0 // rowHeight) + 1. |
1325 start := (c0 // rowHeight) + 1. |
1230 stop := (c0 + h - 1 // rowHeight + 1) min:(list size). |
1326 stop := (c0 + h - 1 // rowHeight + 1) min:(list size). |
1231 |
1327 |
1232 (times := stop - start + 1) > 0 ifTrue:[ |
1328 stop >= start ifTrue:[ |
1233 savClip := clipRect. |
1329 savClip := clipRect. |
1234 |
1330 |
1235 maxX := (x + w) min:(width - margin). |
1331 maxX := (x + w) min:(width - margin). |
1236 x0 := margin - viewOrigin x. |
1332 x0 := margin - viewOrigin x. |
1237 yTop := yTop + ((start - 1) * rowHeight). |
1333 yTop := yTop + ((start - 1) * rowHeight). |
1238 yBot := yTop + (times * rowHeight). |
|
1239 yMax := height - margin - margin. |
1334 yMax := height - margin - margin. |
1240 minX := x max:margin. |
1335 minX := x max:margin. |
1241 |
1336 |
1242 columnDescriptors do:[:aCol||rW| |
1337 columnDescriptors do:[:aCol||rW| |
1243 x1 := x0 + aCol width. |
1338 x1 := x0 + aCol width. |
1244 |
1339 |
1245 (x1 > x and:[x0 < maxX]) ifTrue:[ |
1340 (x1 > x and:[x0 < maxX]) ifTrue:[ |
1246 rW := (x1 min:maxX) - x. |
1341 rW := (x1 min:maxX) - x. |
1247 |
1342 |
1248 self clippingRectangle:(Rectangle left:x top:y width:rW height:h). |
1343 self clippingRectangle:(Rectangle left:x top:y width:rW height:h). |
1249 aCol drawFrom:start times:times x0:x0 yTop:yTop yBot:yBot with:fgColor and:bgColor. |
1344 aCol redrawX:x0 y:yTop from:start to:stop with:fgColor and:bgColor. |
1250 ]. |
1345 ]. |
1251 x0 := x1 |
1346 x0 := x1 |
1252 ]. |
1347 ]. |
1253 self clippingRectangle:savClip. |
1348 self clippingRectangle:savClip. |
1254 ] |
1349 ] |
1743 |
1838 |
1744 buttonHalfShadowColor isNil ifTrue:[ |
1839 buttonHalfShadowColor isNil ifTrue:[ |
1745 buttonHalfShadowColor := buttonShadowColor lightened |
1840 buttonHalfShadowColor := buttonShadowColor lightened |
1746 ] |
1841 ] |
1747 ]. |
1842 ]. |
1843 rowSelectorForm := (self class rowSelector) on:device. |
|
1748 |
1844 |
1749 v := ComboBoxView new. |
1845 v := ComboBoxView new. |
1750 b := v menuButton. |
1846 b := v menuButton. |
1751 |
1847 |
1752 (comboButtonForm := b label) isImage ifTrue:[ |
1848 (comboButtonForm := b label) isImage ifTrue:[ |
1794 verticalSpacing := self class verticalSpacing. |
1890 verticalSpacing := self class verticalSpacing. |
1795 horizontalSpacing := self class horizontalSpacing. |
1891 horizontalSpacing := self class horizontalSpacing. |
1796 colorMap := Dictionary new. |
1892 colorMap := Dictionary new. |
1797 catchChangeEvents := false. |
1893 catchChangeEvents := false. |
1798 dragIsActive := false. |
1894 dragIsActive := false. |
1799 |
1895 rowFontAscent := 0. "/ dummy initialization |
1800 self lineWidth:0. |
1896 self lineWidth:0. |
1801 ! |
1897 ! |
1802 |
1898 |
1803 mapped |
1899 mapped |
1804 "set selection if exists after mapping |
1900 "set selection if exists after mapping |
1839 ! ! |
1935 ! ! |
1840 |
1936 |
1841 !DSVColumnView methodsFor:'private'! |
1937 !DSVColumnView methodsFor:'private'! |
1842 |
1938 |
1843 detectViewAt:aPoint in:aView |
1939 detectViewAt:aPoint in:aView |
1940 "returns the view at a point |
|
1941 " |
|
1844 |p| |
1942 |p| |
1845 |
1943 |
1846 (aView notNil and:[aView subViews notNil]) ifTrue:[ |
1944 (aView notNil and:[aView subViews notNil]) ifTrue:[ |
1847 aView subViews do:[:sv| |
1945 aView subViews do:[:sv| |
1848 p := device translatePoint:aPoint from:(self id) to:(sv id). |
1946 p := device translatePoint:aPoint from:(self id) to:(sv id). |
2069 x := x + (aCol minWidth). |
2167 x := x + (aCol minWidth). |
2070 ]. |
2168 ]. |
2071 rowHeight := (rowHeight + separatorSize + verticalSpacing + verticalSpacing + 1) // 2 * 2. |
2169 rowHeight := (rowHeight + separatorSize + verticalSpacing + verticalSpacing + 1) // 2 * 2. |
2072 preferredExtent := (x + margin + margin) @ (self size * rowHeight). |
2170 preferredExtent := (x + margin + margin) @ (self size * rowHeight). |
2073 |
2171 |
2074 x := (rowHeight - separatorSize - font height) // 2 + font ascent. |
2172 rowFontAscent := (rowHeight - separatorSize - font height) // 2 + font ascent. |
2075 self columnsDo:[:aCol|aCol textInsetChanged:x]. |
|
2076 self changed:#columnsLayout. |
2173 self changed:#columnsLayout. |
2077 ^ preferredExtent |
2174 ^ preferredExtent |
2078 |
2175 |
2079 |
2176 |
2080 ! |
2177 ! |
2081 |
2178 |
2082 preferredExtentChanged |
2179 preferredExtentChanged |
2180 "called if the preffered extent changed |
|
2181 " |
|
2083 |y x| |
2182 |y x| |
2084 |
2183 |
2085 y := viewOrigin y. |
2184 y := viewOrigin y. |
2086 x := viewOrigin x. |
2185 x := viewOrigin x. |
2087 |
2186 |
2092 self originChanged:(x negated @ y negated). |
2191 self originChanged:(x negated @ y negated). |
2093 ] |
2192 ] |
2094 ! |
2193 ! |
2095 |
2194 |
2096 recomputeHeightOfContents |
2195 recomputeHeightOfContents |
2097 |
2196 "recompute height of contents( scrolling ) |
2197 " |
|
2098 preferredExtent notNil ifTrue:[ |
2198 preferredExtent notNil ifTrue:[ |
2099 preferredExtent y:(rowHeight * self size) |
2199 preferredExtent y:(rowHeight * self size) |
2100 ] ifFalse:[ |
2200 ] ifFalse:[ |
2101 self preferredExtent |
2201 self preferredExtent |
2102 ]. |
2202 ]. |
2669 ! ! |
2769 ! ! |
2670 |
2770 |
2671 !DSVColumnView class methodsFor:'documentation'! |
2771 !DSVColumnView class methodsFor:'documentation'! |
2672 |
2772 |
2673 version |
2773 version |
2674 ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.48 1998-08-08 11:49:06 cg Exp $' |
2774 ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.49 1998-08-23 13:14:03 ca Exp $' |
2675 ! ! |
2775 ! ! |