After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 502676 - how to use Gtk::Builder
how to use Gtk::Builder
Status: RESOLVED NOTABUG
Product: gtkmm
Classification: Bindings
Component: general
2.12.x
Other Linux
: Normal normal
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks:
 
 
Reported: 2007-12-09 14:54 UTC by Benoît Dejean
Modified: 2007-12-09 17:16 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Benoît Dejean 2007-12-09 14:54:29 UTC
I don't understand how can i use a Gtk::Builder in plain GTKmm because it gives me RefPtr.

Gtk::Window window;
Glib::RefPtr<Gtk::Widget> widget;
Glib::RefPtr<Gtk::Builder> builder;

builder = Gtk::Builder::create_from_file("ui.xml");
Glib::RefPtr<Glib::Object> obj = builder->get_object("widget-id");
widget = Glib::RefPtr<Gtk::Widget>::cast_dynamic(obj);

// ok i have my valid widget
// now what ?
window.add(widget); // won't work

// work around
window.add(*widget.operator->());

is that the best way we have to use a Gtk::Builder ?
Comment 1 Benoît Dejean 2007-12-09 15:31:50 UTC
get_widget seems to be OK.
Comment 2 Murray Cumming 2007-12-09 16:59:51 UTC
So, there's no problem? You can just use get_widget()?
Comment 3 Benoît Dejean 2007-12-09 17:16:45 UTC
I guess yes