Index: TODO =================================================================== diff -u -rdf2936cf5ecc9a2d5473804c9b5e49b67fc02f50 -r9f406d2897995c76c5f7166c76fe27a561039347 --- TODO (.../TODO) (revision df2936cf5ecc9a2d5473804c9b5e49b67fc02f50) +++ TODO (.../TODO) (revision 9f406d2897995c76c5f7166c76fe27a561039347) @@ -4470,7 +4470,6 @@ call these "variable handlers" - valuechangedcmd implemented via initcmd does not work with "configure" method -- info AddSlotObjects(): handle full-qualified name for private slots - fix property inheritance in traits (nx-traits.tcl) - maybe remove unneeded values, align naming in enumeration of first arg of *::info::objectparameter and *::info::method @@ -4487,72 +4486,15 @@ - reconsider lower multiplicty on -object-mixin, -mixin... -- flatten out interface asymmetry between methods and properties - - methods: - query defined: "/obj|cls/ info ?object? methods ?pattern?" -> names - obtain definition: "/obj|cls/ info ?object? method definition /name|handle/" -> single definiton - query callable: "/obj|cls/ info lookup method /name/" -> handle (where is the method defined) - query callable: "/obj|cls/ info lookup methods ... ?pattern?" -> names (what methods can be called) - - properties|variables - query defined: "/obj|cls/ info ?object? slot names ?pattern?" -> names - obtain definition: "/obj|cls/ info ?object? slot definitions ?pattern?" -> list definitions - obtain handles: "/obj|cls/ info ?object? slot objects ?pattern?" -> slot objects - query callable: "/obj|cls/ info lookup slots ... ?pattern?" -> slot objects (where are parameters defined) - - method parameters: - query defined "/obj|cls/ info method args /name|handle/" -> list parameter names (e.g. x y) - obtain definition: "/obj|cls/ info method syntax /name|handle/" -> syntax notation of parameters (e.g. x ?y?) - obtain definition: "/obj|cls/ info method parameter /name|handle/" -> list of parameters for specified method (e.g. x:integer y) - - object parameters: - query defined: "/cls/ info parameter list ?pattern?" -> list names with potential "-" (-a -b) - "/cls/ info parameter names ?pattern?" -> list names (a b) - obtain syntax: "/cls/ info parameter syntax ?pattern?" -> syntax notation - obtain definition: "/cls/ info parameter definitions ?pattern?" -> list definitions - query available: "/obj|cls/ info lookup parameter names ?pattern?" -> list names - "/obj|cls/ info lookup parameter list ?pattern?" -> list names with potential "-" (-a -b) - "/obj|cls/ info lookup parameter syntax ?pattern?" -> syntax notation of parameters (e.g. ?-a x? ?-b b?) - "/obj|cls/ info lookup parameter definitions ?pattern?" -> list definitions - "/obj|cls/ configure" -> syntax notation of parameters (e.g. ?-a x? ?-b b?) - - - - - - - - + more detail queries for "info method" and "info slot" - - alternative: - - drop term "slot" from the public vocabulary, use property instead (also for variable cases) - - properties|variables: - query defined: "/obj|cls/ info properties ?pattern?" -> names - obtain definition: "/obj|cls/ info property definition /name|slotobj/"-> single definiton - query callable: "/obj|cls/ info lookup property /name/" -> slotobj - query callable: "/obj|cls/ info lookup properties ?pattern?" -> names (what properties are available) - we could certainly stick with slot/slots. - - pro: same logic - contra: needs often 2 steps: find the handle|slotobj, get the detail info from there. - - - maybe rename nonpos arg "-config" of property/variable to "-configurable"? (pro: more clearly, contra: longer) -- regression tests for "/obj/ info lookup parameter ...." + do we need "config" as parameter property? - handling of "required" in reconfigure (see parameter-object-mixin-dependency in parameters.test) - handling of recreate (see regression test for class-level properties) - maybe "::nsf::object::property /obj/ volatile 0|1" to alter volatile state. -- Property reform part 3: change defaultPropertyAccessor or nx to none -- update documentation with property reform -- do we need "config" as parameter property? - -- document "private property" - - document new setable object properties perobjectdispatch and keepcallerself - behavior on keepcallerself on ordinary dispatches with implicit/explicit