/usr/src/WrapITK/Tcl/itkutils.tcl is in libinsighttoolkit3-dev 3.20.1+git20120521-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | #
# Program: Insight Segmentation & Registration Toolkit
# Module: itkutils.tcl
# Language: C++
# Date: $Date$
# Version: $Revision$
#
# Copyright (c) Insight Software Consortium. All rights reserved.
# See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even
# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the above copyright notices for more information.
#
# Define ITK Tcl utilities.
namespace eval itk {
# Allow code like "$obj Print [itk::result]
proc result {} {
return [itk::TclStringStream [cable::Interpreter]]
}
# Create an object of the given type. Return a pointer to it. A
# smart pointer to the object is kept in a list that is destroyed at
# program exit.
proc create {type} {
global itk::_ObjectList_
set ptr [itk::$type New]
set p [$ptr ->]
lappend _ObjectList_ $ptr
return $p
}
# Start with an empty object list.
set _ObjectList_ {}
# Create an image viewer in a given frame.
proc createImageViewer2D {frame image args} {
# Create the canvas.
eval canvas $frame.canvas {-scrollregion "1 1 32 32"} \
{-xscrollcommand "$frame.scrollx set"} \
{-yscrollcommand "$frame.scrolly set"} $args
scrollbar $frame.scrollx -orient horizontal \
-command "$frame.canvas xview"
scrollbar $frame.scrolly -orient vertical \
-command "$frame.canvas yview"
pack $frame.scrollx -side bottom -fill x
pack $frame.scrolly -side right -fill y
pack $frame.canvas -expand 1 -fill both
# Create a Tk image on the canvas.
set i [image create photo]
$frame.canvas create image 0 0 -image $i -anchor nw
# Setup the TkImageViewer2D instance.
set viewer [itk::create TkImageViewer2D]
$viewer SetInput $image
$viewer SetInterpreter [cable::Interpreter]
$viewer SetImageName $i
$viewer SetCanvasName $frame.canvas
return $viewer
}
# Create a Tcl callback event.
proc createTclCommand { cmd } {
set command [itk::create TclCommand]
$command SetInterpreter [cable::Interpreter]
$command SetCommandString $cmd
return $command
}
# Tcl procedure to list the wrapped classes.
proc listClasses {} {
set cmds {}
foreach c [info commands ::itk::*] {
if { ! [regexp {(<)|(_Pointer$)|(_Superclass$)|(^::itk::[^A-Z])} $c] } {
lappend cmds $c
}
}
set cmds [lsort $cmds]
foreach c $cmds {
puts $c
}
}
proc listMethods {obj} {
cable::ListMethods $obj
}
namespace export create result createImageViewer2D
}
|