Conclusion

Compiling

To compile the code, you need the following:

You can now compile the control and the test-container using the Makefile.

You can then try to start the container by running ./test-container& (under X, of course). If it doesn't work, check your OAF settings and your blood pressure.

If everything goes well, it should look a bit like this:

Indeed, it is pretty silly. However, I hope the example shows you how to write a Bonobo control or a Bonobo container.

Want to know more?

If you want to know more about Bonobo, there are a number of sources you can turn to. First, there was bonobo-doc. bonobo-doc was written by Mathieu Lacage (most of it) and me, and it is slowly getting more and more obsolete... However, Mathieu and me are writing a new & improved bonobo-doc, in fact, it will be a book. Don't hold your breath though, it will take some time.

So, what can you do now? Well, for general CORBA information I'd advice 'Advanced CORBA programming with C++' from Henning/Vinoski. It gives you both a good overview and a very detailed discussion of CORBA 2.3. You can combine it with the CORBA C-binding reference documents from OMG to map the C++ stuff to plain-C. For Bonobo, you can read 'Inside OLE' from Kraigh Brockschmidt (the book is quite good, you just have to ignore all the BS the author is writing about how OLE is like Zen-Buddhism etc.). Like the CORBA book, it's a good backgrounder, but it won't really help you writing Bonobo controls. For the GTK+-side of Bonobo, I'd advise the excellent 'GNOME/GTK+ Application Development' by Havoc Pennington.

If you're really looking for a how-to type of thing, the best thing is to check the samples/ directory in the Bonobo source distribution. The examples are pretty good. Also, there's some documentation in the doc/ directory.