mentor/derived/MaxflowViewClass.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 Maxflow.evt.
      ********************************************************************


<* PRAGMA LL *>

MODULE MaxflowViewClass;

<*NOWARN*> IMPORT MaxflowAlgClass, ZeusClass, R2, MFGraph;
<*NOWARN*> IMPORT ViewClass, MFAlgs, MFViews, GraphVBT, RefList;
<*NOWARN*> IMPORT MFFmt;

REVEAL
  T = Public BRANDED OBJECT
      OVERRIDES
        <* LL.sup = VBT.mu *>
        isCompat := IsCompat;
        <* LL.sup < VBT.mu *>
        oeSetup := Setup;
        oeHighlightPath := HighlightPath;
        oeIncFlow := IncFlow;
        oeDecFlow := DecFlow;
        oeShowEdge := ShowEdge;
        oeRemoveHighlight := RemoveHighlight;
        oeFinalResult := FinalResult;
        <* LL.sup = VBT.mu *>
        ueAddVBTVertex := AddVBTVertex;
        ueAddVBTEdge := AddVBTEdge;
      END;

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

PROCEDURE Setup (view: T
    ; <*UNUSED*> g: MFGraph.T
    ; <*UNUSED*> source: MFGraph.Vertex
    ; <*UNUSED*> sink: MFGraph.Vertex
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END Setup;
PROCEDURE HighlightPath (view: T
    ; <*UNUSED*> path: RefList.T
    ; <*UNUSED*> maxCapacity: REAL
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END HighlightPath;
PROCEDURE IncFlow (view: T
    ; <*UNUSED*> edge: MFGraph.Edge
    ; <*UNUSED*> flow: REAL
    ; <*UNUSED*> number: CARDINAL
    ; <*UNUSED*> maxCapacity: REAL
    ; <*UNUSED*> capa: REAL
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END IncFlow;
PROCEDURE DecFlow (view: T
    ; <*UNUSED*> edge: MFGraph.Edge
    ; <*UNUSED*> oldflow: REAL
    ; <*UNUSED*> newflow: REAL
    ; <*UNUSED*> number: CARDINAL
    ; <*UNUSED*> maxCapacity: REAL
    ; <*UNUSED*> capa: REAL
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END DecFlow;
PROCEDURE ShowEdge (view: T
    ; <*UNUSED*> number: CARDINAL
    ; <*UNUSED*> typeOfEdge: CARDINAL
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END ShowEdge;
PROCEDURE RemoveHighlight (view: T
    ; <*UNUSED*> sinkvertex: MFGraph.Vertex
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END RemoveHighlight;
PROCEDURE FinalResult (view: T
    ; <*UNUSED*> b: BOOLEAN
) =
  <* LL.sup < VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END FinalResult;

PROCEDURE AddVBTVertex (view: T
    ; <*UNUSED*> v: MFAlgs.MFVertex
    ; <*UNUSED*> pos: R2.T
    ; <*UNUSED*> label: TEXT
) =
  <* LL.sup = VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END AddVBTVertex;
PROCEDURE AddVBTEdge (view: T
    ; <*UNUSED*> e: MFAlgs.MFEdge
) =
  <* LL.sup = VBT.mu *>
  BEGIN
    view.evtHandled := FALSE;
  END AddVBTEdge;

BEGIN
END MaxflowViewClass.

interface GraphVBT is in: