On Sun, 2016-03-06 at 21:04 +1300, Ian Martin wrote:
Hi Russel, Sorry, wasn't supposed to be off-list; we've all had to hunt down the answer to questions answered off list before, and knowing someone else has asked it doesn't help anyone looking later.
Back on-list. :-)
In the docs every class has a wrap() method associated with it. I agree the general idea is not well documented, but then there shouldn't be the need to use them; if you're having to use wrap() then there's something missing in gtkmm, and it's probably better to fix that than plan to use C routinely.
My problem is that I want to use GStreamerMM with GtkMM, but whilst Debian packages GStreamerMM 1.0, the Fedora GStreamerMM is 0.10. So in order to be up-to-date and platform agnostic I am having to code using the GStreamer C API in a GtkMM codebase. So the problem is not a GtkMM one, and thus unfixable by this community.
The other piece of relevant information is that some objects are owned by another - Gtk::Adjustment is a good example; these are only provided via a RefPtr, rather than a raw pointer. Also, before you update the docs, from a recent thread on the mailing list it's possible all pointers may be deprecated soon in favour of some form of smart pointer. That'd be a significant improvement from a C++ perspective, but I believe the mechanics of it are still being ironed out.
I am trying to use std::unique_ptr and std::shared_ptr everywhere I can whilst working with Glib::RefPtr and Gtk::manage as required by the GtkMM API. The mix can sometimes look quite odd! -- Russel.=============================================================================Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel winder ekiga net41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder org ukLondon SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
Attachment:
signature.asc
Description: This is a digitally signed message part