I have a problem that I really need some help with. I need to open a new
window from my applications main window. This new window need to be
modal, I need to be able to get a result from it based on user
interaction with it, I need to be able to toggle it between fullscreen
and non-fullscreen and I also need it to host a widget without any
borders or padding in it.

gtk.Dialog makes it easy to create a window that implements most of the
behaviour trough the "run" method. Problem is that I don't need the
separator and the button area. I can hide them but I still en up with a
frame or padding between the content areas VBox and the windows borders.
I also have to play with the "set_type_hint" method in order for it to
accept the "fullscreen" and "unfullscreen" methods.

I wanted to take a look at the source for gtk.Dialog to se if I could
mimic the "run" method from a gtk.Window but I never found the actual
source for gtk.Dialog.run().

I then read about gtk.main() and gtk.main_quit(). And if I understood
the documentation, then I am supposed to be able to run gtm.main() in my
main window and call it again from my other window, exit this second
main loop with gtk.main_quit(). I tried it out and everything seems to
work as intended except that I can't close the main window when I get
back from my second gtk.main(). I am running Ubuntu 9.04 and I also
install idle hooks trough gobject.idle_add() in both the main window and
my other window.

I haven't found one single example of how to open another window from
the main window with an additional call to gtk.main() and exit from it
using gtk.main_quit(). I would happily use the gtk.Dialog class if there
was a simple dialog window without additional widgets that I might not
use in my dialog (such as the action and content areas gtk.ButtonBox and
gtk.VBox) or windows properties (such as extra decorations, frames,
padding etc.) or behaviour (such as not being able to set fullscreen)
out of my control (trough obvious class member functions or properties).
I personally feel that it would make more sense with a gtk.Dialog class
that is just an empty dialog without the content and action area etc.
and then a sub-class implementing these additional bells and whistles,
but that's me.

Back to my problem, should it be possible to make nested calls to
gtk.main() and gtk.main_quit() without any additional calls to prevent
side effects (like the main window stop responding to some events)? Note
I have no threads of my own running in this application (I use the idle
hooks instead of threads).

Could gobject.idle_add() and my idle hooks affect the behaviour of
nested calls to gtk.main() and gtk.main_quit()?

Where can I find examples of how to properly use nested calls to
gtk.main() and gtk.main_quit() in order to make a window act as a modal
dialog without having to use gtk.Dialog (or how can I make my own
tgk.Dialog.run method for a regular gtk.Window)?

Is there a way to remove the frame or padding or decoration (or whatever
it is) that gtkDialog puts around the content and action area?

Where can I find examples of best practise to implement and handle more
than one window (more than one gtk.Window, not  the use of one
gtk.Window and additional windows realized with the use of gtk.Dialog or
its sub-classes) in a pygtk application (I can't find any examples in
the documentation, the tutorial or the FAQ, am I missing something
obvious here?)?

Thankful for any information that can take me further towards a solution
to my problem.

Regards / Robert




<P><p><font face="Arial, Helvetica, sans-serif" size="2" 
style="font-size:13.5px">_______________________________________________________________<BR><a
 style="font-family: Tahoma, sans-serif; font-size: 12px; color: #00f" 
href="http://secure-dk.imrworldwide.com/cgi-bin/b?ci=aller-kampanj-se&cg=spray&tu=http%3A%2F%2Ftrack.adform.net%2FC%2F%3Fbn%3D289644
" target="_blank">Nu kan du vinna riktigt mycket i Betssons Casino!</a>

</font>
_______________________________________________
pygtk mailing list   [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/

Reply via email to