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
- foreach m [lsort [DO $object info procs]] {
+ foreach m [lsort [DO ::xo::getObjectProperty $object proc]] {
set out [api_documentation $scope $object proc $m]
if {$out ne ""} {
append output [api_src_doc $out $show_source $scope $object proc $m]
}
}
- foreach m [lsort [DO $object info forward]] {
+ foreach m [lsort [DO ::xo::getObjectProperty $object forward]] {
set out [api_documentation $scope $object forward $m]
if {$out ne ""} {
append output [api_src_doc $out $show_source $scope $object forward $m]
}
}
if {$isclass} {
- set cls [lsort [DO $object info instprocs]]
+ set cls [lsort [DO ::xo::getObjectProperty $object instproc]]
foreach m $cls {
set out [api_documentation $scope $object instproc $m]
if {$out ne ""} {
@@ -289,13 +290,13 @@
append output
\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 ""} {