[796] | 1 | TMGOOWG ;TMG/kst/OO widget setup ;03/25/06
|
---|
| 2 | ;;1.0;TMG-LIB;**1**;04/25/04
|
---|
| 3 |
|
---|
| 4 | ;"Note: this was concept code. But a better example now is the TMGW* code
|
---|
| 5 |
|
---|
| 6 |
|
---|
| 7 | ;"Kevin Toppenberg MD
|
---|
| 8 | ;"GNU General Public License (GPL) applies
|
---|
| 9 | ;"------------------------------------------
|
---|
| 10 | ;"Object Widget setup code below
|
---|
| 11 | ;"------------------------------------------
|
---|
| 12 |
|
---|
| 13 | constrWidget(instanceName)
|
---|
| 14 | ;"Purpose -- A constructor for object Widget
|
---|
| 15 | ;"Input: objectType -- the NAME of the type of the object to be defined.
|
---|
| 16 | ;" This should be a variable (global or otherwise) of the object.
|
---|
| 17 | ;"Note: This function should not be called directly, but instead is called
|
---|
| 18 | ;" via new^TMGOOL
|
---|
| 19 | ;"Result: none <--- REQUIRED TO NOT RETURN A RESULT
|
---|
| 20 |
|
---|
| 21 | ;"Here we define the default values for vars and functions.
|
---|
| 22 |
|
---|
| 23 | ;"----------------All constructors should copy this format --------------------
|
---|
| 24 | new typeDef
|
---|
| 25 | set typeDef=@instanceName@("TYPEDEF")
|
---|
| 26 | set @typeDef@("Multiply")="wgtMultiply^TMGOOWG(x,y)"
|
---|
| 27 | set @typeDef@("Divide")="wgtDivide^TMGOOWG(x,y)"
|
---|
| 28 | set @typeDef@("Show")="wgtShowValue^TMGOOWG(x)"
|
---|
| 29 | ;"--------------------------------------------------------------------------------
|
---|
| 30 |
|
---|
| 31 | ;"Optional initialization of some instance-specific variables.
|
---|
| 32 | set @instanceName@("MyVar1")=0
|
---|
| 33 | set @instanceName@("MyVar2")=0
|
---|
| 34 | set @instanceName@("MyVar3")=0
|
---|
| 35 |
|
---|
| 36 | quit
|
---|
| 37 |
|
---|
| 38 |
|
---|
| 39 | destWidget(instanceName)
|
---|
| 40 | ;"Purpose: A destructor for object Widget
|
---|
| 41 | ;" any needed clean up code would go here first.
|
---|
| 42 | ;"Input: instanceName -- the name of the object instance to be deleted.
|
---|
| 43 | ;" This should be the value returned from defWidget
|
---|
| 44 | ;"Note: Don't actually delete the object here. Just perform code needed to
|
---|
| 45 | ;" save the object variables etc. Anything neeed before the object
|
---|
| 46 | ;" is deleted by delete^TMGOOL
|
---|
| 47 |
|
---|
| 48 | ;"-----------------
|
---|
| 49 |
|
---|
| 50 | ;" Here I would put code that needs to be called before destruction of the object.
|
---|
| 51 |
|
---|
| 52 | ;"-----------------
|
---|
| 53 |
|
---|
| 54 | quit
|
---|
| 55 |
|
---|
| 56 |
|
---|
| 57 | ;"------------------------------------------
|
---|
| 58 | ;"Object Widget member functions below
|
---|
| 59 | ;"------------------------------------------
|
---|
| 60 |
|
---|
| 61 |
|
---|
| 62 | wgtMultiply(x,y)
|
---|
| 63 | ;"Widget member function
|
---|
| 64 | ;"Note: function may depend on variable (with global scope) TMGthis, as a 'this' pointer to object calling
|
---|
| 65 | quit x*y
|
---|
| 66 |
|
---|
| 67 | wgtDivide(x,y)
|
---|
| 68 | ;"Widget member function
|
---|
| 69 | ;"Note: function may depend on variable (with global scope) TMGthis, as a 'this' pointer to object calling
|
---|
| 70 | quit x/y
|
---|
| 71 |
|
---|
| 72 | wgtShowValue(x)
|
---|
| 73 | ;"Widget member function (with no return value, i.e. a procedure)
|
---|
| 74 | ;"Note: function may depend on variable (with global scope) TMGthis, as a 'this' pointer to object calling
|
---|
| 75 | write x,!
|
---|
| 76 | quit 0
|
---|
| 77 |
|
---|
| 78 |
|
---|