ui/src/split/QuickBtnVBT.m3


Copyright (C) 1994, Digital Equipment Corp.
 by Steve Glassman, Mark Manasse and Greg Nelson           
<*PRAGMA LL*>

MODULE QuickBtnVBT;

IMPORT ButtonVBT, BtnVBTClass, VBT, Filter;

REVEAL T = ButtonVBT.T BRANDED OBJECT
  OVERRIDES
    mouse := Mouse;
    pre := Pre;
    post := Pre
  END;

PROCEDURE New(
  ch: VBT.T;
  action: ButtonVBT.Proc;
  ref: REFANY := NIL): T RAISES {} =
  BEGIN
    RETURN NEW(T).init(ch, action, ref)
  END New;

PROCEDURE Mouse(v: T; READONLY cd: VBT.MouseRec) =
  BEGIN
    Filter.T.mouse(v, cd);
    IF VBT.ClickType.FirstDown = cd.clickType THEN
      v.pre();
      v.action(v, cd);
      v.post()
    END
  END Mouse;

PROCEDURE Pre(<*UNUSED*> v: T) = BEGIN END Pre;

BEGIN END QuickBtnVBT.