summaryrefslogtreecommitdiffstats
path: root/kompare/DESIGN
diff options
context:
space:
mode:
Diffstat (limited to 'kompare/DESIGN')
-rw-r--r--kompare/DESIGN35
1 files changed, 35 insertions, 0 deletions
diff --git a/kompare/DESIGN b/kompare/DESIGN
new file mode 100644
index 00000000..fde8a5c9
--- /dev/null
+++ b/kompare/DESIGN
@@ -0,0 +1,35 @@
+Kompare General design:
+
+Kompare is split up into 4 parts:
+- A shell around the parts
+- A library with the modellist and the parser
+- The navigation tree which uses the library
+- The view part that also uses the library
+
+The diffmodel is comparable to a document and the view part is comparable
+to the view and the komparemodellist is comparable to a documentmanager.
+The navtree can be viewed as a document view manager.
+The model is fully separated from the view and all communication goes
+through signals and slots. The view gets a model that contains all differences
+for the compared files A and B. The view gets this model from the modellist,
+the central entity in the part.
+
+There is an interface to the komparepart that can be used in other programs,
+simply link to the libkompareinterface.la and call its methods after you have
+instanciated a komparepart. There is also a "hidden" signal and slot interface
+that can be connected to from the shell app to get some information, and an
+interface for communication between the navigation part and the komparepart.
+
+There is no need to use the interface for the communication between the
+navigation and kompare parts in the shell app.
+
+Kompare has some debug areas:
+
+8100 kompare
+8101 kompare (libs)
+8102 kompare (shell)
+8103 kompare (part)
+8104 kompare (list view)
+8105 kompare (nav view)
+8106 kompare (connect widget)
+