The NtD libraries are a set of functions and objects shared by code developed at eNTiDi.
The project grown up incrementally and gained features whenever needed. This means there is no general design, although a couple of serious efforts for arranging the whole system have been attempted during the years.
The objects are devided in two major subsets: ntd-data includes the stuff not related to the user interface (that library does not have any dependency on GTK+) while ntd-widgets is a collection of GTK+ related widgets. In the current form, the NtD libraries are developed in C, rewriting from scratch an older (and crappy) C++ library.