MODULE MUIGroup;

(* $StackChk- $NilChk- $RangeChk- $CaseChk- $OvflChk- $ReturnChk- $ClearVars- *)

(* This module is generated by "GenMuiO" © 1995 by Albert Weinert *)

IMPORT
  clf := Classface,
  e := Exec,
  m := Mui,
  RootClass,
  SuperClass := MUIArea,
  I := Intuition;

CONST
  name *= m.cGroup;

TYPE
  Class     *= UNTRACED POINTER TO ClassDesc;
  ClassDesc *= RECORD( SuperClass.ClassDesc ) END;

VAR
  class * : I.IClassPtr;

   PROCEDURE ( VAR c : ClassDesc ) mExitChange*( VAR msg : m.pGroupExitChange ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mGroupExitChange;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mExitChange;

   PROCEDURE ( VAR c : ClassDesc ) mInitChange*( VAR msg : m.pGroupInitChange ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mGroupInitChange;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mInitChange;

  PROCEDURE Dispatch * ( cl : I.IClassPtr; obj : I.ObjectPtr; msg : I.MsgPtr ):e.APTR;
    VAR c : Class;
    BEGIN
      IF msg.methodID # I.new THEN
        c := RootClass.BoopsiToObj( cl, obj )(Class);
      END;

      CASE msg.methodID OF
        | m.mGroupExitChange          : RETURN c.mExitChange( msg^(m.pGroupExitChange) );
        | m.mGroupInitChange          : RETURN c.mInitChange( msg^(m.pGroupInitChange) );
      ELSE
        RETURN SuperClass.Dispatch( cl, obj, msg );
      END;
    END Dispatch;

BEGIN
  class := m.GetClass( name );
  IF class = NIL THEN HALT( 205 ) END; (* Error : Object not Found *)
CLOSE
  IF class # NIL THEN m.FreeClass( class ) END;
END MUIGroup.
