Index: openacs-4/packages/xotcl-core/www/show-object.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/www/show-object.tcl,v diff -u -r1.15 -r1.15.6.1 --- openacs-4/packages/xotcl-core/www/show-object.tcl 2 Feb 2011 16:26:45 -0000 1.15 +++ openacs-4/packages/xotcl-core/www/show-object.tcl 15 Sep 2013 16:22:40 -0000 1.15.6.1 @@ -31,6 +31,8 @@ set title "[::xotcl::api object_link $scope $my_class] $object" set isclass [::xotcl::api isclass $scope $object] +set isnx [xo::getObjectProperty $object isnxobject] + set s [DO Serializer new] set dimensional_slider [ad_dimensional { @@ -77,21 +79,21 @@ proc info_option {scope object kind {dosort 0}} { upvar class_references class_references - if {$dosort} { - set list [lsort [DO $object info $kind]] - } else { - set list [DO $object info $kind] - } + + set isnx [xo::getObjectProperty $object isnxobject] + set list [DO xo::getObjectProperty $object $kind] + set list [DO xo::getObjectProperty $object $kind] + + if {$dosort} {set list [lsort $list]} + set refs [list] foreach e $list { - if {[DO $object isclass $e]} { - lappend refs [::xotcl::api object_link $scope $e] - } + lappend refs [::xotcl::api object_link $scope $e] } - if {[llength $refs]>0 && $list ne ""} { + if {[llength $refs] > 0 && $list ne ""} { append class_references "
  • $kind: [join $refs {, }]
  • \n" } - if {[llength $list]>0 && $list ne ""} { + if {[llength $list] > 0 && $list ne ""} { return " \\\n -$kind [list $list]" } return "" @@ -110,8 +112,8 @@ proc class_summary {c scope} { set result "" - set parameters [lsort [$c info parameter]] - append result "
    Meta-class:
    [::xotcl::api object_link $scope [$c info class]]
    \n" + set parameters [lsort [xo::getObjectProperty $c parameter]] + append result "
    Meta-class:
    [::xotcl::api object_link $scope [xo::getObjectProperty $c class]]
    \n" if {$parameters ne ""} { set pretty [list] foreach p $parameters { @@ -125,7 +127,7 @@ } append result "
    Parameter for instances:
    [join $pretty {, }]
    \n" } - set methods [lsort [$c info instcommands]] + set methods [lsort [xo::getObjectProperty $c instcommand]] set pretty [list] foreach m $methods { if {[info exists param($m)]} continue @@ -135,7 +137,7 @@ if {[llength $pretty]>0} { append result "
    Methods for instances:
    [join $pretty {, }]
    " } - set methods [lsort [$c info commands]] + set methods [lsort [xo::getObjectProperty $c command]] set pretty [list] foreach m $methods { if {![::xotcl::Object isobject ${c}::$m]} { @@ -177,15 +179,15 @@ if {$isclass} { append output "

    Class Hierarchy of $object

    " - #append output [superclass_hierarchy $object] append output [draw_as_tree [superclass_hierarchy $object $scope]] + #set class_hierarchy [ns_urlencode [concat $object [$object info heritage]]] # # compute list of classes with siblings set class_hierarchy [list] foreach c [$object info superclass] { if {$c eq "::xotcl::Object"} {continue} - eval lappend class_hierarchy [$c info subclass] + lappend class_hierarchy {*}[$c info subclass] } if {[llength $class_hierarchy]>5} {set class_hierarchy {}} eval lappend class_hierarchy [$object info heritage] @@ -228,9 +230,8 @@ if {$isclass} { append obj_create_source \ [info_option $scope $object superclass] \ - [info_option $scope $object parameter 1] \ - [info_option $scope $object instmixin] - info_option $scope $object subclass 1 + [info_option $scope $object instmixin] \ + [info_option $scope $object subclass 1] } append obj_create_source \ @@ -258,21 +259,21 @@ if {$show_methods} { append output "

    Methods

    \n" \n } -if {$show_variables} { +if {$show_variables && !$isnx} { set vars "" foreach v [lsort [DO $object info vars]] { - if {[DO $object array exists $v]} { - append vars "$object array set $v [list [DO $object array get $v]]\n" + if {[DO ::xo::getObjectProperty $object array-exists $v]} { + append vars "$object array set $v [list [DO ::xo::getObjectProperty $object array-get $v]]\n" } else { - append vars "$object set $v [list [DO $object set $v]]\n" + append vars "$object set $v [list [DO ::xo::getObjectProperty $object set $v]]\n" } } if {$vars ne ""} {