2
# This file is part of Rheolef.
4
# Copyright (C) 2000-2009 Pierre Saramito
6
# Rheolef is free software; you can redistribute it and/or modify
7
# it under the terms of the GNU General Public License as published by
8
# the Free Software Foundation; either version 2 of the License, or
9
# (at your option) any later version.
11
# Rheolef is distributed in the hope that it will be useful,
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
# GNU General Public License for more details.
16
# You should have received a copy of the GNU General Public License
17
# along with Rheolef; if not, write to the Free Software
18
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20
# -------------------------------------------------------------------------
22
# These procs allow widgets to behave like objects with their own
23
# state variables of processing objects.
26
# generate a "unique" name for a widget variable
27
proc GetWidgetVariable {widget varName} {
28
regsub -all {\.} $widget "_" base
30
return "$varName$base"
33
# returns an object which will be associated with a widget
34
# A convienience method that creates a name for you
35
# based on the widget name and varible value/
36
proc NewWidgetObject {widget type varName} {
37
set var "[GetWidgetVariable $widget $varName]_Object"
38
# create the vtk object
41
# It is better to keep interface consistent
42
# setting objects as variable values, and NewWidgetObject.
43
SetWidgetVariableValue $widget $varName $var
49
# returns the same thing as GetWidgetVariableValue
50
proc GetWidgetObject {widget varName} {
51
puts "Warning: obsolete call: GetWidgetObject"
52
puts "Please use GetWidgetVariableValue"
53
return "[GetWidgetVariable $widget $varName]_Object"
56
# sets the value of a widget variable
57
proc SetWidgetVariableValue {widget varName value} {
58
set var [GetWidgetVariable $widget $varName]
63
# This proc has alway eluded me.
64
proc GetWidgetVariableValue {widget varName} {
65
set var [GetWidgetVariable $widget $varName]
68
catch {eval "set temp [format {$%s} $var]"}