deleting menu items??
From: Harm Voordenhout (harm_at_nospam.nl)
Date: 12/29/03
- Next message: Michael Schlenker: "Re: ANTIALIASING ???"
- Previous message: rob loggia: "Re: wiki.tcl.tk about to become a waste of time?"
- Next in thread: Gordon: "Re: deleting menu items??"
- Reply: Gordon: "Re: deleting menu items??"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 29 Dec 2003 15:48:14 +0100
Hello all,
I've run across a problem that at this moment completely baffles me.
What I want is to create dynamically some menu items, based on file
input. So far, so good.
But after new input, I may want to change these items. So I thought to
delete the existing items and create new ones. But if one of the new
items (say subItem3) is the same as one of the old ones I get the error
" window name "subItem3" already exists in parent"
I've managed to isolate the problem in some code. I've inserted a bit of
comment to illustrate the steps
---------------------------------------------------------
# First create my menu
menu .menubar
. config -menu .menubar
foreach m {File item1 item2 Help} {
.menubar add cascade -label $m -menu [menu .menubar.m$m -tearoff 0]
}
.menubar.mFile add command -label "Quit" -command {exit}
set subItemList {{1 {2 3 4}} {3 {4 5 6}}}
foreach subList $subItemList {
set resourceNr [lindex $subList 0]
set labelText "subItem $resourceNr"
.menubar.mitem1 add cascade -label $labelText -menu [menu
.menubar.mitem1.subItem$resourceNr \
-tearoff 0] -state active
.menubar.mitem2 add cascade -label $labelText -menu [menu
.menubar.mitem2.subItem$resourceNr \
-tearoff 0] -state active
foreach capability [lindex $subList 1] {
set labelText [format "Capability %s" $capability]
.menubar.mitem1.subItem$resourceNr add command -label $labelText
-command \
[format "puts %s_%s" $resourceNr \
$capability] -state active
.menubar.mitem2.subItem$resourceNr add command -label $labelText
-command \
[format "puts %s_%s" $resourceNr \
$capability] -state active
}
}
# at this point everything looks fine, I get what I want
foreach subList $subItemList {
set resourceNr [lindex $subList 0]
foreach capability [lindex $subList 1] {
.menubar.mitem1.subItem$resourceNr delete 0 end
.menubar.mitem2.subItem$resourceNr delete 0 end
}
.menubar.mitem1 delete 0 end
.menubar.mitem2 delete 0 end
}
# at this point, everything still looks fine, my menu-items are gone
#next I want to create new menu-items and this is where I run into
problems
set subItemList {{2 {7 8 4}} {3 {3 2 1}}}
foreach subList $subItemList {
set resourceNr [lindex $subList 0]
set labelText "subItem $resourceNr"
.menubar.mitem1 add cascade -label $labelText -menu [menu
.menubar.mitem1.subItem$resourceNr \
-tearoff 0] -state active
.menubar.mitem2 add cascade -label $labelText -menu [menu
.menubar.mitem2.subItem$resourceNr \
-tearoff 0] -state active
foreach capability [lindex $subList 1] {
set labelText [format "Capability %s" $capability]
.menubar.mitem1.subItem$resourceNr add command -label $labelText
-command \
[format "puts %s_%s" $resourceNr \
$capability] -state active
.menubar.mitem2.subItem$resourceNr add command -label $labelText
-command \
[format "puts %s_%s" $resourceNr \
$capability] -state active
}
}
---------------------------------------------------------------
So, can anyone tell me what I do wrong? Thanks in advance for any
answers.
Greetings,
Harm Voordenhout
- Next message: Michael Schlenker: "Re: ANTIALIASING ???"
- Previous message: rob loggia: "Re: wiki.tcl.tk about to become a waste of time?"
- Next in thread: Gordon: "Re: deleting menu items??"
- Reply: Gordon: "Re: deleting menu items??"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]