Minimum code required to implement WindowManager

Normally we let the templates do all the grunt work for implementing the ABC WindowManager but I thought it might be interesting to see what you need to “hand code” one.

Is this the minimum or can you think of a way to reduce it or perhaps there are properties that should be set by convention?

MyWindow             PROCEDURE
WINDOW                  WINDOW('My Window!'),AT(,,260,100),GRAY
                        END
ThisWindow              CLASS(WindowManager)
Init                      PROCEDURE() ,BYTE,PROC,VIRTUAL
 END

  CODE
  ThisWindow.Run()

ThisWindow.Init         PROCEDURE() !,BYTE,PROC,VIRTUAL
  CODE
  Open(WINDOW)
  RETURN Level:Benign

It needs an INCLUDE(‘ABWindow.inc’),ONCE
I’d have to dig, but there’s a decent chance it will need more than that even
as many of the ABC Classes make assumptions about includes that have occurred elsewhere.

It also needs an INCLUDE(‘Equates.clw’),ONCE
for the LEVEL:Benign