RE: [gtkmm] Obtaining a pointer to an object
- From: "Miller, Ryan D" <MilleRD kscems ksc nasa gov>
- To: "Christer Palm" <palm nogui se>
- Cc: gtkmm-list gnome org
- Subject: RE: [gtkmm] Obtaining a pointer to an object
- Date: Mon, 12 Jul 2004 15:08:37 -0400
Miller, Ryan D wrote:
> Is there a way to obtain a pointer from an object to other objects
> that
> have been created by the same parent (without passing the pointers as
> arguments)? I need to obtain a reference to an object in order to use
> sigc::mem_fun to connect a signal to another class. Both of the
classes
> have the same parent window. I was looking at the get_toplevel and
> get_ancestor calls, but I don't think they'll work. Does anyone have
> any suggestions or some short example code?
>
Usually you'd do that by passing a reference to the parent
object as a
constructor argument to the child object, and then have the
child object
ask the parent object for references to other objects. Something
like:
class ChildA;
class ChildB;
class Parent
{
ChildA* child_a;
ChildB* child_b;
Parent() {
child_a = new ChildA(*this);
child_b = new ChildB(*this);
}
ChildB& getB() {
return *child_b;
}
};
class ChildA
{
ChildA(Parent& parent) {
ChildB& child_b = parent.getB(); // Get reference to
sibling
}
};
--
Christer Palm
---------
That sounds like a simple solution I'll hack in for now. Thanks
Christer! What I was hoping for was a way to not need to rely on having
the parent class having accessors to each class pointer. Eventually,
everything will be declared dynamically as needed, so I was hoping there
might be something I could use in Gtk (like Gtk::manage) that kept track
of the objects and their hierarchy.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]