Definition of tWidget

From VistApedia
Jump to: navigation, search

TMGOOWG.m

  
;"------------------------------------------
;"Object Widget setup code below
;"------------------------------------------

constrWidget(instanceName)
        ;"Purpose -- A constructor for object Widget
        ;"Input: objectType -- the NAME of the type of the object to be defined.
        ;"              This should be a variable (global or otherwise) of the object.
        ;"Note: This function should not be called directly, but instead is called
        ;"              via new^TMGOOL
        ;"Result: none <--- REQUIRED TO NOT RETURN A RESULT

        ;"Here we define the default values for vars and functions.
        
        ;"----------------All constructors should copy this format --------------------
        new typeDef
        set typeDef=@instanceName@("TYPEDEF")
        set @typeDef@("Multiply")="wgtMultiply^TMGOOWG(x,y)"
        set @typeDef@("Divide")="wgtDivide^TMGOOWG(x,y)"
        set @typeDef@("Show")="wgtShowValue^TMGOOWG(x)"
        ;"--------------------------------------------------------------------------------
        
        ;"Optional initialization of some instance-specific variables.
        set @instanceName@("MyVar1")=0
        set @instanceName@("MyVar2")=0
        set @instanceName@("MyVar3")=0
        
        quit


destWidget(instanceName)        
        ;"Purpose:  A destructor for object Widget
        ;"              any needed clean up code would go here first.
        ;"Input: instanceName -- the name of the object instance to be deleted.
        ;"              This should be the value returned from defWidget
        ;"Note: Don't actually delete the object here.  Just perform code needed to 
        ;"              save the object variables etc.  Anything neeed before the object 
        ;"              is deleted by delete^TMGOOL
        
        ;"-----------------
        
        ;" Here I would put code that needs to be called before destruction of the object.
        
        ;"-----------------
        
        quit
        
        
;"------------------------------------------
;"Object Widget member functions below
;"------------------------------------------
        
        
wgtMultiply(x,y)        
        ;"Widget member function
        ;"Note: function may depend on variable (with global scope) TMGthis, as a 'this' pointer to object calling
        quit x*y

wgtDivide(x,y)                
        ;"Widget member function
        ;"Note: function may depend on variable (with global scope) TMGthis, as a 'this' pointer to object calling
        quit x/y

wgtShowValue(x)
        ;"Widget member function (with no return value, i.e. a procedure)
        ;"Note: function may depend on variable (with global scope) TMGthis, as a 'this' pointer to object calling
        write x,!
        quit 0