/trunk/Examples/tcl/class/runme.tcl
TCL | 50 lines | 27 code | 14 blank | 9 comment | 0 complexity | df8f7294d88f3c660efe9c27b1259dab MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- # file: runme.tcl
- # This file illustrates the high level C++ interface.
- # In this case C++ classes work kind of like Tk widgets
- catch { load ./example[info sharedlibextension] example}
- # ----- Object creation -----
- puts "Creating some objects:"
- Circle c 10
- puts " Created circle [c cget -this]"
- Square s 10
- puts " Created square [s cget -this]"
- # ----- Access a static member -----
- puts "\nA total of $Shape_nshapes shapes were created"
- # ----- Member data access -----
- # Set the location of the object
- c configure -x 20 -y 30
- s configure -x -10 -y 5
- puts "\nHere is their current position:"
- puts " Circle = ([c cget -x], [c cget -y])"
- puts " Square = ([s cget -x], [s cget -y])"
- # ----- Call some methods -----
- puts "\nHere are some properties of the shapes:"
- foreach o "c s" {
- puts " [$o cget -this]"
- puts " area = [$o area]"
- puts " perimeter = [$o perimeter]"
- }
- # ----- Delete everything -----
- puts "\nGuess I'll clean up now"
- # Note: this invokes the virtual destructor
- rename c ""
- rename s ""
- puts "$Shape_nshapes shapes remain"
- puts "Goodbye"