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 of 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, libpgmodeler_ui and libobjrenderer. On the diagram below, the black arrows indicate the dependency between the libraries and executables. Note that except for the libxml2 and libpq libraries all modules are dependent on the Qt framework which offers exceptional features to code multiplatform softwares.