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 |
|
---|