Re: Example for Gtk::Application



On Sat, 2010-12-18 at 01:38 -0800, Yannick Guesnet wrote:
> I try to adapt the example of GtkApplication found in the doc : 
> BloatPad.cpp
> BloatPad.h
> BloatWindow.cpp
> BloatWindow.h
> main.cpp

Could you please prepare a git patch against gtkmm-documentation, and
put that in bugzilla, please. For instance, this could go in
examples/book/giomm/application/ .

And please names the classes Example* rather than Bloat*. And BloatPad
can be just ExampleApplication.

Please use the same formatting as in the other examples. For instance, 2
spaces for indentation. And use const & for RefPtr arguments, please.

> This example is not very usefull this at this time since there's no
> way to connect to the "open" signal (which is used in the Gtk+
> example).

I'll apply your patch when bugzilla.gnome.org is working again.
Hopefully soon.

> But I have a question : I have added a "delete this" when we hide the
> window since otherwise the application does not finished when we close
> all windows. In the Gtk+ example, this is not needed since the default
> behavious of GtkWindow is to freed the object when the window receive
> the delete signal. My question : I found that this "delete this" is
> not very beautiful. What is the right way to delete the window when it
> receives the delete signal ?

Hmm, so it's created here:


void BloatPad::new_window(Glib::RefPtr<Gio::File> file)
{
    Gtk::Window * window = new BloatWindow(file);
    add_window(*window);
}

and deleted here:

void BloatWindow::on_hide()
{
    delete this;
}

Can't you just delete it in the BloatPad destructor? Or, if you must,
can't you handle signal_hide() for the BloatWindow?

I'll look at this issue again when it's in gtkmm-documentation. Maybe we
can find some easy general solution.

> PS Murray Cummings : finally I have decided to post the example to the
> mailing list, I hope that it is the right thing to do.

Thanks.

-- 
murrayc murrayc com
www.murrayc.com
www.openismus.com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]