Index: doc/example-scripts/rosetta-add-variable.html =================================================================== diff -u -red0f5cba982af963b62c36d8c8c75e89c81adf3e -rc4f449cb353be812ba6502ef8e9587e87881f59b --- doc/example-scripts/rosetta-add-variable.html (.../rosetta-add-variable.html) (revision ed0f5cba982af963b62c36d8c8c75e89c81adf3e) +++ doc/example-scripts/rosetta-add-variable.html (.../rosetta-add-variable.html) (revision c4f449cb353be812ba6502ef8e9587e87881f59b) @@ -1,970 +1,970 @@ - - - - - -Listing of doc/example-scripts/rosetta-add-variable.tcl - - - - - -
-
-

Rosetta example: Add a variable to a class instance at runtime

-
-

Demonstrate how to dynamically add variables to an object (a class instance) at runtime.

- -
-
-
package req nx
-

The class Empty does not provide any structural or behaviora -features on behalf of future instances, they will remain empty.

-
-
-
nx::Class create Empty
-

Provide one instance of Empty to add an object variable to …

-
-
-
Empty create ::e
-

Is e truly empty?

-
-
-
% ::e info vars
-

NX offers different types of object-variable managers: properties, -variable slots, and plain Tcl per-object variables. Below, we -showcase variable slots (although the others can be added -dynamically alike).

-

a) Declare a variable slot foo; -accessor will provide -getter/setter methods for this one object e automatically.

-
-
-
::e object variable -accessor public foo
-

b) Define a value for the variable slot foo

-
-
-
% ::e foo set 1
-1
-

c) Is there a Tcl variable managed by the variable slot?

-
-
-
% ::e info vars
-foo
-

d) Retrieve foo's value

-
-
-
% ::e foo get
-1
-

A second instance of Empty has no such capability: foo

-
-
-
Empty create ::f
-

a) Is there any Tcl variable, one named foo? No …

-
-
-
% ::f info vars
-

b) Are there getter/setter methods for a foo? No …

-
-
-
% ::f foo set
-::f: unable to dispatch method 'foo'
-

c) Is there a variable slot foo? No …

-
-
-
% ::f info object variables foo
-

In NX, once dynamically added, a variable slot can also be dynamically removed again.

-
-
-
::e delete object variable foo
-

a) Is the variable slot foo gone? Yes …

-
-
-
% ::e info object variables foo
-

b) Is the Tcl variable gone? Yes …

-
-
-
% ::e info vars
-

c) Are the getter/setter methods gone? Yes …

-
-
-
% ::e foo get
-::e: unable to dispatch method 'foo'
-
-
-
-

- - - + + + + + +Listing of doc/example-scripts/rosetta-add-variable.tcl + + + + + +
+
+

Rosetta example: Add a variable to a class instance at runtime

+
+

Demonstrate how to dynamically add variables to an object (a class instance) at runtime.

+ +
+
+
package req nx
+

The class Empty does not provide any structural or behaviora +features on behalf of future instances, they will remain empty.

+
+
+
nx::Class create Empty
+

Provide one instance of Empty to add an object variable to …

+
+
+
Empty create ::e
+

Is e truly empty?

+
+
+
% ::e info vars
+

NX offers different types of object-variable managers: properties, +variable slots, and plain Tcl per-object variables. Below, we +showcase variable slots (although the others can be added +dynamically alike).

+

a) Declare a variable slot foo; -accessor will provide +getter/setter methods for this one object e automatically.

+
+
+
::e object variable -accessor public foo
+

b) Define a value for the variable slot foo

+
+
+
% ::e foo set 1
+1
+

c) Is there a Tcl variable managed by the variable slot?

+
+
+
% ::e info vars
+foo
+

d) Retrieve foo's value

+
+
+
% ::e foo get
+1
+

A second instance of Empty has no such capability: foo

+
+
+
Empty create ::f
+

a) Is there any Tcl variable, one named foo? No …

+
+
+
% ::f info vars
+

b) Are there getter/setter methods for a foo? No …

+
+
+
% ::f foo set
+::f: unable to dispatch method 'foo'
+

c) Is there a variable slot foo? No …

+
+
+
% ::f info object variables foo
+

In NX, once dynamically added, a variable slot can also be dynamically removed again.

+
+
+
::e delete object variable foo
+

a) Is the variable slot foo gone? Yes …

+
+
+
% ::e info object variables foo
+

b) Is the Tcl variable gone? Yes …

+
+
+
% ::e info vars
+

c) Are the getter/setter methods gone? Yes …

+
+
+
% ::e foo get
+::e: unable to dispatch method 'foo'
+
+
+
+

+ + +