Warning, /sdk/kompare/DESIGN is written in an unsupported language. File is not indexed.

0001 Kompare General design:
0002 
0003 Kompare is split up into 4 parts:
0004 - A shell around the parts
0005 - A library with the modellist and the parser
0006 - The navigation tree which uses the library
0007 - The view part that also uses the library
0008 
0009 The diffmodel is comparable to a document and the view part is comparable
0010 to the view and the komparemodellist is comparable to a documentmanager. 
0011 The navtree can be viewed as a document view manager.
0012 The model is fully separated from the view and all communication goes 
0013 through signals and slots. The view gets a model that contains all differences
0014 for the compared files A and B. The view gets this model from the modellist,
0015 the central entity in the part.
0016 
0017 There is an interface to the komparepart that can be used in other programs, 
0018 simply link to the libkompareinterface.la and call its methods after you have 
0019 instanciated a komparepart. There is also a "hidden" signal and slot interface 
0020 that can be connected to from the shell app to get some information, and an 
0021 interface for communication between the navigation part and the komparepart.
0022 
0023 There is no need to use the interface for the communication between the 
0024 navigation and kompare parts in the shell app.
0025 
0026 Kompare has some debug areas:
0027 
0028 8100        kompare
0029 8101        kompare (libs)
0030 8102        kompare (shell)
0031 8103        kompare (part)
0032 8104        kompare (list view)
0033 8105        kompare (nav view)
0034 8106        kompare (connect widget)
0035