--- a/DSVColumnView.st Sun Aug 23 15:14:46 1998 +0200
+++ b/DSVColumnView.st Mon Aug 24 07:23:52 1998 +0200
@@ -1341,13 +1341,20 @@
rW := (x1 min:maxX) - x.
self clippingRectangle:(Rectangle left:x top:y width:rW height:h).
- aCol redrawX:x0 y:yTop from:start to:stop with:fgColor and:bgColor.
+ aCol redrawX:x0 y:yTop from:start to:stop.
].
x0 := x1
].
self clippingRectangle:savClip.
]
].
+!
+
+setFgBgPaintFor:aRowNr
+ (self isRowSelected:aRowNr) ifFalse:[self paint:fgColor on:bgColor]
+ ifTrue:[self paint:hgLgFgColor on:hgLgBgColor].
+
+
! !
!DSVColumnView methodsFor:'enumerating columns'!
@@ -2771,5 +2778,5 @@
!DSVColumnView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.49 1998-08-23 13:14:03 ca Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.50 1998-08-24 05:23:38 ca Exp $'
! !
--- a/DataSetColumn.st Sun Aug 23 15:14:46 1998 +0200
+++ b/DataSetColumn.st Mon Aug 24 07:23:52 1998 +0200
@@ -15,9 +15,9 @@
Object subclass:#DataSetColumn
instanceVariableNames:'columnNumber dataSet minWidth width description buttonExtent
- drawableAction rendererType backgroundColor foregroundColor
- fgSelector bgSelector columnAlignment label readSelector
- columnAdaptor'
+ drawableAction rendererType drawFormSelector backgroundColor
+ foregroundColor fgSelector bgSelector columnAlignment label
+ readSelector columnAdaptor'
classVariableNames:''
poolDictionaries:''
category:'Views-DataSet'
@@ -211,7 +211,7 @@
!DataSetColumn methodsFor:'drawing'!
-drawCheckTogglesX:xTop y:yTop from:start to:stop with:fgColor and:bgColor
+drawCheckTogglesX:xTop y:yTop from:start to:stop
"draw CheckToggles between start and stop
"
|extent toggleForm
@@ -238,9 +238,7 @@
dataSet drawEdgesAtX:x y:y width:toggleWidth height:toggleHeight level:toggleLevel.
(self extractColFromRow:(dataSet at:aRowNr)) ifTrue:[
- (dataSet isRowSelected:aRowNr) ifFalse:[dataSet paint:fgColor on:bgColor]
- ifTrue:[dataSet paint:(dataSet hgLgFgColor) on:(dataSet hgLgBgColor)].
-
+ dataSet setFgBgPaintFor:aRowNr.
dataSet displayImage:toggleForm x:(x + extent x) y:(y + extent y).
].
y := y + height.
@@ -248,7 +246,7 @@
!
-drawComboButtonsX:xTop y:yTop from:start to:stop with:fgColor and:bgColor
+drawComboButtonsX:xTop y:yTop from:start to:stop
"draw ComboButtons between start and stop
"
|extent buttonForm
@@ -272,19 +270,15 @@
start to:stop do:[:aRowNr|
(self hasChoices:aRowNr) ifTrue:[
dataSet drawEdgesAtX:x y:y width:buttonWidth height:buttonHeight level:buttonLevel.
-
- (dataSet isRowSelected:aRowNr) ifFalse:[dataSet paint:fgColor on:bgColor]
- ifTrue:[dataSet paint:(dataSet hgLgFgColor)
- on:(dataSet hgLgBgColor)
- ].
-
+ dataSet setFgBgPaintFor:aRowNr.
dataSet displayImage:buttonForm x:(x + extent x) y:(y + extent y)
].
y := y + height.
]
+
!
-drawSeparatorsX:xTop y:yTop from:start to:stop with:fgColor
+drawSeparatorsX:xTop y:yTop from:start to:stop
"redraw rows between start and stop
"
|lgCol showColSeparator showRowSeparator yBot
@@ -306,7 +300,7 @@
].
dataSet separatorSize == 1 ifTrue:[
- dataSet paint:fgColor.
+ dataSet paint:(dataSet foregroundColor).
showColSeparator ifTrue:[
dataSet displayLineFromX:x y:yTop toX:x y:yBot
@@ -359,7 +353,7 @@
!
-redrawX:xTop y:yTop from:start to:stop with:fgColor and:bgColor
+redrawX:xTop y:yTop from:start to:stop
"redraw rows between start and stop
"
|lgCol dkCol fg bg lblFg lblBg label row sel
@@ -373,12 +367,15 @@
h := dataSet rowHeight.
(bg := backgroundColor) isNil ifTrue:[
- bg := bgColor
+ bg := dataSet backgroundColor
] ifFalse:[
dataSet paint:(dataSet colorOnDevice:bg).
dataSet fillRectangleX:xTop y:yTop width:width height:(h * (stop - start + 1) - 1)
].
- fg := foregroundColor ? fgColor.
+
+ (fg := foregroundColor) isNil ifTrue:[
+ fg := dataSet foregroundColor
+ ].
lgCol := dataSet hgLgFgColor.
dkCol := dataSet hgLgBgColor.
space := dataSet horizontalSpacing.
@@ -445,16 +442,12 @@
].
"/ DRAW FORM
- rendererType == #CheckToggle ifTrue:[
- self drawCheckTogglesX:xTop y:yTop from:start to:stop with:fgColor and:bgColor
- ] ifFalse:[
- (rendererType == #ComboList or:[rendererType == #ComboBox]) ifTrue:[
- self drawComboButtonsX:xTop y:yTop from:start to:stop with:fgColor and:bgColor
- ]
+ drawFormSelector notNil ifTrue:[
+ self perform:drawFormSelector with:xTop with:yTop with:start with:stop
].
"/ DRAW SEPARATORS
- self drawSeparatorsX:xTop y:yTop from:start to:stop with:fgColor
+ self drawSeparatorsX:xTop y:yTop from:start to:stop
! !
!DataSetColumn methodsFor:'editing'!
@@ -518,21 +511,22 @@
"
|device selector format idx type oldFont newFont|
- columnNumber := aNumber.
- dataSet := aDSVColumnView.
- description := aDescription.
- rendererType := description rendererType.
- width := nil.
- device := dataSet device.
- drawableAction := [:aRow| nil ].
- fgSelector := description foregroundSelector.
- bgSelector := description backgroundSelector.
- backgroundColor := description backgroundColor.
- foregroundColor := description foregroundColor.
- readSelector := description readSelector.
- columnAdaptor := dataSet columnAdaptor.
- buttonExtent := 0 @ 0.
- columnAlignment := #left.
+ columnNumber := aNumber.
+ dataSet := aDSVColumnView.
+ description := aDescription.
+ rendererType := description rendererType.
+ width := nil.
+ device := dataSet device.
+ drawableAction := [:aRow| nil ].
+ fgSelector := description foregroundSelector.
+ bgSelector := description backgroundSelector.
+ backgroundColor := description backgroundColor.
+ foregroundColor := description foregroundColor.
+ readSelector := description readSelector.
+ columnAdaptor := dataSet columnAdaptor.
+ buttonExtent := 0 @ 0.
+ columnAlignment := #left.
+ drawFormSelector := nil.
backgroundColor notNil ifTrue:[
backgroundColor := backgroundColor on:dataSet device
@@ -563,7 +557,8 @@
].
rendererType == #CheckToggle ifTrue:[
- buttonExtent := dataSet checkToggleExtent.
+ buttonExtent := dataSet checkToggleExtent.
+ drawFormSelector := #drawCheckTogglesX:y:from:to:.
^ self
].
@@ -574,6 +569,7 @@
(rendererType == #ComboBox or:[rendererType == #ComboList]) ifTrue:[
buttonExtent := dataSet comboButtonExtent.
+ drawFormSelector := #drawComboButtonsX:y:from:to:.
] ifFalse:[
columnAlignment := description columnAlignment
].
@@ -716,21 +712,6 @@
^ (rendererType ~~ #rowSelector and:[rendererType ~~ #CheckToggle])
!
-drawableForm
- rendererType == #CheckToggle ifTrue:[
- ^ dataSet checkToggleForm.
- ].
- (rendererType == #ComboBox or:[rendererType == #ComboList]) ifTrue:[
- ^ dataSet comboButtonForm
- ].
- rendererType == #rowSelector ifTrue:[
- ^ dataSet rowSelectorForm
- ].
- ^ nil
-
-
-!
-
hasChoices:aRowNr
^ (description choicesFor:(dataSet at:aRowNr)) notNil
!
@@ -797,5 +778,5 @@
!DataSetColumn class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/DataSetColumn.st,v 1.29 1998-08-23 13:14:46 ca Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/DataSetColumn.st,v 1.30 1998-08-24 05:23:52 ca Exp $'
! !