Tk Source Code

View Ticket
Login
Ticket UUID: 220625
Title: iwidgets::combobox hiding of parent window
Type: Bug Version: obsolete: 8.2
Submitter: welch Created on: 2000-10-31 23:46:39
Subsystem: 65. Generic Window Operations Assigned To: nobody
Priority: 2 Severity:
Status: Closed Last Modified: 2001-03-24 04:38:25
Resolution: Fixed Closed By: dgp
    Closed on: 2001-03-23 21:38:25
Description:
OriginalBugID: 3645 Bug
Version: 8.2
SubmitDate: '1999-11-23'
LastModified: '1999-12-01'
Severity: MED
Status: Released
Submitter: techsupp
ChangedBy: hobbs
OS: Windows 98
Machine: win 98
FixedDate: '1999-12-01'
FixedInVersion: 8.2.1


Name:
Todd Shoemaker

CustomShell:
none

ReproducibleScript:
#! /usr/bin/sh
# make sure wish80 is the current in interpreter and is in the $PATH
#  exec wish "$0" "$@"
package require Iwidgets 3.0
set usds [list hello world]

################################################
#procedure to position dialogs in center of screen
################################################
proc DialogPosition {Dlg Dialogwidth DialogHeight} {
set Width [winfo screenwidth .]
set Height [winfo screenheight .]
set Xoffset [expr (( $Width - $Dialogwidth )/2 )]
set Yoffset [expr (( $Height - $DialogHeight )/2 )]
wm geometry $Dlg ${Dialogwidth}x${DialogHeight}+$Xoffset+$Yoffset
}

################################################
#proc Add or remove notebook from proc GetUSDs
################################################
proc AddRemoveUSD {Count Choice} {

global  usds slots usdips allistboxes LocalCount
if {$Count != 0} {
set NoteBook [.usd.frm.nb add -label "USD [expr ($Count + 1)]"]
} else {
set NoteBook [.usd.frm.nb childsite]
}
iwidgets::Labeledframe $NoteBook.pr1 -labelpos nw -labeltext "Enter Host Name"
set ChildSite1 [$NoteBook.pr1 childsite]
iwidgets::Labeledframe $NoteBook.pr2 -labelpos nw -labeltext "Choose slots to Configure"
set ChildSite2 [$NoteBook.pr2 childsite]
iwidgets::combobox $ChildSite1.cb -labeltext "Host: " -labelpos w -textvariable text($Count) -editable 0  -selectioncommand {
set ipaddress([.usd.frm.nb view]) "IP Address: [lindex $usdips [lsearch $usds $text([.usd.frm.nb view])]]"
}
iwidgets::labeledwidget $ChildSite1.addrs -labelvariable ipaddress($Count) 
set allistboxes [lreplace $allistboxes $Count $Count $ChildSite1.cb]
foreach val $usds {
$ChildSite1.cb insert list end $val
} 
pack $ChildSite1.cb -padx 45 -pady 10 -fill x
pack $ChildSite1.addrs -padx 15 -pady 5 -fill x 
pack $NoteBook.pr1 -fill x -padx 20 -pady 5 
pack $NoteBook.pr2 -fill x -padx 20 -pady 5 
frame $ChildSite2.frm1
frame $ChildSite2.frm2
frame $ChildSite2.frm3
set FirstColumn [list 1 5 9]
set LastColumn [list 4 8 12]
set PlaceHolder 0
for {set k 1} {$k <= 3} {incr k} {
for {set j [lindex $FirstColumn $PlaceHolder]} {$j <= [lindex $LastColumn $PlaceHolder]} {incr j} {
checkbutton $ChildSite2.frm$k.slot$j -text "slot[format "%.2d" $j]" -variable slots($${Count}${j}) -onvalue $j -offvalue 0
}
incr PlaceHolder
}
set PlaceHolder 0
for {set k 1} {$k <= 3} {incr k} {
for {set j [lindex $FirstColumn $PlaceHolder]} {$j <= [lindex $LastColumn $PlaceHolder]} {incr j} {
pack $ChildSite2.frm$k.slot$j  -side left -fill x
}
incr PlaceHolder
}
pack $ChildSite2.frm1 -pady 1 
pack $ChildSite2.frm2 -pady 1
pack $ChildSite2.frm3 -pady 1
if {$Choice == "Disable"} {
.usd.frm.options.add config -state disabled
} elseif {$Choice == "Enable"} {
.usd.frm.options.remove config -state normal
}
}

################################################
#procFirst window to pop up when new configuratoin is chosen
#Asks what USDs to configure
################################################
proc GetUSDs {} {

global UsdCount usds Yes hosts slots allistboxes tree Interface Type usdinterfacetypevalue statuscount 

set Yes 1
set hosts [list]
set allistboxes [list null null null null null null]
toplevel .usd
frame .usd.frm -relief raised
wm title .usd "UltraNet Storage Director Configuration"
option add *Tabnotebook.backdrop grey
option add *Scale.width 8
iwidgets::tabnotebook .usd.frm.nb -tabpos n -width 320 -height 280 -bevelamount 2-raiseselect yes -tabbackground darkgrey -background grey
pack .usd.frm.nb -fill both -expand yes
.usd.frm.nb add -label "USD 1"
.usd.frm.nb select 0
AddRemoveUSD 0 null
set UsdCount 1
frame .usd.frm.options
button .usd.frm.options.add -text "Add"  -command {
}
button .usd.frm.options.remove -text "Remove"  -command {
}

button .usd.frm.options.edit -text "Edit"  -command {
}
button .usd.frm.options.ok -text "Continue"  -command {
}
button .usd.frm.options.cancel -text "Cancel"  -command { 
}

pack .usd.frm.options.cancel .usd.frm.options.ok .usd.frm.options.edit .usd.frm.options.remove .usd.frm.options.add -side right -anchor e -ipadx 5 -padx 5 -pady 5
pack .usd.frm.options -side bottom -fill x 
pack .usd.frm -pady 5
.usd.frm.options.remove config -state disabled
DialogPosition .usd 350 335
wm resizable .usd 0 0
focus -force .usd
#tkwait window .usd
}

wm title . "Gateway Test Suite"
DialogPosition . 600 400
update
GetUSDs

ObservedBehavior:
When I click on the combobox in the toplevel window .usd, I only see the
drop down box in .usd--the rest of .usd dissappears(when the . window is behind the .usd window initially),

If I iconify the . window, and leave the .usd window on the screen,
it works just fine.

DesiredBehavior:
I don't believe this behavior existed in 8.1



This sounds like a bug in wm deiconify that was already
fixed in 8.2.1.  Please verify if this is not the case. 
-- 12/01/1999 hobbs