The image below shows a little about the pgModele's modular construction and how all the pieces are tied together to make the whole application as we know. The pgModeler project is composed by nine subprojects each one with well defined purposes. Three of them generates the executables (
crashhandler) and the rest yields the modules or libraries that the executables depends on, being them: libutils, libpgmodeler, libparsers, libpgconnector, _libpgmodelerui and libobjrenderer. On the diagram below, the black arrows indicates the dependency between the libraries and executables. Note that except for the libxml2 and libpq libraries all modules are dependent of Qt framework which offers exceptional features to code multiplatform softwares.