Re: stupid question?
- From: Dietmar Maurer <dietmar ximian com>
- To: Erik Bågfors <erik bagfors nu>
- Cc: gnome-components-list gnome org
- Subject: Re: stupid question?
- Date: Sun, 20 May 2001 15:37:56 +0200
You are mixing two different things. There are GtkObjects like:
BonoboPropertyBag
BonoboControlFrame
and there are CORBA_Objects:
Bonobo_PropertyBag
Bonobo_ControlFrame
Can you se the difference?
- Dietmar
Erik Bågfors wrote:
> On 20 May 2001 14:11:26 +0200, Dietmar Maurer wrote:
> > Erik Bågfors wrote:
> >
> > > Hi!
> > >
> > > Here is a stupid question (perhaps).
> > >
> > > I've been playing around alittle in bonobo and it's really sweet :).
> > >
> > > If I understand things correctly here is parts of how the classes hang
> > > together..
> > >
> > > GtkObject -> BonoboObject -> BonoboXObject
> > > |-> BonoboPropertyBag
> > > |-> BonoboControlFrame
> > >
> > > The thing I don't understand is that the I can convert the BonoboControlFrame
> > > to a GtkObject using GTK_OBJECT(control_frame) but I cannot convert the
> > > BonoboPropertyBag to a GtkObject with GTK_OBJECT.
> >
> > A PropertyBag is a GtkObject, so GTK_OBJECT(property_bag) should work without
> > any problems. Maybe something else is wrong with your code.
> >
>
> Good, thanks, then maybe you (or someone else) can explain this.
>
> I'm playing around with the code in the bonobo-tutorial (ipctrl). This is from test-container.c
> in function install_property_bag_listener. I only added three lines (four with the comment :) )
> to the code (just as a try). This doesn't break the code since I don't use the GtkObject I add.
>
> Anyway. I added a GtkObject named testA and then tried to do a GTK_OBJECT on the prop_bag. This
> code gives me two Gtk-WARNING's
>
> Gtk-WARNING **: invalid cast from `(unknown)' to `GtkObject'
>
> Gtk-WARNING **: invalid cast from `(unknown)' to `GtkObject'
>
> ------
>
> static Bonobo_PropertyBag prop_bag = CORBA_OBJECT_NIL;
>
> static void
> install_property_bag_listener (BonoboWidget *control, BonoboWindow *bonobo_win)
> {
> Bonobo_Listener corba_listener;
> BonoboListener *listener;
> BonoboControlFrame *control_frame;
> CORBA_Environment ev;
> GtkObject *testA; /* I added this */
>
>
> CORBA_exception_init (&ev);
>
> /*
> * the property bag is associated with the control frame, so get a
> * control frame first
> */
> control_frame = bonobo_widget_get_control_frame(BONOBO_WIDGET(control));
> if (!control_frame)
> g_error ("can't find control frame\n");
>
> /*
> * now, get a ref to the property bag
> */
> prop_bag = bonobo_control_frame_get_control_property_bag (control_frame, NULL);
>
> /* I added the following two lines */
> testA = GTK_OBJECT(&prop_bag); /* Try one.. gives one warning */
> testA = GTK_OBJECT(prop_bag); /* Try two gives another warning :( */
>
> if (prop_bag == CORBA_OBJECT_NIL)
> g_error ("can't connect to property bag\n");
>
> /*
> * connect a listener to the property-bag
> */
> bonobo_event_source_client_add_listener (prop_bag, on_prop_changed,
> "Bonobo/Property:change:octet1", NULL, bonobo_win);
> CORBA_exception_free (&ev);
> }
>
> ----
>
> As you can see the propertybag is correct since I use it later and the
> propgram works.
>
> So, what am I doing wrong?
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]