--- a/RadioButtonGroup.st Tue Nov 14 22:44:34 1995 +0100
+++ b/RadioButtonGroup.st Wed Nov 15 17:20:37 1995 +0100
@@ -36,7 +36,7 @@
!
version
- ^ '$Header: /cvs/stx/stx/libwidg/RadioButtonGroup.st,v 1.17 1995-11-14 21:44:31 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/RadioButtonGroup.st,v 1.18 1995-11-15 16:20:34 cg Exp $'
!
documentation
@@ -74,87 +74,88 @@
"
example (using Toggles for 'at most one-on behavior'):
- |top panel toggle b g|
+ |top panel toggle b group|
top := StandardSystemView new.
panel := HorizontalPanelView origin:0.0@0.0 corner:1.0@1.0 in:top.
- g := RadioButtonGroup new.
+ group := RadioButtonGroup new.
b := Toggle label:'one' in:panel.
- g add:b.
+ group add:b.
b := Toggle label:'two' in:panel.
- g add:b.
+ group add:b.
b := Toggle label:'three' in:panel.
- g add:b.
+ group add:b.
top extent:(panel preferredExtent).
top open.
example (using RadioButtons for 'one-on behavior'):
- |top panel toggle b g|
+ |top panel toggle b group|
top := StandardSystemView new.
panel := HorizontalPanelView origin:0.0@0.0 corner:1.0@1.0 in:top.
- g := RadioButtonGroup new.
+ group := RadioButtonGroup new.
b := RadioButton label:'one' in:panel.
- g add:b.
+ group add:b.
b := RadioButton label:'two' in:panel.
- g add:b.
+ group add:b.
b := RadioButton label:'three' in:panel.
- g add:b.
+ group add:b.
top extent:(panel preferredExtent).
top open.
example (using Buttons for 'none-on behavior'; but the groups value remembers the last button):
- |top panel toggle b g|
+ |top panel toggle b group|
top := StandardSystemView new.
panel := HorizontalPanelView origin:0.0@0.0 corner:1.0@1.0 in:top.
- g := RadioButtonGroup new.
+ group := RadioButtonGroup new.
b := Button label:'one' in:panel.
- g add:b.
+ group add:b.
b := Button label:'two' in:panel.
- g add:b.
+ group add:b.
b := Button label:'three' in:panel.
- g add:b.
+ group add:b.
top extent:(panel preferredExtent).
top open.
- g valueChannel inspect
+ group valueChannel inspect
example (same, with button 'two' initially on):
- |top panel toggle b g|
+ |top panel toggle b group|
top := StandardSystemView new.
panel := HorizontalPanelView origin:0.0@0.0 corner:1.0@1.0 in:top.
- g := RadioButtonGroup new.
+ group := RadioButtonGroup new.
b := RadioButton label:'one' in:panel.
- g add:b.
+ group add:b.
b := RadioButton label:'two' in:panel.
- g add:b.
- b turnOn.
+ group add:b.
+ group value:2.
b := RadioButton label:'three' in:panel.
- g add:b.
+ group add:b.
top extent:(panel preferredExtent).
top open.
+
using checkBoxes (these have a label included):
- |top panel toggle b g|
+ |top panel toggle b group|
top := StandardSystemView new.
panel := VerticalPanelView origin:0.0@0.0 corner:1.0@1.0 in:top.
panel horizontalLayout:#left.
- g := RadioButtonGroup new.
+ group := RadioButtonGroup new.
b := CheckBox label:'one' in:panel.
- g add:b.
+ group add:b.
b := CheckBox label:'two' in:panel.
- g add:b.
+ group add:b.
b := CheckBox label:'three' in:panel.
- g add:b.
+ group add:b.
top extent:(panel preferredExtent).
top open.
@@ -178,6 +179,8 @@
Transcript showCr:'aborted'
]
"
+
+ "Created: 15.11.1995 / 17:14:53 / cg"
! !
!RadioButtonGroup methodsFor:'accessing'!
@@ -196,6 +199,14 @@
!RadioButtonGroup methodsFor:'accessing-mvc'!
+value
+ ^ valueChannel value
+!
+
+value:anIndex
+ valueChannel value:anIndex
+!
+
valueChannel
^ valueChannel
!
@@ -206,7 +217,7 @@
valueChannel notNil ifTrue:[oldValue := valueChannel value].
valueChannel := aValueHolder.
(newValue := valueChannel value) ~~ oldValue ifTrue:[
- (self at:newValue) turnOn
+ (self at:newValue) turnOnWithAction
]
! !