Hi again,

Sven Neumann wrote:
> Since there is no GTK+ dependency in the two files, nor any dependency
> on code that has a GTK+ dependency, there is no dependency from core to
> the UI here. The files are just better located in app/display as that is
> where they are used.

I don't understand why you insist on reasoning about files when the GIMP 
code is divided into modules. I agree that if considering only 
individual files, the core does not have a dependency to the UI code. If 
we limit our reasoning to modules however, do you then agree with the 
conclusion that the core has a dependency to UI code?

> I would expect to find a direction in the graphics going from base
> modules to the UI. And I would expect to find modules that are on the
> same level grouped together. Instead I find chaos. Sorry, but there is
> no order in this graphics. It's just arrows pointing in all directions.
> This does certainly not reflect the structure of the current code.

The reason for the mess is that the config module includes files from 
the display module. If these includes are removed and the graphic 
regenerated, you end up with this:

Here you can see that the core modules are dependent on each other but 
not on the UI modules, and that the UI modules are dependent on each 
other and the core code. It should also be noted that the dependency 
graph have been transitively reduced [1], which is why there is no 
explicit dependency from app/file to app/core even though 'file' depends 
  on 'core'.

Doing further grouping would make the tool that generates the graphic 
less useful for finding dependencies of the config -> display type.

  / Martin

[1] http://en.wikipedia.org/wiki/Transitive_reduction
Gimp-developer mailing list

Reply via email to