[dia] [dox] Add Doxgen configuration file and group definitions



commit cfd56ff6ceb4692730576ea4756f055e97d4dd32
Author: Hans Breuer <hans breuer org>
Date:   Sun Sep 9 12:49:10 2012 +0200

    [dox] Add Doxgen configuration file and group definitions
    
    Also add the html output directory to .gitignore

 lib/.gitignore |    2 +-
 lib/Doxyfile   |   41 +++++++++++++
 lib/dia.dox    |  183 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 225 insertions(+), 1 deletions(-)
---
diff --git a/lib/.gitignore b/lib/.gitignore
index adde06f..18a92c4 100644
--- a/lib/.gitignore
+++ b/lib/.gitignore
@@ -2,4 +2,4 @@ diamarshal.c
 diamarshal.h
 dia-lib-icons.h
 libdia.la
-
+html
diff --git a/lib/Doxyfile b/lib/Doxyfile
new file mode 100644
index 0000000..32ee866
--- /dev/null
+++ b/lib/Doxyfile
@@ -0,0 +1,41 @@
+PROJECT_NAME           = Dia
+PROJECT_BRIEF          = "extensible application to draw structured diagrams"
+PROJECT_LOGO           = ../data/icons/scalable/apps/dia.svg
+
+TAB_SIZE               = 8
+OPTIMIZE_OUTPUT_FOR_C  = YES
+# w/o this we could use \extends DiaObject instead of \extends _DiaObject
+TYPEDEF_HIDES_STRUCT   = YES
+WARN_IF_UNDOCUMENTED   = NO
+WARN_LOGFILE           = doxygen.log
+INPUT                  = ../lib ../objects/standard \
+                         ../plug-ins/python ../plug-ins/svg ../plug-ins/shape \
+                         ../plug-ins/layout
+#STRIP_FROM_PATH        = ../
+FILE_PATTERNS          = *.c *.h *.dox *.py *.cpp
+# define HAVE_CAIRO to get the Outline dox
+PREDEFINED             = HAVE_CAIRO
+REFERENCES_RELATION    = NO
+VERBATIM_HEADERS       = NO
+GENERATE_LATEX         = NO
+HAVE_DOT               = YES
+#UML_LOOK               = YES
+
+EXAMPLE_PATH           = ../doc/custom-shapes
+IMAGE_PATH             = ../samples/Self/PyDiaObjects.svg
+
+CLASS_DIAGRAMS         = YES
+# Fixme: would like to have this but it only shows inheritance information in Dia
+COLLABORATION_GRAPH    = NO
+
+# Needed to e.g. get documentation for standard/arc.c
+EXTRACT_LOCAL_CLASSES  = YES
+HIDE_UNDOC_MEMBERS     = YES
+HIDE_UNDOC_CLASSES     = YES
+HIDE_UNDOC_RELATIONS   = NO
+
+INCLUDE_GRAPH          = NO
+INCLUDED_BY_GRAPH      = NO
+
+DOT_IMAGE_FORMAT       = svg
+INTERACTIVE_SVG        = NO
diff --git a/lib/dia.dox b/lib/dia.dox
new file mode 100644
index 0000000..e9a3bc8
--- /dev/null
+++ b/lib/dia.dox
@@ -0,0 +1,183 @@
+/*!
+ * \mainpage Dia Developer Documentation
+
+This documentation is describing some of the internal structure of the 
+Dia application for sofware developers intersted in extending it. 
+
+Dia is a highly extensible application. There are plugin mechanism to add
+diagram objects by 
+ - C plug-ins (\ref Objects) 
+ - and by XML files (\ref Shapes).
+
+Import and export facilties of Dia can be extended by plug-ins 
+ - written in C/C++ (\ref Plugins) 
+ - and Python (\ref PyDia).
+
+Additionally there is the possibility to extend Dia with arbitrary
+functionality by registering actions in the menu. Again by
+ - writing plug-ins in C/C++ (e.g. \ref LayoutPlugin)
+ - or with Python (\ref PyDia)
+
+ */
+
+/*!
+\defgroup Plugins Import, Export and other extensions
+
+ */
+
+/*!
+\defgroup ExportFilters Export Filters for various Formats
+\ingroup Plugins
+
+
+ */
+ 
+/*!
+\defgroup ImportFilters Import Filters for various Formats
+\ingroup Plugins
+
+
+ */
+ 
+/*!
+\defgroup PyDia Extending Dia with Python
+\ingroup Plugins
+
+The documentation of PyDia is self-contained with PyDia. You can use some
+example PyDia plug-ins to generate it from your local Dia installtion
+(if build with Python support)
+
+\image html PyDiaObjects.svg "PyDia Object Model" width=10cm
+
+ */
+
+/*!
+\defgroup Objects Objects and their Building Blocks
+
+There are a bunch of services to help implementing Dia objects.
+
+ - arrows: \ref ObjectArrows
+ - connectionpoint and handle: \ref ObjectConnects
+ - bounding box calculation: \ref bbox
+ - text editing: to render in canvas text and allow it's editing
+ - font: \ref FontServices
+ - object change: \ref _ObjectChange
+ - StdProps: \ref StdProps
+ - load/save:
+
+ */
+ 
+/*!
+\defgroup StdProps Property System for Dia Object
+\ingroup Objects
+
+The Propery System for Dia Object allows to 
+ - describe type, range and user interface representation, see PropDescription.
+ - build dynamic user interfaces for all object properties
+ - transform data fields of DiaObject implementation into list of generic Property
+   to allow editing including undo/redo support without writing object specific code
+
+ */
+ 
+/*!
+\defgroup ObjectParts Building Blocks
+\ingroup Objects
+
+*/
+
+/*!
+\defgroup Objects Objects and their Building Blocks
+
+There are a bunch of services to help implementing Dia objects.
+
+ - arrows: \ref ObjectArrows
+ - connectionpoint and handle: \ref ObjectConnects
+ - bounding box calculation: \ref bbox
+ - text editing: to render in canvas text and allow it's editing
+ - font: \ref FontServices
+ - object change: \ref _ObjectChange
+ - StdProps: \ref StdProps
+ - load/save:
+
+ */
+ 
+/*!
+\defgroup StdProps Property System for Dia Object
+\ingroup Objects
+
+The Propery System for Dia Object allows to 
+ - describe type, range and user interface representation, see PropDescription.
+ - build dynamic user interfaces for all object properties
+ - transform data fields of DiaObject implementation into list of generic Property
+   to allow editing including undo/redo support without writing object specific code
+
+ */
+ 
+/*!
+\defgroup ObjectParts Building Blocks
+\ingroup Objects
+
+*/
+
+/*!
+\defgroup ObjectConnects Connecting Objects
+\ingroup Objects
+
+There are two specialized objects involved in building a connection. One is a Handle, the other one 
+is a ConnectionPoint. In an existing connection between two DiaObject the Handle belongs to the 
+first ("connected to") and the ConnectionPoint belongs to second ("connected by").
+
+The "Standard - Line" DiaObject is special because it is one of only few objects which can be 
+"connected to" (has Handles) and also "connected by" (has a ConnectionPoint). 
+Note: there is an important difference between the active and the passive form.
+
+It is important to understand the difference Dia's source is making between handle->connected_to 
+and "connected by" (connectionpoint->connected). The former is a 0 or 1 relation, the latter is 0..n.
+*/
+
+/*!
+\defgroup Shapes Custom Shape Definition
+\ingroup Objects
+
+\verbinclude custom-shapes
+
+*/
+
+/*!
+\defgroup ObjectConnects Connecting Objects
+\ingroup Objects
+
+There are two specialized objects involved in building a connection. One is a Handle, the other one 
+is a ConnectionPoint. In an existing connection between two DiaObject the Handle belongs to the 
+first ("connected to") and the ConnectionPoint belongs to second ("connected by").
+
+The "Standard - Line" DiaObject is special because it is one of only few objects which can be 
+"connected to" (has Handles) and also "connected by" (has a ConnectionPoint). 
+Note: there is an important difference between the active and the passive form.
+
+It is important to understand the difference Dia's source is making between handle->connected_to 
+and "connected by" (connectionpoint->connected). The former is a 0 or 1 relation, the latter is 0..n.
+*/
+
+/*!
+\defgroup Shapes Custom Shape Definition
+\ingroup Objects
+
+\verbinclude custom-shapes
+
+*/
+
+/*!
+\defgroup Renderers Rendering Objects
+\ingroup Plugins
+
+Dia Objects are drawing themselves to a renderer, be it for display, print or
+file export to various formats.  The Dia library includes some base classes 
+to help implementing rendering.
+
+ - _DiaRenderer : implementing the interface to all renderers and some emulations
+   of high level functions 
+ - _DiaSvgRenderer : to create SVG format for SVG export and Shape creation
+ - _DiaGdkRenderer : the _DiaGdkRenderer is the first display renderer
+
+ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]