Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   How do I prevent master window from being accessed with child window present? (http://www.velocityreviews.com/forums/t321823-how-do-i-prevent-master-window-from-being-accessed-with-child-window-present.html)

Marc 08-29-2003 06:12 PM

How do I prevent master window from being accessed with child window present?
 
Hi,

I am doing a gui application where child windows pop up with options
after the user selects particular buttons from the master window.
However, the master window is still active underneath the child
window. If they accidentally press the same button again they can get
the same copy of two child windows, and that screws up a bunch of the
database stuff that I am trying to collect.

I have tried using the 'transient' method, and that prevents the
master window from being highlighted. But the user can still push
buttons on the master window if the child window is moved aside.

How do I disable the master window until the child window is closed?

Thanks,
Marc

Cliff Wells 08-29-2003 07:25 PM

Re: How do I prevent master window from being accessed with childwindow present?
 
On Fri, 2003-08-29 at 11:12, Marc wrote:
> Hi,
>
> I am doing a gui application where child windows pop up with options
> after the user selects particular buttons from the master window.
> However, the master window is still active underneath the child
> window. If they accidentally press the same button again they can get
> the same copy of two child windows, and that screws up a bunch of the
> database stuff that I am trying to collect.
>
> I have tried using the 'transient' method, and that prevents the
> master window from being highlighted. But the user can still push
> buttons on the master window if the child window is moved aside.
>
> How do I disable the master window until the child window is closed?


And which GUI toolkit are you using? Most have an option to open a
window as "modal" (although this might be limited to dialogs for your
particular toolkit) which means it retains the focus exclusively until
it's dismissed.

--
Cliff Wells, Software Engineer
Logiplex Corporation (www.logiplex.net)
(503) 978-6726 (800) 735-0555



Marc 08-30-2003 12:00 AM

Re: How do I prevent master window from being accessed with childwindow present?
 
I guess knowing which kit would help. I am using Tkinter.


"Cliff Wells" <logiplex@qwest.net> wrote in message
news:mailman.1062185326.12289.python-list@python.org...
> On Fri, 2003-08-29 at 11:12, Marc wrote:
> > Hi,
> >
> > I am doing a gui application where child windows pop up with options
> > after the user selects particular buttons from the master window.
> > However, the master window is still active underneath the child
> > window. If they accidentally press the same button again they can get
> > the same copy of two child windows, and that screws up a bunch of the
> > database stuff that I am trying to collect.
> >
> > I have tried using the 'transient' method, and that prevents the
> > master window from being highlighted. But the user can still push
> > buttons on the master window if the child window is moved aside.
> >
> > How do I disable the master window until the child window is closed?

>
> And which GUI toolkit are you using? Most have an option to open a
> window as "modal" (although this might be limited to dialogs for your
> particular toolkit) which means it retains the focus exclusively until
> it's dismissed.
>
> --
> Cliff Wells, Software Engineer
> Logiplex Corporation (www.logiplex.net)
> (503) 978-6726 (800) 735-0555
>
>




Michael Peuser 08-30-2003 08:01 AM

Re: How do I prevent master window from being accessed with childwindow present?
 

"Marc" <losnations@comcast.net> schrieb im Newsbeitrag
news:7YadnTLIALoMddKiXTWJiw@comcast.com...
> I guess knowing which kit would help. I am using Tkinter.
>

Of course you were usind Tkinter...

(1) You can use the modal approach (have a look how Pmw are doing this.
(2) Disable all your controls in the main widget when you show the child
window.
(3) "withdraw" the main window (this is not iconify!)

Example:
from Tkinter import *

m=Tk()
m.title("Parent")
c=Toplevel(m)
c.title("Child")
Button(c,text="Hello",command=c.destroy).pack()

c.bind("<Destroy>",lambda x:m.deiconify())
# note we need lambda to get rid of the Destroy argument
#we should "bind", because there are many ways a window can be killed

m.withdraw()

mainloop()




Eric Brunel 09-01-2003 07:57 AM

Re: How do I prevent master window from being accessed with childwindow present?
 
Marc wrote:
> Hi,
>
> I am doing a gui application where child windows pop up with options
> after the user selects particular buttons from the master window.
> However, the master window is still active underneath the child
> window. If they accidentally press the same button again they can get
> the same copy of two child windows, and that screws up a bunch of the
> database stuff that I am trying to collect.
>
> I have tried using the 'transient' method, and that prevents the
> master window from being highlighted. But the user can still push
> buttons on the master window if the child window is moved aside.
>
> How do I disable the master window until the child window is closed?


childWindow.grab_set()

HTH
--
- Eric Brunel <eric.brunel@pragmadev.com> -
PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com



All times are GMT. The time now is 10:13 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.