- [[http://svjatoslav.eu/programs.jsp][other applications hosted at svjatoslav.eu]]
+* (document settings) :noexport:
+** use dark style for TWBS-HTML exporter
+#+HTML_HEAD: <link href="https://bootswatch.com/darkly/bootstrap.min.css" rel="stylesheet">
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+#+HTML_HEAD: <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>"
+#+HTML_HEAD: <style type="text/css">
+#+HTML_HEAD: footer {background-color: #111 !important;}
+#+HTML_HEAD: pre {background-color: #111; color: #ccc;}
+#+HTML_HEAD: </style>
+
* General
Goal: simplify/speed up understanding the computer program code by
automatically visualizing its structure.
describes data to be visualized. Then launches GraphViz to generate
bitmap graph in PNG format. By default on your Desktop directory.
-Note: GraphViz is developed and tested so far only on GNU Linux.
+Note: GraphViz is developed and tested so far only on GNU/Linux.
* Example graphs
+ A very simple example:
file:legend.png
-+ Example visualization of [[http://www2.svjatoslav.eu/gitbrowse/sixth/doc/][Sixth]] project: [[http://www2.svjatoslav.eu/projects/sixth/codegraphs/][architecture graphs]].
++ Example visualization of [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d/doc/][Sixth 3D]] project: [[http://www2.svjatoslav.eu/gitbrowse/sixth-3d/doc/codeGraph/][architecture graphs]].
* Usage
Currently the only way to control JavaInspect is by using Java
Result:
- Generated PNG image: [[file:JavaInspect%20full%20project.png][JavaInspect full project.png]]
+** example 3: GraphViz embedded in another project
+1. Download project Sixth [[http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=snapshot;h=HEAD;sf=tgz][code snapshot]].
+2. Inspect and run *DataGraph.java*.
+
* Embedding JavaInspect in your Maven project
Declare JavaInspect as dependency:
#+BEGIN_SRC xml
- <dependencies>
- ...
- <dependency>
- <groupId>eu.svjatoslav</groupId>
- <artifactId>javainspect</artifactId>
- <version>1.5-SNAPSHOT</version>
- </dependency>
- ...
- </dependencies>
+<dependencies>
+ ...
+ <dependency>
+ <groupId>eu.svjatoslav</groupId>
+ <artifactId>javainspect</artifactId>
+ <version>1.5</version>
+ </dependency>
+ ...
+</dependencies>
#+END_SRC
Add Maven repository to retrieve artifact from:
#+BEGIN_SRC xml
- <repositories>
- ...
- <repository>
- <id>svjatoslav.eu</id>
- <name>Svjatoslav repository</name>
- <url>http://www2.svjatoslav.eu/maven/</url>
- </repository>
- ...
- </repositories>
+<repositories>
+ ...
+ <repository>
+ <id>svjatoslav.eu</id>
+ <name>Svjatoslav repository</name>
+ <url>http://www2.svjatoslav.eu/maven/</url>
+ </repository>
+ ...
+</repositories>
#+END_SRC
* Requirements
#+BEGIN_SRC sh
sudo apt-get install graphviz
#+END_SRC
-* TODO
-- BUG: Should not hide references if there are too many of them to
- classes if referring classes are not visible anyway because of
- blacklist/whitelist rules. Basically reference counting should
- exclude not visible classes.
+* TO DO
+- BUG: Should not hide references if there are too many of them to classes if
+ referring classes are not visible anyway because of blacklist/whitelist rules.
+ Basically reference counting should exclude not visible classes.
+- FEATURE: integarte with [[http://plantuml.com/class-diagram][PlantUML]].
- FEATURE: add dark theme
- FEATURE: sort Class fields by alphabet
- FEATURE: visualize also concrete field values so it could be used as