Index: TODO =================================================================== diff -u -r5b2eafb18ce22d7aa8cef352f535da5046cac7d9 -re81c69e53c56a298227bc9e349ff6918d03ef94a --- TODO (.../TODO) (revision 5b2eafb18ce22d7aa8cef352f535da5046cac7d9) +++ TODO (.../TODO) (revision e81c69e53c56a298227bc9e349ff6918d03ef94a) @@ -2539,9 +2539,11 @@ * various documentation updates (migration guide, nx tutorial) * fixed bad interaction between filter and parameter alias +* some documentation/todo updates + TODO: - maybe the destructor of a slot should remove the setter/forwarder -- how to delete attributes +- how to delete attributes? - when alloc|dealloc are loaded via require, we have no redefined-protection on those. Since the script does not know, @@ -2551,16 +2553,15 @@ "class|object ?-per-object?" is inserted at the 1nd pos. This is not sufficient, if we would like to test in this script, whether the first arg is e.g. a class. -- make pot.unknown client data more safe (see above) -- check removal of more internal-callback methods -- update method-summary and differences to xotcl - in tutorial/migration guide +- make potentially unknown clientData more safe (error message, + when something is passed via clientData to a method expecting + an object/class as clientData). Code is in gentclAPI.h + - document value added replacements of Tcl functions - object parameter type forward: - regression test - - reduce verbosity - get rid of eager tcd creation (optimization, can go to future releases) - slotmachinerie 2 Index: doc/next-migration.html =================================================================== diff -u -rb3018d3be0f1524a3f1709edc0e2ddb5d8bc4c0b -re81c69e53c56a298227bc9e349ff6918d03ef94a --- doc/next-migration.html (.../next-migration.html) (revision b3018d3be0f1524a3f1709edc0e2ddb5d8bc4c0b) +++ doc/next-migration.html (.../next-migration.html) (revision e81c69e53c56a298227bc9e349ff6918d03ef94a) @@ -5923,7 +5923,7 @@ Bar b1
-

4.2.3. Ignored Parameter definitions

+

4.2.3. Changing classes and superclasses

NX does not define the methods class and superclass but allows to alter the class/superclass via configure. The class and superclass can be certainly queried in all variants with info class or info superclass.

@@ -5942,8 +5942,11 @@ nx::Class create Foo Foo create f1 -# now oalter the class of object f1 -f1 configure -class nx::Object
+# now alter the class of object f1 +f1 configure -class nx::Object + +# alternate approach via Next Scripting Framework +::nsf::relation f1 class ::nx::Object
@@ -6018,7 +6021,7 @@ Index: doc/next-migration.txt =================================================================== diff -u -rb3018d3be0f1524a3f1709edc0e2ddb5d8bc4c0b -re81c69e53c56a298227bc9e349ff6918d03ef94a --- doc/next-migration.txt (.../next-migration.txt) (revision b3018d3be0f1524a3f1709edc0e2ddb5d8bc4c0b) +++ doc/next-migration.txt (.../next-migration.txt) (revision e81c69e53c56a298227bc9e349ff6918d03ef94a) @@ -2475,7 +2475,7 @@ Bar b1 ---------------- -==== Ignored Parameter definitions +==== Changing classes and superclasses NX does not define the methods +class+ and +superclass+ but allows to alter the class/superclass via +configure+. The class and superclass @@ -2486,8 +2486,11 @@ nx::Class create Foo Foo create f1 -# now oalter the class of object f1 +# now alter the class of object f1 f1 configure -class nx::Object + +# alternate approach via Next Scripting Framework +::nsf::relation f1 class ::nx::Object ---------------- Index: library/nx/nx.tcl =================================================================== diff -u -r5b2eafb18ce22d7aa8cef352f535da5046cac7d9 -re81c69e53c56a298227bc9e349ff6918d03ef94a --- library/nx/nx.tcl (.../nx.tcl) (revision 5b2eafb18ce22d7aa8cef352f535da5046cac7d9) +++ library/nx/nx.tcl (.../nx.tcl) (revision e81c69e53c56a298227bc9e349ff6918d03ef94a) @@ -10,8 +10,10 @@ # # First create the ::nx object system. The interally called methods, - # which are not defined by default (from this script), must have - # method handles included. + # which are not defined by in this script, must have method handles + # included. The methods "create", "configure", "destroy", "move" and + # "objectparameter" are defined in this script (either scripted, or + # aliases). # ::nsf::createobjectsystem ::nx::Object ::nx::Class { -class.alloc {alloc ::nsf::methods::class::alloc}