"
COPYRIGHT (c) 1995 by Claus Gittinger
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
"
'From Smalltalk/X, Version:2.10.5 on 26-mar-1995 at 6:58:58 am'!
HorizontalPanelView subclass:#CheckBox
instanceVariableNames:'toggleView labelView'
classVariableNames:''
poolDictionaries:''
category:'Views-Interactors'
!
!CheckBox class methodsFor:'documentation'!
version
"
$Header: /cvs/stx/stx/libwidg2/CheckBox.st,v 1.1 1995-03-26 20:16:44 claus Exp $
"
!
documentation
"
CheckBox has been added somwehat in a hurry
- obviously, much more protocol is needed.
For now, set actions etc. via sends to the components,
labelView and toggleView.
"
!
examples
"
no-op checkBox:
|b|
b := CheckBox new.
b label:'foo'.
b open
changing colors (a demo only: it is no good style to fight the styleSheet):
|panel b|
panel := VerticalPanelView new.
b := CheckBox in:panel.
b label:'foo'.
b := CheckBox in:panel.
b label:'bar'.
b labelView foregroundColor:Color red.
b := CheckBox in:panel.
b label:'baz'.
b toggleView activeForegroundColor:Color blue.
panel open
using action-blocks:
|b model|
model := Plug new.
model respondTo:#changeCheck: with:[:arg | Transcript showCr:'change to ' , arg printString].
b := CheckBox new.
b label:'check'.
b toggleView pressAction:[Transcript showCr:'on'].
b toggleView releaseAction:[Transcript showCr:'off'].
b open.
with a model (using a plug here, for demonstration only):
|b model|
model := Plug new.
model respondTo:#changeCheck: with:[:arg | Transcript showCr:'change to ' , arg printString].
b := CheckBox new.
b label:'check'.
b model:model; change:#changeCheck:.
b open.
"
!
copyright
"
COPYRIGHT (c) 1995 by Claus Gittinger
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
"
! !
!CheckBox methodsFor:'accessing'!
label:aString
labelView label:aString.
labelView forceResize.
!
model:aModel
labelView model:aModel.
toggleView model:aModel
!
change:aChangeSelector
toggleView change:aChangeSelector
!
label
^ labelView label
!
labelView
^ labelView
!
toggleView
^ toggleView
!
aspect:aspectSymbol
labelView aspect:aspectSymbol.
toggleView aspect:aspectSymbol
! !
!CheckBox methodsFor:'initialization'!
initialize
|panel|
super initialize.
hLayout := #leftSpace.
vLayout := #center.
toggleView := CheckToggle in:self.
labelView := Label in:self.
labelView label:'check'.
labelView forceResize.
labelView adjust:#left.
self height:labelView preferedExtent y + ViewSpacing.
"
|b|
b := CheckBox new.
b label:'foo'.
b open
"
! !