Returns a references to a widget created for the preferences window.
947 proc widget {interp pname type win args} {
950 set index [
llength [
winfo children $win]]
962 if {([
llength $args] < 1) || (([
llength $args] % 2) == 0)} {
963 return -code error "api::preferences::widget $type sent an incorrect number of parameters"
971 if {([
llength $args] < 2) || (([
llength $args] % 2) == 1)} {
972 return -code error "api::preferences::widget $type sent an incorrect number of parameters"
975 set args [
lassign $args pref msg]
994 set pref_path "Plugins/$pname/$pref"
998 return -code error "Plugin preference $pref for $pname not previously loaded"
1003 return [
pref_ui::make_cb $win.cb$index $msg Plugins/$pname/$pref $opts(-grid)]
1006 if {$opts(-value) eq ""} {
1007 return -code error "Radiobutton widget must have -value option set"
1009 return [
pref_ui::make_rb $win.rb$index $msg Plugins/$pname/$pref $opts(-value) $opts(-grid)]
1012 if {$opts(-values) eq ""} {
1013 return -code error "Menubutton widget must have -values option set"
1015 return [
pref_ui::make_mb $win.mb$index $msg Plugins/$pname/$pref $opts(-values) $opts(-grid)]
1018 return [
pref_ui::make_entry $win.e$index $msg Plugins/$pname/$pref $opts(-grid) $opts(-help)]
1021 return [
pref_ui::make_token $win.te$index $msg Plugins/$pname/$pref $opts(-watermark) $opts(-grid) $opts(-help)]
1024 return [
pref_ui::make_text $win.t$index $msg Plugins/$pname/$pref $opts(-height) $opts(-grid) $opts(-help)]
1027 if {$opts(-from) eq ""} {
1028 return -code error "Spinbox widget must have -from option set"
1030 if {$opts(-to) eq ""} {
1031 return -code error "Spinbox widget must have -to option set"
1033 return [
pref_ui::make_sb $win.sb$index $msg Plugins/$pname/$pref $opts(-from) $opts(-to) $opts(-increment) $opts(-grid) $opts(-ending)]
1036 return [
pref_ui::make_cp $win.cp$index $msg Plugins/$pname/$pref $opts(-color) $opts(-grid)]
1039 if {$opts(-columns) eq ""} {
1040 return -code error "Table widget must have -columns option set"
1042 return [
pref_ui::make_table $win.tl$index $msg Plugins/$pname/$pref $opts(-columns) $opts(-height) $opts(-grid) $opts(-help)]
1045 return -code error "Unsupported preference widget type ($type)"