mentor/derived/SearchTreeViewClass.m3


 Copyright (C) 1995, Digital Equipment Corporation.       
 All rights reserved.                                     
 See the file COPYRIGHT for a full description.           
                                                          
 Last modified on Thu Feb  9 08:56:54 PST 1995 by kalsow  
      modified on Sat Jun  4 16:23:08 1994 by heydon      
      modified on Wed Feb 17 17:04:32 PST 1993 by johnh   
      modified on Tue Jun  9 00:35:35 1992 by mhb         

********************************************************************

      *  NOTE: This file is generated automatically from the event
      *        definition file SearchTree.evt.
      ********************************************************************


<* PRAGMA LL *>

MODULE SearchTreeViewClass;

<*NOWARN*> IMPORT ZeusClass, RedBlackAlg, SearchTreeAlgClass;
<*NOWARN*> IMPORT ViewClass;

REVEAL
  T = Public BRANDED OBJECT
      OVERRIDES
        <* LL.sup = VBT.mu *>
        isCompat := IsCompat;
        <* LL.sup < VBT.mu *>
        oeNewNode := NewNode;
        oeCompareKeys := CompareKeys;
        oeAddLeaf := AddLeaf;
        oeNewSearchKey := NewSearchKey;
        oeSearchEnd := SearchEnd;
        oeGoLeft := GoLeft;
        oeSpliceOut := SpliceOut;
        oeCopy := Copy;
        oeCurrentNode := CurrentNode;
        oeSetType := SetType;
        oeRedRedClash := RedRedClash;
        oeCheckUncle := CheckUncle;
        oeRotate := Rotate;
        <* LL.sup = VBT.mu *>
      END;

PROCEDURE IsCompat(<*UNUSED*> v: T; alg: ZeusClass.T): BOOLEAN =
  <* LL.sup = VBT.mu *>
  BEGIN
    RETURN ISTYPE(alg, SearchTreeAlgClass.T)
  END IsCompat;

PROCEDURE NewNode (view: T
    ; <*UNUSED*> node: INTEGER
    ; <*UNUSED*> key: INTEGER
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END NewNode;
PROCEDURE CompareKeys (view: T
    ; <*UNUSED*> node: INTEGER
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END CompareKeys;
PROCEDURE AddLeaf (view: T
    ; <*UNUSED*> node: INTEGER
    ; <*UNUSED*> childNum: CARDINAL
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END AddLeaf;
PROCEDURE NewSearchKey (view: T
    ; <*UNUSED*> key: INTEGER
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END NewSearchKey;
PROCEDURE SearchEnd (view: T
    ; <*UNUSED*> node: INTEGER
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END SearchEnd;
PROCEDURE GoLeft (view: T
    ; <*UNUSED*> node: INTEGER
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END GoLeft;
PROCEDURE SpliceOut (view: T
    ; <*UNUSED*> parent: INTEGER
    ; <*UNUSED*> child: INTEGER
    ; <*UNUSED*> save: BOOLEAN
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END SpliceOut;
PROCEDURE Copy (view: T
    ; <*UNUSED*> source: INTEGER
    ; <*UNUSED*> dest: INTEGER
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END Copy;
PROCEDURE CurrentNode (view: T
    ; <*UNUSED*> node: INTEGER
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END CurrentNode;
PROCEDURE SetType (view: T
    ; <*UNUSED*> node: INTEGER
    ; <*UNUSED*> type: RedBlackAlg.NodeType
    ; <*UNUSED*> pType: RedBlackAlg.NodeType
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END SetType;
PROCEDURE RedRedClash (view: T
    ; <*UNUSED*> child: INTEGER
    ; <*UNUSED*> parent: INTEGER
    ; <*UNUSED*> on: BOOLEAN
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END RedRedClash;
PROCEDURE CheckUncle (view: T
    ; <*UNUSED*> child: INTEGER
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END CheckUncle;
PROCEDURE Rotate (view: T
    ; <*UNUSED*> child: INTEGER
    ; <*UNUSED*> parent: INTEGER
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END Rotate;

BEGIN
END SearchTreeViewClass.