This directory demonstrates how you can write a composite widget directly in Ada. - What is a composite widget ? This is a widget which is composed of multiple subwidgets, but does not define need to draw anything new by itself, nor create new signals, ... Examples of this are Dialogs (as in this example, these are basically just a window + some boxes inside), File_Selection (Although there might be some new signals involved), Font_Selection, ... As you see, most of the widgets you will ever create belongs to this category. - Why do I need to create a new widget for that ? Well, you don't *need* to, but it allows you to easily manipulate it with all the standard GtkAda functions (Show_All, ...). This is really a convenient way to reuse things. And thanks to the object oriented structure of GtkAda, this is really easy to do. Actually, this is even the natural way to do. Things are much more difficult in Motif for instance when you want to create such composite widgets, because you have to emulate the object oriented behavior, whereas in Ada95, everything is already handled by the compiler. - Why is this better than creating the widget in C and create the binding ? Well this is of course much faster, easier, cleaner, ... (Hey, this is Ada, what do you expect ? :-) However, your widget will not be callable from your C routines, if you ever want to do that (This is because we don't create the records that a C implementation would expect), but don't worry, it will work fine from Ada.