Copyright (C) 1994, Digital Equipment Corp.
MODULE MenuSwitchVBT;
IMPORT ButtonVBT, FeedbackVBT, MenuBtnVBT, MultiFilter,
MultiClass, SwitchVBT, VBT;
REVEAL
T = Public BRANDED OBJECT
OVERRIDES
init := Init;
pre := SwitchVBT.Pre;
post := SwitchVBT.Post;
cancel := SwitchVBT.Cancel;
END;
TYPE
MC = SwitchVBT.MC BRANDED OBJECT END;
PROCEDURE Init (v: T; f: FeedbackVBT.T): T =
BEGIN
EVAL MenuBtnVBT.T.init(v, f, Action);
MultiClass.Be(v, NEW(MC));
WITH ch = MultiFilter.Child(f) DO
IF ch # NIL THEN MultiClass.BeChild(v, ch) END;
END;
RETURN v
END Init;
PROCEDURE Action (selfAsButtonVBT: ButtonVBT.T; READONLY cd: VBT.MouseRec) =
BEGIN
NARROW (selfAsButtonVBT, T).callback (cd)
END Action;
BEGIN
END MenuSwitchVBT.