~ubuntu-branches/ubuntu/trusty/rheolef/trusty-proposed

« back to all changes in this revision

Viewing changes to nfem/vtk/vtk_widget_object.tcl

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme
  • Date: 2010-06-12 09:08:59 UTC
  • Revision ID: james.westby@ubuntu.com-20100612090859-8gpm2gc7j3ab43et
Tags: upstream-5.89
ImportĀ upstreamĀ versionĀ 5.89

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# This file is part of Rheolef.
 
3
#
 
4
# Copyright (C) 2000-2009 Pierre Saramito 
 
5
#
 
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.
 
10
#
 
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.
 
15
#
 
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
 
19
#
 
20
# -------------------------------------------------------------------------
 
21
 
 
22
# These procs allow widgets to behave like objects with their own
 
23
# state variables of processing objects.
 
24
 
 
25
 
 
26
# generate a "unique" name for a widget variable
 
27
proc GetWidgetVariable {widget varName} {
 
28
   regsub -all {\.} $widget "_" base
 
29
 
 
30
   return "$varName$base"
 
31
}
 
32
 
 
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
 
39
   $type $var
 
40
 
 
41
   # It is better to keep interface consistent
 
42
   # setting objects as variable values, and NewWidgetObject.
 
43
   SetWidgetVariableValue $widget $varName $var
 
44
 
 
45
   return $var
 
46
}
 
47
 
 
48
# obsolete!!!!!!!
 
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"
 
54
}
 
55
 
 
56
# sets the value of a widget variable
 
57
proc SetWidgetVariableValue {widget varName value} {
 
58
   set var [GetWidgetVariable $widget $varName]
 
59
   global $var
 
60
   set $var $value
 
61
}
 
62
 
 
63
# This proc has alway eluded me.
 
64
proc GetWidgetVariableValue {widget varName} {
 
65
   set var [GetWidgetVariable $widget $varName]
 
66
   global $var
 
67
   set temp ""
 
68
   catch {eval "set temp [format {$%s} $var]"}
 
69
 
 
70
   return $temp
 
71
}
 
72
 
 
73