Re: Control Closing of Gtk::Dialog
- From: Murray Cumming <murrayc murrayc com>
- To: Jon Black <juan black gmail com>
- Cc: gtkmm-list gnome org
- Subject: Re: Control Closing of Gtk::Dialog
- Date: Mon, 16 Feb 2009 13:45:42 +0100
On Mon, 2009-02-16 at 13:35 +0100, Jon Black wrote:
> Murray Cumming wrote:
> > On Sun, 2009-02-15 at 15:51 +0100, Jon Black wrote:
> >
> > > I have a simple Gtk::Dialog with 3 text entry fields, a cancel button,
> > > and an ok button. I'd like the dialog to close whenever the user
> > > presses cancel, and when the user presses ok only if all the text
> > > entry fields contain text. It seems that by default, the dialog closes
> > > when either button is pressed.
> > >
> >
> > No, you should need to explicitly hide() it or delete it. But if you use
> > Dialog::run(), run() will return when one of the buttons is pressed.
> > Maybe the dialog is just going out of scope when Dialog::run() returns.
> >
> I think it is going out of scope after run is called. When I get home
> I'll try and keep it in scope and see what happens. Since it is
> returning, though, does that mean I'd have to re-run the dialog?
You could do that. Or you could just use show() and handle the response
signal. And/or make buttons insensitive when they should not be clicked.
> > > If I connect the buttons to a handler, there seems to be no way to
> > > prevent the closing from happening. So, how can I control whether the
> > > dialog closes when the ok button is pressed?
> > >
> >
> > I think you can override on_response() to prevent run() from returning.
> > I forget the details.
> >
> The dialog is created with glade, so how can I override a function?
> Would I need to create a class myself that derives from Dialog, and
> then use that class in my call to get_widget()?
You could do that.
--
murrayc murrayc com
www.murrayc.com
www.openismus.com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]