what about:
1) create the dialog no modal
2) connect the delete event and all the buttons to the destroy of the dialog
3) show the dialog
this should be non blocking, am I right?



On Fri, Jun 8, 2012 at 7:39 AM, Basile Starynkevitch <
[email protected]> wrote:

>
> Hello All,
>
> I (Basile) asked:
> > What is the correct way to implement a modeless
> > Gtk::MessageDialog which is *destroyed* when its CLOSE button is
> activated,
> > or when the underlying window is closed?
> >
> > My MyDialog class (subclass of Gtk::MessageDialog) has a
> Glib::RefPtr<MyDialog>
> > somewhere (for simplicity, you could assume in the main application
> window).
> >
>
> On Thu, Jun 07, 2012 at 04:20:46PM +0200, Giuseppe Penone wrote:
> > > Hi,
> > > I use a function like this:
> > >
> > > void  Centro::dialog_error(const char *display_msg)
> > > {
> > >     Gtk::MessageDialog  dialog(*mp_window, "Errore", false,
> > > Gtk::MESSAGE_ERROR);
> > >     dialog.set_secondary_text(display_msg);
> > >     dialog.run();
> > >     dialog.hide();
> > > }
> >
>
> Then I replied
>
> > But dialog.run() makes sense only for a *modal* dialog.
> > I want my dialogs to be *modeless*, and I want them to be destroyed
> > when the user closes or deletes them.
> >
> > Actually, my GtkMM application is a probe providing the GUI interface
> > interacting with the GCC compiler (suitably extended by MELT,
> > see http://gcc-melt.org/ for more)
> >
> > my dialogs are giving (lazily) a lot of information on every relevant
> > control location for a given GCC compilation
> >
> > I want them to be destroyed (not simply hidden) when the user closes
> them (and to be created when a
> > user click on a button anchored inside a Gtk Source View buffer for the
> source
> > code compiled by GCC), because each such dialog carries a lot of luggage.
>
>
> Then, Povietkin Kostiantyn suggested
> >
> > Don`t you think to fire an event closing window?
>
> But I am not sure to understand what that means exactly.
>
> > Then any "manager" object can delete it.
>
>
> Qt has QObject::deleteLater() for that exact purpose
> http://qt-project.org/doc/qt-4.8/qobject.html#deleteLater
>
> but I am not sure of what would be the equivalent in GtkMM.
>
> Regards
> --
> Basile STARYNKEVITCH         http://starynkevitch.net/Basile/
> email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
> 8, rue de la Faiencerie, 92340 Bourg La Reine, France
> *** opinions {are only mine, sont seulement les miennes} ***
> _______________________________________________
> gtkmm-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/gtkmm-list
>
_______________________________________________
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to