From 3284ef2fa7da1f6076de92d39e06643d3ca05350 Mon Sep 17 00:00:00 2001
From: mertz
Date: Thu, 14 Mar 2002 17:00:15 +0000
Subject: nombreuses �volutions (images, texte...)

---
 doc/refman.tex | 885 ++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 500 insertions(+), 385 deletions(-)

(limited to 'doc/refman.tex')

diff --git a/doc/refman.tex b/doc/refman.tex
index 793aea7..adc223d 100644
--- a/doc/refman.tex
+++ b/doc/refman.tex
@@ -1,7 +1,7 @@
 \documentclass[11pt,twoside]{book}
 
 %----------------------------------------------------------------------
-
+% $Revision$
 
 
 \newif\ifpdf
@@ -22,8 +22,8 @@
     menucolor=webdarkblue,
     citecolor=webbrightgreen,
     pdftitle={Zinc, an advanced scriptable Canvas.},
-    pdfauthor={Patrick Lecoanet, Centre d'�tude de la Navigation A�rienne},
-    pdfsubject={The 3.2 Reference Manual.},
+    pdfauthor={Patrick Lecoanet, Centre d'�TUDE de la Navigation A�rienne},
+    pdfsubject={The 3.4 Reference Manual.},
     pdfkeywords={tk tcl perl x11 canvas opengl script gui zinc},
     pagebackref,
     pdfpagemode=None,
@@ -90,8 +90,16 @@
   \index{#1}
   \latexhtml{\ifpdf\hyperdef{attrtype}{#1}{}\fi}{\htmlrule[WIDTH="300" left]}
   {\tt {\bf #1}}
-  \vspace{-2\parskip}}
+%  \vspace{-2\parskip}  % XXX j'ai du supprimer provisoirement cette ligne pour que �a passe!
+}
+
+\newcommand{\attrtyperef}[1]{%
+  \latexhtml{\ifpdf\hyperlink{attrtype.#1}{\ident{#1}}\fi}{%
+    \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{attrtype:#1}}
+  }
 
+
+% the following command is never used!!
 \newcommand{\available}[1]{%
   \latexhtml{\ifpdf\hyperlink{obj.#1}{\ident{#1}}\fi}{%
     \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{obj:#1}}
@@ -103,32 +111,40 @@
   }
 
 \newcommand{\cmdref}[1]{%
-  \index{#1}
   \latexhtml{\ifpdf\hyperlink{cmd.#1}{\ident{#1}}\fi}{%
     \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{cmd:#1}}
   }
 
-\newcommand{\attribute}[3]{%
-  \label{attribute:#1}
-  \ident{-#1 }%
-  \latexhtml{\ifpdf\hyperlink{attrtype.#2}{\ident{#2}}\fi}{%
-    \hyperref[no]{\tt \bf #2}{\ident{#2}}{attrtype:#2}}
-  \begin{quotation}#3\end{quotation}
+%first argument : item type or 'option'
+%second argument: attribute
+%third argument : type
+%fourth argument; explanation
+\newcommand{\attribute}[4]{%
+  \label{attribute:#1:#2}
+  \ident{-#2 }%
+  \latexhtml{\ifpdf\hyperlink{attrtype.#3}{\ident{#3}}\hyperdef{attribute}{#1#2}{}\fi}{%
+    \hyperref[no]{\tt \bf #3}{\ident{#3}}{attrtype:#3}}
+  \begin{quotation}#4\end{quotation}
   }
 
-\newcommand{\attributeref}[1]{%
-  \latexhtml{\ifpdf\hyperlink{attribute.#1}{\ident{-#1}}\fi}{%
-    \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{attribute:#1}}
+% first argument : item type or 'option'
+% secund argument: attribute
+\newcommand{\attributeref}[2]{%
+  \latexhtml{\ifpdf\hyperlink{attribute.#1#2}{\ident{-#2}}\fi}{%
+    \hyperref[page]{\ident{#2}}{\ident{#2} (}{)}{attribute:#1:#2}}
   }
 
 \newcommand{\object}[1]{%
   \label{obj:#1}
-  \latexhtml{\ifpdf\hyperdef{obj}{#1}{}\fi}{}
+  \index{#1}
+  \latexhtml{\ifpdf\hyperdef{obj}{#1}{}\fi}{\index{#1}}
   }
 
 \newcommand{\concept}[1]{%
   \label{concept:#1}
+  \index{#1}
   \latexhtml{\ifpdf\hyperdef{concept}{#1}{}\fi}{}
+% XXX bug? en html?
   }
 
 \newcommand{\objectref}[1]{%
@@ -141,11 +157,22 @@
     \hyperref[page]{#1}{#1 (page }{)}{concept:#2}}
   }
 
+% XXX
+\newcommand{\fig}[2]{%
+  \latexhtml{\ifpdf\label{fig:#1}\begin{figure}[htbp]\centering\includegraphics{#1}\caption{#2}\end{figure}\fi}{%
+    \begin{center}\htmladdimg{#1}\end{center}
+%    \begin{figure}[htbp]\begin{center}\caption{#2}\label{fig:#1}\end{center}\end{figure}
+    }
+  }
+
+
+% XXX ceci est surement inutile! voir commande suivante!
 \newcommand{\includeimage}[1]{%
   \latexhtml{\ifpdf\includegraphics{#1.png}\else\includegraphics{#1.eps}\fi}{%
     \htmladdimg{#1.png}}
   }
 
+% XXX
 % Premier parametre nom du fichier image
 % Deuxieme parametre legende
 % Troisieme parametre label
@@ -157,18 +184,25 @@
       \caption{#2}
       \label{#3}
     \end{figure}}{
-    \htmladdimg{#1.png}}
+      \htmladdimg{#1.png}
+    }	
   }
 
 
+\newcommand{\anurl}[1]{%
+  \latexhtml{\ifpdf\href{#1}{#1}\fi}{%
+    \htmladdnormallink{#1}{#1}}
+}
+
+
 \makeindex
 
 \parindent 0cm
 \parskip 0.2cm
 
-\title{Zinc, an advanced scriptable Canvas.\\The 3.2 Reference Manual.}
+\title{Zinc, an advanced scriptable Canvas.\\The 3.4 Reference Manual.}
 \author{Patrick Lecoanet}
-\date{8 March 2002}
+\date{15 March 2002}
 
 
 \begin{document}
@@ -213,7 +247,7 @@ file used in french Air Traffic Control Centres. Finally the chapter
 \conceptref{Other resources provided by the widget}{otherresources} describes
 some resources provided by \ident{zinc}.
 
-\section{What is \ident{zinc} ?}
+\section{What is zinc ?}
 
 \ident{Zinc} widgets are very similar to Tk \ident{canvas}es in that they support
 structured graphics. Like the \ident{canvas}, \ident{zinc} implements items used to
@@ -224,8 +258,9 @@ has support for affine 2D transforms (i.e. translation, scaling, and rotation),
 clipping can be set for sub-trees of the item hierarchy and the item
 set is quite more powerful including field specific items for Air Traffic systems.
 
-Since the 3.2.3 version, \ident{zinc} also offers the support of some openGL
-features such as transparency, color gradient and even a new item type : \objectref{triangles}.
+Since the 3.2.2 version, \ident{zinc} also offers the support of some openGL
+features such as antialiasing, transparency, color gradient and even a new item
+type : \objectref{triangles}.
 You need the support of the GLX extension on your X11 server. Of course, performances
 will be dependant of your graphic card. At time of writing, NVidia drivers
 for XFree86 R4.1 are doing a nice job. A laptop with an ATI mobility graphic card works nice.
@@ -233,12 +268,13 @@ We also succeded in using zinc with openGL on the Exceed X11 server
 (running on windows and developped by Hummingbird) with the 3D extension.
 
 As an exemple of \ident{zinc} capabilities when combined with openGL, we reproduced in
- \ident{ZincLogo.pm} a perl module, the tk Zinc logo. This logo (see just below) was designed
+ \ident{ZincLogo.pm} a Perl module, the tk Zinc logo. This logo (see just below) was designed
  with Illustrator (from Adobe) and then programmed as a perl module. It is now delivered
  as a \ident{zinc} goodies.
 
+%\includefigure{tkzinclogo}{Zinc logo written as a Perl/zinc module}{fig:logozinc}
 
-\includefigure{tkzinclogo}{Zinc logo written as a Perl/zinc module}{fig:logozinc}
+\fig{tkzinclogo.png}{Zinc Logo written as a Perl/zinc module}
 
 
 The \ident{zinc} widget is available for the Tcl/Tk and the Perl/Tk environment.
@@ -249,8 +285,8 @@ idiom and then in Perl/Tk idiom.
 
 \section{Where can I find zinc and documentation ?}
 
-\ident{Zinc} is available at http://www.openatc.org/zinc or
-http://freshmeat.net/projects/zincisnotcanvas/. The software is available as
+\ident{Zinc} is available at \anurl{http://www.openatc.org/zinc} or
+\anurl{http://freshmeat.net/projects/zincisnotcanvas/}. The software is available as
 tar.gz files and as Debian or RedHat/Mandrake packages.
 
 For people from CENA, its possible to get the zinc source code through
@@ -310,13 +346,13 @@ CENA for supporting this work.
 
 The core of this documentation has been written by  Patrick Lecoanet,
 the main author of \ident{zinc}. This documentation has been enriched
-and by Christophe Mertz.
+by Christophe Mertz.
 
 \section{How may I contribute to zinc development}
 
 If you think \ident{zinc} is an interesting tool, they are many ways to contribute
 in \ident{zinc} development. We are managing a mailing list. To subscribe, please
-consult the web site http://www.openatc.org/Zinc/ .
+consult the web site \anurl{http://www.openatc.org/zinc}.
 
 \begin{itemize}
 \item The very first way to contribute is to use \ident{zinc} and to report
@@ -350,8 +386,8 @@ it will be located. Any number of options may be specified on the command line
 or in the option database to modify the global behavior of the widget. Available
 options are described below in this chapter.
 
-Any new \ident{zinc} widget comes with an initial group, always identified by
-the id 1. This group will contain all other items, either directly or
+Any new \ident{zinc} widget comes with a root group, always identified by
+the same Id, 1. This group will contain all other items, either directly or
 indirectly through other groups created themselves (directly or in other
 groups... ) in group 1. The chapter \conceptref{Groups, Display List and
 Transformations}{coordinates} describes the use of groups).
@@ -529,9 +565,9 @@ Transformations}{coordinates} describes the use of groups).
 \option{speedvectorlength}{speedVectorLength}{SpeedVectorLength}
 \begin{blockindent}
   Specifies the duration of track speed vectors. This option is expressed
-  using a time unit that should be chosen by the application (often minutes)
+  using a time unit that should be chosen by the application (usually minutes)
   and kept coherent with the unit of the track attribute \ident{speedvector}
-  (often nautic mile / minutes). The default value is 3.
+  (usually nautic mile / minutes). The default value is 3.
 \end{blockindent}
 
 \option{takefocus}{takeFocus}{TakeFocus}
@@ -604,8 +640,10 @@ Transformations}{coordinates} describes the use of groups).
 Groups items are very powerful objects in \ident{zinc}. They have many uses in
 \ident{zinc} and we will describe them in this chapter. The main usages are:
 \begin{itemize}
+\item to manage priority and display list
 \item to apply them transformation (translation, rotation or scaling)
-\item appl
+\item to propagate some attribute to their children
+\item to apply clipping to their children
 \end{itemize}
 
 \section{The root group}
@@ -628,21 +666,19 @@ following :
 \item{rule 2} Inside a group, items with the lowest priority are drawn
   below those with the highest priority.
 \item{rule 3} Inside a group, when items have the same priority, the items are
-  displayed according to their creation order (first created are below last
-  created)
-\item{rule 4} If one of the item of group A is a group B, every items inside
-  the group B are displayed according to the rules 2 and 3 during the display
-  of the group B. That means that a group is always entirely drawn before
-  treating a sibling (having priority).
+  displayed according to their creation order (first created are below last created)
+\item{rule 4} If one of the item of group A is a group B, every items inside the group B are displayed
+ according to the rules 2 and 3 during the display of the group B.
+ That means that a group is always entirely drawn before treating a sibling (with a higher priority).
 \end{itemize}
 
-To change the priority of an item you can use the following commands:
-\cmdref{raise}, \cmdref{lower}, or \cmdref{itemconfigure} with the
-attribute \ident{-priority}.
+To change the priority of an item you can use the following commands
+\cmdref{raise} or \cmdref{lower}, or the command \cmdref{itemconfigure}
+to change the attribute \ident{-priority}.
 
 \section{Transformation and groups}
 
-Items grouped together inside a same group can be transformed together.
+Items grouped together inside the same group can be transformed together.
 By translating a group you translate every items contained in this group.
 This also apply to items included in sub-groups of the translated group.
 In fact the transformation is recursively applied to all children of
@@ -651,7 +687,7 @@ the transformated group.
 However, every object have the attributes \ident{-composescale} and
 \ident{-composerotation}. These attributes default to \ident{true}.
 If set to \ident{false} a transformation (respectively a \cmdref{scale}
- and \cmdref{rotate} to its group will not be applied to the item.
+ and \cmdref{rotate}) to its group will not be applied to the item.
 
 For converting coordinates between two coordinates systems, (i.e. between two
 groups) you must use the \cmdref{transform} command. For being able to convert
@@ -684,10 +720,10 @@ some objects very trickky or weird to implement with other widgets or toolkits.
 
 \section{Other functions related to groups}
 
-A group may be \attributeref{atomic}. This means that the group will catch
+A group may be atomic (see \attributeref{group}{atomic}). This means that the group will catch
 and process events normally caught by the group children. The typical use is
 for binding the same callbacks to many items composing a group.
-As \attributeref{atomic} is an attribute, it may be modified dynamically,
+As atomic is an attribute, it may be modified dynamically,
 thus modifying the group comportment.
 
 A group may be cloned with the \cmdref{clone} command. This will clone the group
@@ -728,11 +764,11 @@ command set. Someone comfortable with the \ident{canvas} should not have much tr
 using the \ident{zinc}'s commands. Eventually, the command set will be a superset
 of the \ident{canvas} command set.
 
-In the perl/tk version, the commands returning a list, return a perl array (not a
+In the Perl/Tk version, the commands returning a list, return a Perl array (not a
 reference) and all list parameters are given as array references.
 
 \vspace{.5cm}
-\zinccmd{add}{?type group? ?initargs? ?option value? ... ?option? value?}
+\zinccmd{add}{?type group? ?initargs? ?option value? ... ?option value?}
 
 {\tt\large @types = \$zinc->{\bf add}();}\\
 {\tt\large \$id = \$zinc->{\bf add}(type, group);}\\
@@ -781,8 +817,8 @@ reference) and all list parameters are given as array references.
     giving the coordinates of the vertices of the triangles composing this item. The triangles layout
     is defined by the attribute \ident{fan}. If \ident{fan} is true, the triangles are arranged in
     a fan with the first point being the center and the other points defining the perimeter.
-    If \ident{fan} is false, the triangles are arranged in a strip. (Afficher un diagramme avec l'ordre
-    des sommets).
+    If \ident{fan} is false, the triangles are arranged in a strip. (XXX Afficher un diagramme avec l'ordre
+    des sommets). This item requires that \ident{zinc} uses openGL (see the option \ident{-render})
   \item{\bf tabular, track, waypoint} \\
     These types expects the number of fields they will manage in the label or
     tabular form. This number must be greater or equal to zero.
@@ -1100,7 +1136,7 @@ reference) and all list parameters are given as array references.
     item's contours, replacing the original contours by the result.
   \end{description}
 
-  An error in generated if the items are not of a correct type or if
+  An error is generated if the items are not of a correct type or if
   the coordinate list is malformed.
 
   The order of the contours generated by the command is not easily
@@ -1297,9 +1333,10 @@ reference) and all list parameters are given as array references.
   This command returns the list of all items selected by {\tt searchCommand}
   and the {\tt args}. See the \cmdref{addtag} command for an explanation of
   {\tt searchCommand} and the various {\tt args}. The items are sorted in
-  drawing order, topmost first.
-
-  For example: \$zinc->find('withtag', 'current'); \# returns the item under the pointer.
+  drawing order, topmost first.\\
+  Example:\\
+  \code{ \# to get the item under the mouse cursor:\\
+         \$item = \$zinc->find('withtag', 'current');}
 
 \end{blockindent}
 
@@ -1497,9 +1534,9 @@ reference) and all list parameters are given as array references.
 
 {\tt\large @attribs = \$zinc->{\bf itemconfigure}(tagOrId);}\\
 {\tt\large @attrib = \$zinc->{\bf itemconfigure}(tagOrId, attrib);}\\
-{\tt\large \$zinc->{\bf itemconfigure}(tagOrId, attrib=>value, ?attrib=>value, ...?);}
+{\tt\large \$zinc->{\bf itemconfigure}(tagOrId, attrib=>value, ?attrib=>value?, ...);}\\
 {\tt\large @attrib = \$zinc->{\bf itemconfigure}(tagOrId, fieldId, attrib);}\\
-{\tt\large \$zinc->{\bf itemconfigure}(tagOrId, fieldId, attrib=>value, ?attrib=>value, ...?);}
+{\tt\large \$zinc->{\bf itemconfigure}(tagOrId, fieldId, attrib=>value, ?attrib=>value?, ...);}
 
 \begin{blockindent}
   Query or modify the attributes of an item or field. If no attribute
@@ -1567,7 +1604,9 @@ reference) and all list parameters are given as array references.
   or for field configuration commands in the item specified by {\tt tagOrId}.
   If more than one item is named by {\tt tagOrId}, the topmost in display
   list order is used to return the result. If no items are named by
-  {\tt tagOrId}, an error is raised.
+  {\tt tagOrId}, an error is raised.\\
+  NB: This command returns always 0 for items which do not support labelformat (i.e.
+  other than \objectref{track}, \objectref{waypoint} and \objectref{tabular}).
 \end{blockindent}
 
 \zinccmd{postscript}{}
@@ -1629,6 +1668,7 @@ reference) and all list parameters are given as array references.
   Only their anchor position moves according to the rotation:
 
   \begin{itemize}
+  \item \ident{group} XXX to be completed
   \item \ident{track} The graphical part (i.e position, past positions, speedvector, marker) is fully
     transformed. The label is computed relative to the new position.
   \item \ident{waypoint} The position is fully transformed. The label is computed relative to the
@@ -1769,7 +1809,7 @@ reference) and all list parameters are given as array references.
 
   It is possible to convert from device coordinate space (i.e window coordinate
   space) to the coordinate space of any item. This is done by omitting ?tagOrIdFrom?
-  an specifying in tagOrIdTo, the id of the item.
+  and specifying in tagOrIdTo, the id of the item.
 
   It is also possible to convert from the coordinate space of an item to the
   device coordinate space but it is a bit more tricky. In order to be able
@@ -1859,6 +1899,12 @@ reference) and all list parameters are given as array references.
 \chapter{Attribute types}
 \concept{types}
 
+We describe in this chapter all the available types in \ident{zinc}. They are
+listed by alphabetical order.\\
+NB: Two types are very important and their existence should be known by any
+new user of zinc: \attrtyperef{gradientcolor} and \attrtyperef{labelformat}. 
+
+
 \attrtype{alignment}
 \begin{blockindent}
   Specifies the horizontal alignment of an entity.
@@ -2058,33 +2104,40 @@ reference) and all list parameters are given as array references.
   Width and Height set the size of the clipping box surrounding
   the label. If it is not specified, there will be no clipping.
   It it is specified alone it is the size of the only displayed
-  field (0).
-  
-  fieldSpec is:
-  \verb+sChar fieldWidth sChar fieldHeight [pChar fieldX pChar fieldY]+.
-  
+  field (0).\\
+  fieldSpec is:\\
+  \verb+sChar fieldWidth sChar fieldHeight [pChar fieldX pChar fieldY]+.\\
   Each field description refers to the field of same index in the field
-  array.
-  If \verb+sChar+ is \verb+'x'+, the dimension is in pixel. If \verb+sChar+ is
-  \verb+'f'+, the dimension is in percentage of the mean width/height of a
-  character (in the field font). If \verb+sChar+ is \verb+'i'+, the dimension
-  is in percentage of the size of the image in the field. If \verb+sChar+ is
-  \verb+'a'+, the dimension is automatically adjusted to match the field's
-  content plus the given value in pixels. If \verb+sChar+ is \verb+'l'+,
-  the dimension is automatically adjusted to match the global size of the
-  label (not counting fields with \verb+'l'+ size specs). The positional
+  array. Available values for \verb+sChar+ are :
+  \begin{itemize}
+  \item \verb+'x'+ : the dimension is in pixel.
+  \item \verb+'f'+ : the dimension is in percentage
+  of the mean width/height of a character (in the field font).
+  \item \verb+'i'+ : the dimension
+  is in percentage of the size of the image in the field.
+  \item \verb+'a'+ : the dimension is automatically
+  adjusted to match the field's content plus the given value in pixels.
+  \item \verb+'l'+ : the dimension is automatically
+  adjusted to match the global size of the label (not counting fields
+  with \verb+'l'+ size specs). The positional
   parameter is not used with this size specification (always 0) and it is not
   possible to reference the field in another field spec.
+  \end{itemize}
   
-  If \verb+pChar+ is \verb-'+'- the position is in pixel (possibly negative).
-  If it is \verb+'<'+ the position is the index of the field at the left/top
-  of which the current field should be  attached. If it is \verb+'>'+ the
-  position is the index of the field at the right/bottom of which the current
-  field should be attached. If \verb+pChar+ is \verb+'^'+ the position is
+  Available values for \verb+pChar+ are :
+  \begin{itemize}
+  \item \verb-'+'- : the position is in pixel (possibly negative).
+  \item \verb+'<'+ : the position is the index of the field at the left/top
+  of which the current field should be  attached.
+  \item \verb+'>'+ : the position is the index of the field at
+  the right/bottom of which the current field should be attached.
+  \item \verb+'^'+ : the position is
   the index of the field used to align the left/top border (left on left or
-  top on top). If \verb+pChar+ is \verb+'$'+ the %$ position is the index
+  top on top).
+  \item \verb+'$'+ : the %$ position is the index
   of the field used to align the right/bottom border (right on right or
   bottom on bottom).
+  \end{itemize}
   
   The positional parameters can be omitted if there is only one field.  
 \end{blockindent}
@@ -2138,7 +2191,7 @@ reference) and all list parameters are given as array references.
 \begin{blockindent}
   This is the name of a previously registered mapinfo object
   (see the chapter \conceptref{The mapinfo commands}{mapinfocmds}) that will define
-  the lines, symbols, texts an other graphical parts displayed in a map item.
+  the lines, arcs, symbols, and texts displayed in a map item.
 \end{blockindent}
 
 \attrtype{number}
@@ -2182,12 +2235,56 @@ reference) and all list parameters are given as array references.
 \chapter{Labels, label formats and fields}
 \concept{labelsandfields}
 
+\ident{Zinc} was initially developed for building interactive radar image
+working on X server. This requires very good performances, for displaying
+many hundred tracks and moving them every few seconds. Tracks are typically
+composed of some geometric parts and some textual parts. These two parts are
+connected together with a leader. The geometric parts are subject to scaling.
+For example the speed vector length in pixel depends of the scale. But the
+textual part {\bf MUST NEVER} be zoomed. Managing parts which are scaled and others
+which are not, is a real challenge. Usual toolkits or widget are not suited
+to such behaviours, but \ident{zinc} is.
+
+To be able to manage many items mixing geometric parts and non-geometric parts,
+\ident{zinc} introduces the concepts of label, labelformat, fields and fields attributes.
+
 \section {Labels, label formats}
 \concept{label}
 \concept{labelformat}
 
-\object{field}
+A label is a set of many textual parts attached
+to the following types of items: \objectref{track}, \objectref{waypoint} and
+\objectref{tabular}.
+
+The textual parts of a label are called fields.  The label and
+the geometry of the text fields are described by a labelformat.
+
+The field number is an characteristic set at item creation time (see the
+command \cmdref{add}). This characteristic cannot be modified after creation
+of the item. However it can be read with the command \cmdref{numparts}. 
+
+The labelformat is an attribute of the item types supporting labels. As any
+other item attribute, labelformat can be set at creation time. It can be
+set/modified at any time by the command \cmdref{itemconfigure} and read with
+the command \cmdref{itemcget}. The value of the labelformat attribute is a string
+(see the \attrtyperef{labelformat} type) describing the geometry
+(position and size) of the label and the fields.\\
+By modifying a labelformat, you can :
+\begin{itemize}
+\item make appear a hidden field, 
+\item hide a visible field,
+\item enlarge or reduce the size of a field
+\item switch between two fields
+\item etc.
+\end{itemize}
+
+Fields can have bindings (see command \cmdref{bind}). It is also
+possible to know which field the mouse cursor is over with the
+command \cmdref{currentpart}. Fields can be configured by modifying
+their attributes as described by next section.
+
 \section{Attributes for fields}
+\object{field}
 
 Fields are item parts of items supporting labelformat (i.e.
   \objectref{track}, \objectref{waypoint} and \objectref{tabular}).
@@ -2195,60 +2292,61 @@ They can be configured in a similar way of items themselves, with
 the command \cmdref{itemconfigure}, but this command requires an additionnal
 parameter (in second position) the \ident{fieldId}. To get the value of a
 field attribute, you can use the command {itemcget} with the \ident{fieldId}
-as an addtionnal second paramter.
+as an additionnal second parameter.\\
+NB: Field attributes cannot be configured at item creation with the command \cmdref{add}.
 
 Applicable attributes for fields are:
 
 
-\attribute{alignment}{alignment}{
+\attribute{field}{alignment}{alignment}{
   The horizontal alignment of both the text and the image. The default value
   is {\tt left}.}
-\attribute{autoalignment}{autoalignment}{
+\attribute{field}{autoalignment}{autoalignment}{
   The dynamic horizontal alignments used depending on the label orientation.
   The default value is {\tt "-"} which means do not use dynamic alignment.}
-\attribute{backcolor}{color}{
+\attribute{field}{backcolor}{color}{
   The field background color. The default value is the current value of the widget
   option \ident{-foreground}.}
-\attribute{border}{edgelist}{
+\attribute{field}{border}{edgelist}{
   The border description edge by edge. The border is a one pixel wide outline that
   is drawn around the field outside the relief. Some border edges can be omitted,
   this attribute describe the edges that should be displayed as part of the border.
   The default value is {\tt ""}.}
-\attribute{bordercolor}{color}{
+\attribute{field}{bordercolor}{color}{
   The border color. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{color}{color}{
+\attribute{field}{color}{color}{
   The text color. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{filled}{boolean}{
+\attribute{field}{filled}{boolean}{
   Specifies if the field background should be filled. The default value is
   {\tt false}.}
-\attribute{fillpattern}{bitmap}{
+\attribute{field}{fillpattern}{bitmap}{
   The fill pattern used when filling the background. This attribute is overrided
   by the tile attribute. The default value is {\tt ""}.}
-\attribute{font}{font}{
+\attribute{field}{font}{font}{
   The text font. The default value is the current value of the widget option
   \ident{-font}.}
-\attribute{image}{image}{
+\attribute{field}{image}{image}{
   An image to be displayed in the field. The image will be centered vertically
   in the field. The default value is {\tt ""}.}
-\attribute{relief}{relief}{
+\attribute{field}{relief}{relief}{
   Specifies the relief to be drawn around the field, inside the border. The
   default value is {\tt flat}.}
-\attribute{reliefthickness}{dimension}{
+\attribute{field}{reliefthickness}{dimension}{
   Width of the relief drawn around the field. The default value is {\tt 0}
   which means that no relief should be drawn around the field.}
-\attribute{sensitive}{boolean}{
+\attribute{field}{sensitive}{boolean}{
   Specifies if the field should react to input events. The default value is
   {\tt true}.}
-\attribute{text}{string}{
+\attribute{field}{text}{string}{
   A line of text to be displayed in the field. The text will be centered vertically
   in the field. The default value is {\tt ""}.}
-\attribute{tile}{image}{
+\attribute{field}{tile}{image}{
   Specifies an image that will be tiled over the field background is the field
   is filled. This attribute has precedence over the \ident{fillpattern} attribute.
   The default value is {\tt ""}.}
-\attribute{visible}{boolean}{
+\attribute{field}{visible}{boolean}{
   Specifies if the field is displayed. The default value is {\tt true}.}
 
 
@@ -2258,7 +2356,7 @@ Applicable attributes for fields are:
 This chapter introduces the item types that can be used in \ident{zinc}. Each
 item type provides a set of options that may be used to query or change the
 item behavior. Some item types cannot be used with some widget commands, or
-use special parameters with some command. Those cases are noted in the description
+use special parameters with some commands. Those cases are noted in the description
 of the item.
 
 
@@ -2271,28 +2369,28 @@ very powerfull and their use is best described in a previous chapter
 
 Applicable attributes for \ident{group} are:
 
-\attribute{alpha}{alpha}{Specifies the transparency to apply to the group children. Needs the openGL extension. XXX alpha type to be defined}
-\attribute{atomic}{boolean}{Specifies if the group should report itself
+\attribute{group}{alpha}{alpha}{Specifies the transparency to apply to the group children. Needs the openGL extension. XXX alpha type to be defined}
+\attribute{group}{atomic}{boolean}{Specifies if the group should report itself
   or its components during a search or for binding related operations. This
   attribute enable the use of a group as a single complex object build from
   smaller parts. It is possible to search for this item or use it in bindings
   without dealing with its smaller parts. The defaut value is {\tt false}.}
-\attribute{clip}{item}{The item used to clip the children of the group. The shape
+\attribute{group}{clip}{item}{The item used to clip the children of the group. The shape
   of this item define an area that is used as a clipping shape when drawing the
   children of the group. Most items can be used here but notable exceptions are
   the \ident{reticle} and \ident{map} items. The default value is {\tt ""} which
   means that no clipping will be performed.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation should be
+\attribute{group}{composerotation}{boolean}{Specifies if the current rotation should be
   composed with the local transform. The defaut value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{group}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The defaut value is {\tt true}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{group}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 6}.}
-\attribute{sensitive}{boolean}{Specifies if the item and all its children should
+\attribute{group}{sensitive}{boolean}{Specifies if the item and all its children should
   react to events. The defaut value is {\tt true}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{group}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item and all its children is
+\attribute{group}{visible}{boolean}{Specifies if the item and all its children is
   displayed. The defaut value is {\tt true}.}
 
 
@@ -2311,22 +2409,21 @@ A track is composed of two main parts:
 \begin{itemize}
 \item the {\bf current position} of the object. Its partName is \ident{position}
 \item a {\bf speed vector} which size depends on the
-attribute \attributeref{speedvector} for the track and the option \refopt{speedvectorlength}.
+attribute \attributeref{track}{speedvector} for the track and the option \refopt{speedvectorlength}.
 This speed vector may be set visible or not, sensitive or other attributes can
-be set such as color, width, ticks... Its partName is \ident{speedvector}
+be set such as color, width, ticks, mark at the end... Its partName is \ident{speedvector}
 \item a {\bf leader} which links the current position to the label. The leader may be visible or not, sensitive or not, and other graphic caracteristics can be be modified. Its partName is \ident{leader}
 \item {\bf past positions} which are previous position after the track has been moved by the \cmdref{coords} command. The number of such past positions, their visibility and other graphic caracteristics can be be modified. This part is never sensitive.
 \item a {\bf marker}, which is a circle around the current position. This marker can be visible or not and other graphic caracteristics can be configured. The marker is never sensitive.
 \item a {\bf connection}, which is a link with another item. This connection may be visible or not, sensitive or not, and other graphic caracteristics can be be modified. Its partName is \ident{connection}.
 \end{itemize}
-\begin{itemize}
 \item the second part is a block of texts described by a labelformat (see chapter \conceptref{Labels, fields and Label formats}{labelformat}. Each text can have its graphic decorations (alignment, background, images, borders...). These attributes are listed in the chapter \conceptref{Labels, label formats and fields}{labelformat} and can be changed by the command \cmdref{itemconfigure}.
 \end{itemize}
-\end{itemize}
 
 The following picture shows a simple \ident{track} with a label of 5 fields and 5 past positions. 
 
-\includeimage{trackexemple}
+%\includeimage{trackexemple}
+\fig{trackexemple.png}{A track with a label composed of 5 fields}
 
 An other very important feature of \ident{track} is that \ident{zinc} offers an
 anti-overlap manager. This manager tries to avoid any overlap of tracks labels.
@@ -2336,41 +2433,42 @@ position. This manager applies to all tracks included in a group (by default the
 group 1). It can be enabled/disabled with the attributes XXX. New labels
 positions are computed by the overlap  manager every time a track is moved,
 a track is created or destroyed and every time the \ident{zinc} widget is resized.
-Due to software licence limitation, \ident{zinc} {\bf DO NOT} include the very last
- version of this anti-overlap manager. 
+Due to software licence limitation, \ident{zinc} {\bf DO NOT include} the very last
+ version of this anti-overlap manager. If you are intersted in this anti-overlap
+manager, please contact Didier Pavet at pavet@cena.fr.
 
-Applicable attributes for \ident{track}
+Applicable attributes for \ident{track} are :
 
-\attribute{circlehistory}{boolean}{If set to true the track history will
-  be plotted as cricles otherwise it will be plotted as squares. The default
+\attribute{track}{circlehistory}{boolean}{If set to true the track history will
+  be plotted as circles otherwise it will be plotted as squares. The default
   value is {\tt false}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation
+\attribute{track}{composerotation}{boolean}{Specifies if the current rotation
   should be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{track}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}.}
-\attribute{connecteditem}{item}{The item at the other end of the connection link.
+\attribute{track}{connecteditem}{item}{The item at the other end of the connection link.
   The default value is {\tt ""} which means that no connection link will be drawn.}
-\attribute{connectioncolor}{gradientcolor}{The color of the connection link. The
+\attribute{track}{connectioncolor}{gradientcolor}{The color of the connection link. The
   default value is the current value of the widget option \ident{-foreground}.}
-\attribute{connectionsensitive}{boolean}{Specifies if the connection link
+\attribute{track}{connectionsensitive}{boolean}{Specifies if the connection link
   is sensitive. The actual sensitivity is the logical \ident{and} of this attribute and
   of the item {\tt sensitive} attribute. The default value is {\tt true}.}
-\attribute{connectionstyle}{linestyle}{The line style of the connection link.
+\attribute{track}{connectionstyle}{linestyle}{The line style of the connection link.
   The default value is {\tt simple}.}
-\attribute{connectionwidth}{dimension}{The width of the connection link. The
+\attribute{track}{connectionwidth}{dimension}{The width of the connection link. The
   default value is {\tt 1}.}
-\attribute{filledhistory}{boolean}{If set to true the track history will be
+\attribute{track}{filledhistory}{boolean}{If set to true the track history will be
   filled otherwise it will be outlined. The default value is {\tt true}.}
-\attribute{filledmarker}{boolean}{If set to true the circular marker will be
+\attribute{track}{filledmarker}{boolean}{If set to true the circular marker will be
   filled otherwise it will be outlined. The default value is {\tt false}.}
-\attribute{frozenlabel}{boolean}{Specifies if the label should be frozen at
+\attribute{track}{frozenlabel}{boolean}{Specifies if the label should be frozen at
   its current location to prevent the anti overlapping system from moving it. The
   default value is {\tt false}.}
-\attribute{historycolor}{gradientcolor}{The color of the track history. The default value
+\attribute{track}{historycolor}{gradientcolor}{The color of the track history. The default value
   is the current value of the widget option \ident{-foreground}.}
-\attribute{labelanchor}{anchor}{The anchor used in positionning the label. The
+\attribute{track}{labelanchor}{anchor}{The anchor used in positionning the label. The
   default value is {\tt center}.}
-\attribute{labelangle}{angle}{The angle in degrees between the label anchor
+\attribute{track}{labelangle}{angle}{The angle in degrees between the label anchor
   and the normal to the speed vector. This attribute works with the {\tt labeldistance}
   attribute to specify a position for the label anchor with respect to the item
   origin. There is another alternative method for label positioning which is
@@ -2378,85 +2476,85 @@ Applicable attributes for \ident{track}
   use of the two methods should be done with care as there is no automatic update
   of values from the {\tt labeldx}, {\tt labeldy} set to the {\tt labeldistance},
   {\tt labelangle} set. The default value is {\tt 20}.}
-\attribute{labelconvergencestyle}{dimension}{XXX New. To be documented. The default value is ??.}
-\attribute{labeldistance}{dimension}{The minimum distance in pixels between
+\attribute{track}{labelconvergencestyle}{dimension}{XXX New. To be documented. The default value is ??.}
+\attribute{track}{labeldistance}{dimension}{The minimum distance in pixels between
   the track position and the label anchor. See the explanation of the {\tt labelangle}
   attribute for some more details. The default value is 50.}
-\attribute{labeldx}{dimension}{The X offset between the track position and the
+\attribute{track}{labeldx}{dimension}{The X offset between the track position and the
   label anchor. The default value is computed from the values in the {\tt labeldistance}
   and {\tt labelangle} attributes.}
-\attribute{labeldy}{dimension}{The Y offset between the track position and the label
+\attribute{track}{labeldy}{dimension}{The Y offset between the track position and the label
   anchor. The default value is computed from the values in the {\tt labeldistance} and
   {\tt labelangle} attributes.}
-\attribute{labelformat}{labelformat}{Geometry of the label fields. The default
+\attribute{track}{labelformat}{labelformat}{Geometry of the label fields. The default
   value is {\tt ""} which means that no label will be displayed.}
-\attribute{labelpreferedangle}{angle}{XXX New. To be documented. The default value is ??.}
-\attribute{lastasfirst}{boolean}{If set to true, the last position in the
+\attribute{track}{labelpreferedangle}{angle}{XXX New. To be documented. The default value is ??.}
+\attribute{track}{lastasfirst}{boolean}{If set to true, the last position in the
   history will be drawn in the same color as the current position instead of
   being drawn in the history color. The default value is {\tt false}.}
-\attribute{leaderanchors}{leaderanchors}{The attachments of the leader on the
+\attribute{track}{leaderanchors}{leaderanchors}{The attachments of the leader on the
   label side. The default value is {\tt ""} which means that both leader anchors are
   at the label center.}
-\attribute{leadercolor}{gradientcolor}{The color of the label leader. The default value
+\attribute{track}{leadercolor}{gradientcolor}{The color of the label leader. The default value
   is the current value of the widget option \ident{-foreground}.}
-\attribute{leaderfirstend}{lineend}{Describe the arrow shape at the current position
+\attribute{track}{leaderfirstend}{lineend}{Describe the arrow shape at the current position
   end of the leader. The default value is {\tt ""}.}
-\attribute{leaderlastend}{lineend}{Describe the arrow shape at the label end of
+\attribute{track}{leaderlastend}{lineend}{Describe the arrow shape at the label end of
   the leader. The default value is {\tt ""}.}
-\attribute{leadersensitive}{boolean}{Specifies if the label leader is sensitive.
+\attribute{track}{leadersensitive}{boolean}{Specifies if the label leader is sensitive.
   The actual sensitivity is the logical \ident{and} of this attribute and of the item
   {\tt sensitive} attribute. The default value is {\tt true}.}
-\attribute{leadershape}{lineshape}{The shape of the label leader. The default
+\attribute{track}{leadershape}{lineshape}{The shape of the label leader. The default
   value is {\tt straight}.}
-\attribute{leaderstyle}{linestyle}{The line style of the label leader. The default
+\attribute{track}{leaderstyle}{linestyle}{The line style of the label leader. The default
   value is {\tt simple}.}
-\attribute{leaderwidth}{dimension}{The width of the label leader. The default
+\attribute{track}{leaderwidth}{dimension}{The width of the label leader. The default
   value is {\tt 1}.}
-\attribute{markercolor}{gradientcolor}{The color of the circular marker. The default
+\attribute{track}{markercolor}{gradientcolor}{The color of the circular marker. The default
   value is the current value of the widget option \ident{-foreground}.}
-\attribute{markerfillpattern}{bitmap}{The pattern to use when filling the
+\attribute{track}{markerfillpattern}{bitmap}{The pattern to use when filling the
   circular marker. The default value is {\tt ""}.}
-\attribute{markersize}{number}{The (scale sensitive) size of the circular marker.
+\attribute{track}{markersize}{number}{The (scale sensitive) size of the circular marker.
   The default value is {\tt 0} which turn off the display of the marker.}
-\attribute{markerstyle}{linestyle}{The line style of the marker outline. The
+\attribute{track}{markerstyle}{linestyle}{The line style of the marker outline. The
   default value is {\tt simple}.}
-\attribute{mixedhistory}{boolean}{If true the track history will be plotted
+\attribute{track}{mixedhistory}{boolean}{If true the track history will be plotted
   with dots every other positions. The default value is {\tt false}.}
-\attribute{numfields}{integer}{Gives the number of fields available for the
+\attribute{track}{numfields}{integer}{Gives the number of fields available for the
   label. This attribute is read only.}
-\attribute{position}{position}{The current location of the track. The default
+\attribute{track}{position}{position}{The current location of the track. The default
   value is {\tt "0 0"}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{track}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 5}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{track}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{speedvector}{position}{The speed vector $\Delta x$ and $\Delta y$
+\attribute{track}{speedvector}{position}{The speed vector $\Delta x$ and $\Delta y$
   in unit / minute. The default value is {\tt "0 0"} which results in no speed vector
   displayed.}
-\attribute{speedvectorcolor}{gradientcolor}{The color of the track's speed vector. The
+\attribute{track}{speedvectorcolor}{gradientcolor}{The color of the track's speed vector. The
   default value is the current value of the widget option \ident{-foreground}.}
-\attribute{speedvectormark}{boolean}{If set a small point is drawn at the end of
+\attribute{track}{speedvectormark}{boolean}{If set a small point is drawn at the end of
 the speed vector. The point is drawn with the speed vector color. The default is
-{\tt false}.}
-\attribute{speedvectorsensitive}{boolean}{Specifies if the track's speed vector
+{\tt false}.\\Not yet available without openGL}
+\attribute{track}{speedvectorsensitive}{boolean}{Specifies if the track's speed vector
   is sensitive. The actual sensitivity is the logical \ident{and} of this attribute and of
   the item {\tt sensitive} attribute. The default value is {\tt true}. }
-\attribute{speedvectorticks}{boolean}{If set a mark is drawn at each minute position.
-The default is {\tt false}.}
-\attribute{speedvectorwidth}{width}{New. XXX To be documented. The default value is ??.}
-\attribute{symbol}{bitmap}{The symbol displayed at the current position. The
+\attribute{track}{speedvectorticks}{boolean}{If set a mark is drawn at each minute position.
+The default is {\tt false}.\\Not yet available without openGL}
+\attribute{track}{speedvectorwidth}{width}{New. XXX To be documented. The default value is ??.}
+\attribute{track}{symbol}{bitmap}{The symbol displayed at the current position. The
   default value is {\tt AtcSymbol15}.}
-\attribute{symbolcolor}{gradientcolor}{The color of the symbol displayed at the current
+\attribute{track}{symbolcolor}{gradientcolor}{The color of the symbol displayed at the current
   position. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{symbolsensitive}{boolean}{Specifies if the current position's symbol
+\attribute{track}{symbolsensitive}{boolean}{Specifies if the current position's symbol
   is sensitive to events. The actual sensitivity is the logical \ident{and} of this attribute
   and of the item {\tt sensitive} attribute. The default value is {\tt true}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{track}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default value
+\attribute{track}{visible}{boolean}{Specifies if the item is displayed. The default value
   is {\tt true}.}
-\attribute{visiblehistorysize}{integer}{The number of past positions that should
+\attribute{track}{visiblehistorysize}{integer}{The number of past positions that should
   be displayed. The default value is {\tt 6}.}
 
 
@@ -2478,28 +2576,32 @@ A waypoint is composed of the following parts:
 \item a {\bf connection}, which is a link with another item. This connection may be visible or not, sensitive or not, and other graphic caracteristics can be be modified. Its partName is \ident{connection}.
 \end{itemize}
 
+
+\fig{waypointexample.png}{A waypoint with a label composed of 5 fields; fields have borders}
+
+
 Applicable attributes for \ident{waypoint} are:
 
-\attribute{composerotation}{boolean}{Specifies if the current rotation should
+\attribute{waypoint}{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}. }
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{waypoint}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}. }
-\attribute{connecteditem}{item}{The item at the other end of the connection link.
+\attribute{waypoint}{connecteditem}{item}{The item at the other end of the connection link.
   The default value is {\tt ""} which means that no connection link will be drawn.}
-\attribute{connectioncolor}{gradientcolor}{The color of the connection link. The default
+\attribute{waypoint}{connectioncolor}{gradientcolor}{The color of the connection link. The default
   value is the current value of the widget option \ident{-foreground}.}
-\attribute{connectionsensitive}{boolean}{Specifies if the connection link is
+\attribute{waypoint}{connectionsensitive}{boolean}{Specifies if the connection link is
   sensitive. The actual sensitivity is the logical \ident{and} of this attribute and of the
   item {\tt sensitive} attribute. The default value is {\tt true}.}
-\attribute{connectionstyle}{linestyle}{The line style of the connection link.
+\attribute{waypoint}{connectionstyle}{linestyle}{The line style of the connection link.
   The default value is {\tt simple}.}
-\attribute{connectionwidth}{dimension}{The width of the connection link. The
+\attribute{waypoint}{connectionwidth}{dimension}{The width of the connection link. The
   default value is {\tt 1}.}
-\attribute{filledmarker}{boolean}{If set to true the circular marker will be
+\attribute{waypoint}{filledmarker}{boolean}{If set to true the circular marker will be
   filled otherwise it will be outlined. The default value is {\tt false}.}
-\attribute{labelanchor}{anchor}{The anchor used in positionning the label. The
+\attribute{waypoint}{labelanchor}{anchor}{The anchor used in positionning the label. The
   default value is {\tt center}.}
-\attribute{labelangle}{angle}{The angle in degrees between the label anchor and
+\attribute{waypoint}{labelangle}{angle}{The angle in degrees between the label anchor and
   the normal to the speed vector. This attribute works with the {\tt labeldistance}
   attribute to specify a position for the label anchor with respect to the item origin.
   There is another alternative method for label positioning which is implemented with
@@ -2507,62 +2609,62 @@ Applicable attributes for \ident{waypoint} are:
   should be done with care as there is no automatic update of values from the
   {\tt labeldx}, {\tt labeldy} set to the {\tt labeldistance}, {\tt labelangle} set.
   The default value is {\tt 20}.}
-\attribute{labeldistance}{dimension}{The minimum distance in pixels between the
+\attribute{waypoint}{labeldistance}{dimension}{The minimum distance in pixels between the
   way point position and the label anchor. See the explanation of the {\tt labelangle}
   attribute for some more details. The default value is 50.}
-\attribute{labeldx}{dimension}{The X offset between the way point position and
+\attribute{waypoint}{labeldx}{dimension}{The X offset between the way point position and
   the label anchor. The default value is computed from the values in the
   {\tt labeldistance} and {\tt labelangle} attributes.}
-\attribute{labeldy}{dimension}{The Y offset between the way point position and
+\attribute{waypoint}{labeldy}{dimension}{The Y offset between the way point position and
   the label anchor. The default value is computed from the values in the
   {\tt labeldistance} and {\tt labelangle} attributes.}
-\attribute{labelformat}{labelformat}{Geometry of the label fields. The default
+\attribute{waypoint}{labelformat}{labelformat}{Geometry of the label fields. The default
   value is {\tt ""} which means that no label will be displayed.}
-\attribute{leaderanchors}{leaderanchors}{The attachments of the leader on the
+\attribute{waypoint}{leaderanchors}{leaderanchors}{The attachments of the leader on the
   label side. The default value is {\tt ""} which means that both leader anchors are
   at the label center.}
-\attribute{leadercolor}{gradientcolor}{The color of the label leader. The default value
+\attribute{waypoint}{leadercolor}{gradientcolor}{The color of the label leader. The default value
   is the current value of the widget option \ident{-foreground}.}
-\attribute{leaderfirstend}{lineend}{Describe the arrow shape at the current position
+\attribute{waypoint}{leaderfirstend}{lineend}{Describe the arrow shape at the current position
   end of the leader. The default value is {\tt ""}.}
-\attribute{leaderlastend}{lineend}{Describe the arrow shape at the label end of
+\attribute{waypoint}{leaderlastend}{lineend}{Describe the arrow shape at the label end of
   the leader. The default value is {\tt ""}.}
-\attribute{leadersensitive}{boolean}{Specifies if the label leader is sensitive.
+\attribute{waypoint}{leadersensitive}{boolean}{Specifies if the label leader is sensitive.
   The actual sensitivity is the logical \ident{and} of this attribute and of the item
   {\tt sensitive} attribute. The default value is {\tt true}.}
-\attribute{leadershape}{lineshape}{The shape of the label leader. The default
+\attribute{waypoint}{leadershape}{lineshape}{The shape of the label leader. The default
   value is {\tt straight}.}
-\attribute{leaderstyle}{linestyle}{The line style of the label leader. The
+\attribute{waypoint}{leaderstyle}{linestyle}{The line style of the label leader. The
   default value is {\tt simple}.}
-\attribute{leaderwidth}{dimension}{The width of the label leader. The default
+\attribute{waypoint}{leaderwidth}{dimension}{The width of the label leader. The default
   value is {\tt 1}.}
-\attribute{markercolor}{gradientcolor}{The color of the circular marker. The default
+\attribute{waypoint}{markercolor}{gradientcolor}{The color of the circular marker. The default
   value is the current value of the widget option \ident{-foreground}.}
-\attribute{markerfillpattern}{bitmap}{The pattern to use when filling the circular
+\attribute{waypoint}{markerfillpattern}{bitmap}{The pattern to use when filling the circular
   marker. The default value is {\tt ""}.}
-\attribute{markersize}{number}{The (scale sensitive) size of the circular marker.
+\attribute{waypoint}{markersize}{number}{The (scale sensitive) size of the circular marker.
   The default value is {\tt 0} which turn off the display of the marker.}
-\attribute{markerstyle}{linestyle}{The line style of the marker outline. The
+\attribute{waypoint}{markerstyle}{linestyle}{The line style of the marker outline. The
   default value is {\tt simple}.}
-\attribute{numfields}{integer}{Gives the number of fields available for the label.
+\attribute{waypoint}{numfields}{integer}{Gives the number of fields available for the label.
   This attribute is read only.}
-\attribute{position}{position}{The current location of the way point. The default
+\attribute{waypoint}{position}{position}{The current location of the way point. The default
   value is {\tt "0 0"}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{waypoint}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 4}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{waypoint}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{symbol}{bitmap}{The symbol displayed at the current position. The
+\attribute{waypoint}{symbol}{bitmap}{The symbol displayed at the current position. The
   default value is {\tt AtcSymbol15}.}
-\attribute{symbolcolor}{gradientcolor}{The color of the symbol displayed at the current
+\attribute{waypoint}{symbolcolor}{gradientcolor}{The color of the symbol displayed at the current
   position. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{symbolsensitive}{boolean}{Specifies if the current position's symbol
+\attribute{waypoint}{symbolsensitive}{boolean}{Specifies if the current position's symbol
   is sensitive to events. The actual sensitivity is the logical \ident{and} of this attribute
   and of the item {\tt sensitive} attribute. The default value is {\tt true}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{waypoint}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{waypoint}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -2581,29 +2683,29 @@ A tabular item is mainly composed of a {\bf label} which
 
 Applicable attributes for \ident{tabular} are:
 
-\attribute{anchor}{anchor}{The anchor used in positionning the item. The default
+\attribute{tabular}{anchor}{anchor}{The anchor used in positionning the item. The default
   value is {\tt nw}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation should
+\attribute{tabular}{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{tabular}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}.}
-\attribute{connecteditem}{item}{Specifies the item relative to which this item
+\attribute{tabular}{connecteditem}{item}{Specifies the item relative to which this item
   is placed. The default value is {\tt ""}.}
-\attribute{connectionanchor}{anchor}{Specifies the anchor on the connected item.
+\attribute{tabular}{connectionanchor}{anchor}{Specifies the anchor on the connected item.
   The default value is {\tt sw}.}
-\attribute{labelformat}{labelformat}{Geometry of the label fields. The default
+\attribute{tabular}{labelformat}{labelformat}{Geometry of the label fields. The default
   value is {\tt ""} which means that nothing will be displayed.}
-\attribute{numfields}{integer}{Gives the number of fields available for the
+\attribute{tabular}{numfields}{integer}{Gives the number of fields available for the
   label. This attribute is read only.}
-\attribute{position}{position}{The item's position relative to the anchor
+\attribute{tabular}{position}{position}{The item's position relative to the anchor
   (if no connected item specified). The default value is {\tt "0 0"}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{tabular}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 3}. }
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{tabular}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{tabular}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{tabular}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -2618,45 +2720,45 @@ Text items are used for displaying text. They can also be used for text input.
 
 Applicable attributes for \ident{text} are:
 
-\attribute{alignment}{alignment}{Specifies the horizontal alignment of the
+\attribute{text}{alignment}{alignment}{Specifies the horizontal alignment of the
   lines in the item. The default value is {\tt left}.}
-\attribute{anchor}{anchor}{The anchor used in positionning the item. The default
+\attribute{text}{anchor}{anchor}{The anchor used in positionning the item. The default
   value is {\tt nw}.}
-\attribute{color}{gradientcolor}{Specifies the color for drawing the text characters,
+\attribute{text}{color}{gradientcolor}{Specifies the color for drawing the text characters,
   the overstrike and underline lines. The default value is the current value
   of the widget option \ident{-foreground}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation should
+\attribute{text}{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{text}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}.}
-\attribute{connecteditem}{item}{Specifies the item relative to which this item
+\attribute{text}{connecteditem}{item}{Specifies the item relative to which this item
   is placed. The default value is {\tt ""}.}
-\attribute{connectionanchor}{anchor}{Specifies the anchor on the connected item.
+\attribute{text}{connectionanchor}{anchor}{Specifies the anchor on the connected item.
   The default value is {\tt sw}.}
-\attribute{fillpattern}{bitmap}{Specifies the pattern used to draw the text
+\attribute{text}{fillpattern}{bitmap}{Specifies the pattern used to draw the text
   characters, the overstrike and underline lines. The default value is {\tt ""}.}
-\attribute{font}{font}{Specifies the font for the text. The default value is
+\attribute{text}{font}{font}{Specifies the font for the text. The default value is
   the current value of the widget option \ident{-font}.}
-\attribute{overstriked}{boolean}{If true, a thin line will be drawn horizontally
+\attribute{text}{overstriked}{boolean}{If true, a thin line will be drawn horizontally
   across the text characters. The default value is {\tt false}.}
-\attribute{position}{position}{The item's position relative to the anchor
+\attribute{text}{position}{position}{The item's position relative to the anchor
   (if no connected item specified). The default value is {\tt "0 0"}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{text}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 2}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{text}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{spacing}{dimension}{Specifies a pixel value that will be added to
+\attribute{text}{spacing}{dimension}{Specifies a pixel value that will be added to
   the inter-line spacing specified in the font. The value can be positive to
   increase the spacing or negative to reduce it. The default value is {\tt 0}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{text}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{text}{string}{Specifies the text characters. Newline characters can
+\attribute{text}{text}{string}{Specifies the text characters. Newline characters can
   be embedded to force line ends. The default value is {\tt ""}.}
-\attribute{underlined}{boolean}{If true, a thin line will be drawn under the
+\attribute{text}{underlined}{boolean}{If true, a thin line will be drawn under the
   text characters. The default value is {\tt false}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{text}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
-\attribute{width}{dimension}{Specifies the maximum pixel width of the text, a
+\attribute{text}{width}{dimension}{Specifies the maximum pixel width of the text, a
   line break will be automatically inserted at the closest character position to
   match this constraint. If the value is zero, the width is not under the item
   control and line breaks must be inserted in the text to have multiple lines.
@@ -2670,34 +2772,34 @@ Icon items are used for XXX.
 
 Applicable attributes for \ident{icon} are:
 
-\attribute{anchor}{anchor}{The anchor used in positionning the item. The default
+\attribute{icon}{anchor}{anchor}{The anchor used in positionning the item. The default
   value is {\tt nw}.}
-\attribute{color}{gradientcolor}{Specifies the fill color used for drawing the bitmap.
+\attribute{icon}{color}{gradientcolor}{Specifies the fill color used for drawing the bitmap.
   The default value is the current value of the widget option \ident{-foreground}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation
+\attribute{icon}{composerotation}{boolean}{Specifies if the current rotation
   should be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should
+\attribute{icon}{composescale}{boolean}{Specifies if the current scale should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{connecteditem}{item}{Specifies the item relative to which this
+\attribute{icon}{connecteditem}{item}{Specifies the item relative to which this
   item is placed}
-\attribute{connectionanchor}{anchor}{Specifies the anchor on the connected item.
+\attribute{icon}{connectionanchor}{anchor}{Specifies the anchor on the connected item.
   The default value is {\tt sw}.}
-\attribute{image}{image}{Specifies a Tk image that will be displayed by the item.
+\attribute{icon}{image}{image}{Specifies a Tk image that will be displayed by the item.
   The image may have a mask (depend on the image format) that clip some parts. This
   option has precedence over the {\tt mask} option if both are specified. The
   default value is {\tt ""}.}
-\attribute{mask}{bitmap}{Specifies a Tk bitmap that will be displayed by the
+\attribute{icon}{mask}{bitmap}{Specifies a Tk bitmap that will be displayed by the
   item. The bitmap is filled with the color specified with the {\tt color} option.
   This option is inactive if an image has been specified with the {\tt image} option.}
-\attribute{position}{position}{The item's position relative to the anchor (if
+\attribute{icon}{position}{position}{The item's position relative to the anchor (if
   no connected item specified). The default value is {\tt "0 0"}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{icon}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 2}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{icon}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{icon}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{icon}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -2708,41 +2810,41 @@ Reticle items are used for XXX.
 
 Applicable attributes for \ident{reticle} are:
 
-\attribute{brightlinecolor}{gradientcolor}{This is the color of the highlighted
+\attribute{reticle}{brightlinecolor}{gradientcolor}{This is the color of the highlighted
   circles. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{brightlinestyle}{linestyle}{This is the line style of the highlighted
+\attribute{reticle}{brightlinestyle}{linestyle}{This is the line style of the highlighted
   circles. The default value is {\tt simple}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation should
+\attribute{reticle}{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{reticle}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}.}
-\attribute{firstradius}{number}{This is the radius of the innermost circle of
+\attribute{reticle}{firstradius}{number}{This is the radius of the innermost circle of
   the reticle. The default value is {\tt 80}.}
-\attribute{linecolor}{gradientcolor}{This is the color of the regular (not highlighted)
+\attribute{reticle}{linecolor}{gradientcolor}{This is the color of the regular (not highlighted)
   circles. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{linestyle}{linestyle}{This is the line style of the regular (not
+\attribute{reticle}{linestyle}{linestyle}{This is the line style of the regular (not
   highlighted) circles. The default value is {\tt simple}.}
-\attribute{numcircles}{integer}{Specifies how many circles should be drawn.
+\attribute{reticle}{numcircles}{integer}{Specifies how many circles should be drawn.
   The default value is {\tt -1} which means draw as many circles as needed to
   encompass the current widget window. This does not take into account any possible
   clipping that can mask part of the reticle. The idea behind this trick is to draw
   an infinite reticle that is optimized for the current scale.}
-\attribute{period}{integer}{Specifies the recurrence of the bright circles over
+\attribute{reticle}{period}{integer}{Specifies the recurrence of the bright circles over
   the regulars. The default value is {\tt 5} which means that a bright circle is
   drawn then 4 regulars, etc.}
-\attribute{position}{position}{Location of the center of the reticle. The default
+\attribute{reticle}{position}{position}{Location of the center of the reticle. The default
   value is {\tt "0 0"}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{reticle}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 2}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{reticle}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt false} as the item cannot handle events.}
-\attribute{stepsize}{number}{The (scale sensitive) size of the step between two
+\attribute{reticle}{stepsize}{number}{The (scale sensitive) size of the step between two
   consecutive circles. The default value is {\tt 80}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{reticle}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{reticle}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -2754,32 +2856,32 @@ Map items are used for XXX.
 
   Applicable attributes for \ident{map} are:
 
-\attribute{color}{gradientcolor}{Specifies the color usedd to draw or fill the map. The
+\attribute{map}{color}{gradientcolor}{Specifies the color usedd to draw or fill the map. The
   texts and symbols that are part of the map are also drawn in this color.
   The default value is the current value of the widget option \ident{-foreground}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation should
+\attribute{map}{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{map}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}.}
-\attribute{filled}{boolean}{If set to true the map wil be filled otherwise it
+\attribute{map}{filled}{boolean}{If set to true the map wil be filled otherwise it
   will be drawn as thin lines. The default is {\tt false}.}
-\attribute{fillpattern}{bitmap}{Specifies the pattern to be used when filling
+\attribute{map}{fillpattern}{bitmap}{Specifies the pattern to be used when filling
   the map. The value should be a legal Tk bitmap. The default value is {\tt "}.}
-\attribute{font}{font}{Specifies the font that will be used to drawn the texts of
+\attribute{map}{font}{font}{Specifies the font that will be used to drawn the texts of
   the map.  The default value is the current value of the widget option -maptextfont.}
-\attribute{mapinfo}{mapinfo}{Specifies the lines, texts, symbols and other
+\attribute{map}{mapinfo}{mapinfo}{Specifies the lines, texts, symbols and other
   various graphical components that should be displayed by the map item. All these
   graphical components will share the graphical attributes (color, font, etc) of
   the item and its coordinate system. The default value is {\tt ""} which means
   that nothing will be displayed by the map.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{map}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 1}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{map}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt false} as the item cannot handle events.}
-\attribute{symbols}{bitmaplist}{}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{map}{symbols}{bitmaplist}{}
+\attribute{map}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{map}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -2797,40 +2899,40 @@ Map items are used for XXX.
 
   Applicable attributes for \ident{rectangle} are:
 
-\attribute{composerotation}{boolean}{Specifies if the current rotation should
+\attribute{rectangle}{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{rectangle}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}.}
-\attribute{fillcolor}{gradientcolor}{Specifies the color that will be used to fill
+\attribute{rectangle}{fillcolor}{gradientcolor}{Specifies the color that will be used to fill
   the rectangle if requested by the \ident{filled} attribute. The default value is a
   one color gradient based on the current value of the widget option \ident{-foreground}.}
-\attribute{filled}{boolean}{Specifies if the item should be filled. The default
+\attribute{rectangle}{filled}{boolean}{Specifies if the item should be filled. The default
   value is {\tt false}.}
-\attribute{fillpattern}{bitmap}{Specifies the pattern to use when filling the
+\attribute{rectangle}{fillpattern}{bitmap}{Specifies the pattern to use when filling the
   item. The default value is {\tt ""}.}
-\attribute{linecolor}{gradientcolor}{Specifies the color that will be used to draw
+\attribute{rectangle}{linecolor}{gradientcolor}{Specifies the color that will be used to draw
   the item outline. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{linepattern}{bitmap}{Specifies the pattern to use when drawing the
+\attribute{rectangle}{linepattern}{bitmap}{Specifies the pattern to use when drawing the
   outline. The default value is {\tt ""}.}
-\attribute{linestyle}{linestyle}{Specifies the line style to use when drawing
+\attribute{rectangle}{linestyle}{linestyle}{Specifies the line style to use when drawing
   the outline. The default value is {\tt simple}.}
-\attribute{linewidth}{dimension}{Specifies the with of the item outline (not
+\attribute{rectangle}{linewidth}{dimension}{Specifies the with of the item outline (not
   scalable). The default value is {\tt 1}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{rectangle}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 2}.}
-\attribute{relief}{relief}{Specifies the relief used to drawn the rectangle
+\attribute{rectangle}{relief}{relief}{Specifies the relief used to drawn the rectangle
   outline. This attribute has priority over the \ident{linecolor}, \ident{linepattern}
   and \ident{linestyle} attributes. The default value is {\tt flat}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{rectangle}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{rectangle}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{tile}{image}{Specifies an image used for filling the item with
+\attribute{rectangle}{tile}{image}{Specifies an image used for filling the item with
   tiles. This will be done only if filling is requested by the \ident{filled} attribute.
   This attribute has priority over the \ident{fillcolor} attribute and the \ident{fillpattern}
   attribute. The default value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{rectangle}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -2852,56 +2954,56 @@ Map items are used for XXX.
 
   Applicable attributes for \ident{arc} are:
 
-\attribute{closed}{boolean}{Specifies if the outline of the arc should be
+\attribute{arc}{closed}{boolean}{Specifies if the outline of the arc should be
   closed. This is only pertinent if the arc extent is less than 360 degrees.
   The default value is {\tt false}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation should
+\attribute{arc}{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{arc}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}.}
-\attribute{extent}{angle}{Specifies the angular extent of the arc relative to the
+\attribute{arc}{extent}{angle}{Specifies the angular extent of the arc relative to the
   start angle. The angle is expressed in degrees in the trigonometric system. The
   default value is {\tt 360}.}
-\attribute{fillcolor}{gradientcolor}{ Specifies the color that will be used to fill
+\attribute{arc}{fillcolor}{gradientcolor}{ Specifies the color that will be used to fill
   the arc if requested by the \ident{filled} attribute. The default value is a
   one color gradient based on the current value of the widget option
   \ident{-foreground}.}
-\attribute{filled}{boolean}{Specifies if the item should be filled. The default
+\attribute{arc}{filled}{boolean}{Specifies if the item should be filled. The default
   value is {\tt false}.}
-\attribute{fillpattern}{bitmap}{Specifies the pattern to use when filling the
+\attribute{arc}{fillpattern}{bitmap}{Specifies the pattern to use when filling the
   item. The default value is {\tt ""}.}
-\attribute{firstend}{lineend}{Describe the arrow shape at the start end of
+\attribute{arc}{firstend}{lineend}{Describe the arrow shape at the start end of
   the arc. This attribute is applicable only if the item is not closed and not filled.
   The default value is {\tt ""}.}
-\attribute{lastend}{lineend}{Describe the arrow shape at the extent end of
+\attribute{arc}{lastend}{lineend}{Describe the arrow shape at the extent end of
   the arc. This attribute is applicable only if the item is not closed and not filled.
   The default value is {\tt ""}.}
-\attribute{linecolor}{gradientcolor}{Specifies the color that will be used to draw
+\attribute{arc}{linecolor}{gradientcolor}{Specifies the color that will be used to draw
   the item outline. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{linepattern}{bitmap}{Specifies the pattern to use when drawing the
+\attribute{arc}{linepattern}{bitmap}{Specifies the pattern to use when drawing the
   outline. The default value is {\tt ""}.}
-\attribute{linestyle}{linestyle}{Specifies the line style to use when drawing
+\attribute{arc}{linestyle}{linestyle}{Specifies the line style to use when drawing
   the outline. The default value is {\tt simple}.}
-\attribute{linewidth}{dimension}{Specifies the with of the item outline (not
+\attribute{arc}{linewidth}{dimension}{Specifies the with of the item outline (not
   scalable). The default value is {\tt 1}.}
-\attribute{pieslice}{boolean}{This attribute tells how to draw an arc whose
+\attribute{arc}{pieslice}{boolean}{This attribute tells how to draw an arc whose
   extent is less than 360 degrees. If this attribute is true the arc open end
   will be drawn as a pie slice otherwise it will be drawn as a chord. The default
   value is {\tt false}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{arc}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 2}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{arc}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{startangle}{angle}{Specifies the arc starting angle. The angle is
+\attribute{arc}{startangle}{angle}{Specifies the arc starting angle. The angle is
   expressed in degrees in the trigonometric system. The default value is {\tt 0}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{arc}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{tile}{image}{Specifies an image used for filling the item with
+\attribute{arc}{tile}{image}{Specifies an image used for filling the item with
   tiles. This will be done only if filling is requested by the \ident{filled} attribute.
   This attribute has priority over the \ident{fillcolor} attribute and the \ident{fillpattern}
   attribute. The default value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{arc}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -2914,7 +3016,10 @@ Map items are used for XXX.
   to describe complex shapes with the \ident{contour} command. This command can be
   used to perform boolean operations between a curve and almost any other item
   available in \ident{zinc} including another curve. The polygon delimited by the
-  path can optionally be filled.
+  path can optionally be filled. In the following figure, two curves with four holes
+  each are in front of a text. You can partially see the text through the holes.
+
+\fig{textthroughholes.png}{Two curves with 4 holes each. A text is visible behind}
   
   It is possible to use this item as a clip item for its group, the clip shape will
   be the polygon obtained by closing the path. The vertices can be read, modified,
@@ -2922,60 +3027,60 @@ Map items are used for XXX.
 
   Applicable attributes for \ident{curve} are:
 
-\attribute{capstyle}{capstyle}{Specifies the form of the outline ends. This
+\attribute{curve}{capstyle}{capstyle}{Specifies the form of the outline ends. This
   attribute is only applicable if the curve is not closed and the outline relief is
   flat. The default value is {\tt round}.}
-\attribute{closed}{boolean}{Specifies if the curve outline should be drawn
+\attribute{curve}{closed}{boolean}{Specifies if the curve outline should be drawn
   between the first and last vertex or not. The default is {\tt true}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation
+\attribute{curve}{composerotation}{boolean}{Specifies if the current rotation
   should be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should
+\attribute{curve}{composescale}{boolean}{Specifies if the current scale should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{fillcolor}{gradientcolor}{Specifies the color that will be used to fill
+\attribute{curve}{fillcolor}{gradientcolor}{Specifies the color that will be used to fill
   the curve if requested by the \ident{filled} attribute. The default value is a
   one color gradient based on the current value of the widget option
   \ident{-foreground}.}
-\attribute{filled}{boolean}{Specifies if the item should be filled. The default
+\attribute{curve}{filled}{boolean}{Specifies if the item should be filled. The default
   value is {\tt false}.}
-\attribute{fillpattern}{bitmap}{Specifies the pattern to use when filling the
+\attribute{curve}{fillpattern}{bitmap}{Specifies the pattern to use when filling the
   item. The default value is {\tt ""}.}
-\attribute{firstend}{lineend}{Describe the arrow shape at the start of the curve.
+\attribute{curve}{firstend}{lineend}{Describe the arrow shape at the start of the curve.
   This attribute is applicable only if the item is not closed, not filled and
   the relief of the outline is flat. The default value is {\tt ""}.}
-\attribute{joinstyle}{joinstyle}{Specifies the form of the joint between the curve
+\attribute{curve}{joinstyle}{joinstyle}{Specifies the form of the joint between the curve
   segments. This attribute is only applicable if the curve outline relief is flat.
   The default value is {\tt round}.}
-\attribute{lastend}{lineend}{Describe the arrow shape at the end of the curve.
+\attribute{curve}{lastend}{lineend}{Describe the arrow shape at the end of the curve.
   This attribute is applicable only if the item is not closed, not filled and
   the relief of the outline is flat. The default value is {\tt ""}.}
-\attribute{linecolor}{gradientcolor}{Specifies the color that will be used to draw
+\attribute{curve}{linecolor}{gradientcolor}{Specifies the color that will be used to draw
   the item outline. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{linepattern}{bitmap}{Specifies the pattern to use when drawing the
+\attribute{curve}{linepattern}{bitmap}{Specifies the pattern to use when drawing the
   outline. The default value is {\tt ""}.}
-\attribute{linestyle}{linestyle}{Specifies the line style to use when drawing
+\attribute{curve}{linestyle}{linestyle}{Specifies the line style to use when drawing
   the outline. The default value is {\tt simple}.}
-\attribute{linewidth}{dimension}{Specifies the with of the item outline (not
+\attribute{curve}{linewidth}{dimension}{Specifies the with of the item outline (not
   scalable). The default value is {\tt 1}.}
-\attribute{marker}{bitmap}{Specifies a bitmap that will be used to draw a mark at
+\attribute{curve}{marker}{bitmap}{Specifies a bitmap that will be used to draw a mark at
   each vertex of the curve. This attribute is not applicable if the outline relief is
   not flat. The default value is {\tt ""} which means do not draw markers.}
-\attribute{markercolor}{gradientcolor}{Specifies the color of the markers.
+\attribute{curve}{markercolor}{gradientcolor}{Specifies the color of the markers.
   The default value is the current value of the widget option \ident{-foreground}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{curve}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 2}.}
-\attribute{relief}{relief}{Specifies the relief used to drawn the curve
+\attribute{curve}{relief}{relief}{Specifies the relief used to drawn the curve
   outline. This attribute has priority over the \ident{linecolor}, \ident{linepattern}
   and \ident{linestyle} attributes. The default value is {\tt flat}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{curve}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{curve}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{tile}{image}{Specifies an image used for filling the item with
+\attribute{curve}{tile}{image}{Specifies an image used for filling the item with
   tiles. This will be done only if filling is requested by the \ident{filled} attribute.
   This attribute has priority over the \ident{fillcolor} attribute and the
   \ident{fillpattern} attribute. The default value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{curve}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -2999,50 +3104,50 @@ Map items are used for XXX.
   
 Applicable attributes for \ident{bezier} are:
 
-\attribute{capstyle}{capstyle}{Specifies the form of the outline ends. This
+\attribute{bezier}{capstyle}{capstyle}{Specifies the form of the outline ends. This
   attribute is only applicable if the bezier is not closed and the outline relief is
   flat. The default value is {\tt round}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation should
+\attribute{bezier}{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{bezier}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}.}
-\attribute{fillcolor}{gradientcolor}{Specifies the color that will be used to fill
+\attribute{bezier}{fillcolor}{gradientcolor}{Specifies the color that will be used to fill
   the bezier if requested by the \ident{filled} attribute. The default value is a
   one color gradient based on the current value of the widget option
   \ident{-foreground}.}
-\attribute{filled}{boolean}{Specifies if the item should be filled. The default
+\attribute{bezier}{filled}{boolean}{Specifies if the item should be filled. The default
   value is {\tt false}.}
-\attribute{fillpattern}{bitmap}{Specifies the pattern to use when filling the
+\attribute{bezier}{fillpattern}{bitmap}{Specifies the pattern to use when filling the
   item. The default value is {\tt ""}.}
-\attribute{firstend}{lineend}{Describe the arrow shape at the start of the bezier.
+\attribute{bezier}{firstend}{lineend}{Describe the arrow shape at the start of the bezier.
   This attribute is applicable only if the item is not filled and the relief of the
   outline is flat. The default value is {\tt ""}.}
-\attribute{lastend}{lineend}{Describe the arrow shape at the end of the bezier.
+\attribute{bezier}{lastend}{lineend}{Describe the arrow shape at the end of the bezier.
   This attribute is applicable only if the item is not filled and the relief of the
   outline is flat. The default value is {\tt ""}.}
-\attribute{linecolor}{gradientcolor}{Specifies the color that will be used to draw
+\attribute{bezier}{linecolor}{gradientcolor}{Specifies the color that will be used to draw
   the item outline. The default value is the current value of the widget option
   \ident{-foreground}.}
-\attribute{linepattern}{bitmap}{Specifies the pattern to use when drawing the
+\attribute{bezier}{linepattern}{bitmap}{Specifies the pattern to use when drawing the
   outline. The default value is {\tt ""}.}
-\attribute{linestyle}{linestyle}{Specifies the line style to use when drawing
+\attribute{bezier}{linestyle}{linestyle}{Specifies the line style to use when drawing
   the outline. The default value is {\tt simple}.}
-\attribute{linewidth}{dimension}{Specifies the with of the item outline (not
+\attribute{bezier}{linewidth}{dimension}{Specifies the with of the item outline (not
   scalable). The default value is {\tt 1}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{bezier}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 2}.}
-\attribute{relief}{relief}{Specifies the relief used to drawn the bezier
+\attribute{bezier}{relief}{relief}{Specifies the relief used to drawn the bezier
   outline. This attribute has priority over the \ident{linecolor}, \ident{linepattern}
   and \ident{linestyle} attributes. The default value is {\tt flat}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{bezier}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{bezier}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{tile}{image}{Specifies an image used for filling the item with
+\attribute{bezier}{tile}{image}{Specifies an image used for filling the item with
   tiles. This will be done only if filling is requested by the \ident{filled} attribute.
   This attribute has priority over the \ident{fillcolor} attribute and the
   \ident{fillpattern} attribute. The default value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{bezier}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -3054,20 +3159,20 @@ Applicable attributes for \ident{bezier} are:
 
  Applicable attributes for \ident{triangles} are:
 
-\attribute{colors}{gradientarray}{Specifies the colors of each vertex of the
+\attribute{triangles}{colors}{gradientarray}{Specifies the colors of each vertex of the
  triangles XXX.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation should
+\attribute{triangles}{composerotation}{boolean}{Specifies if the current rotation should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should be
+\attribute{triangles}{composescale}{boolean}{Specifies if the current scale should be
   composed with the local transform. The default value is {\tt true}.}
-\attribute{fan}{fantype}{XXX. The default value is {\tt XXX}.}
-\attribute{priority}{integer}{The absolute position in the stacking order among
+\attribute{triangles}{fan}{fantype}{XXX. The default value is {\tt XXX}.}
+\attribute{triangles}{priority}{integer}{The absolute position in the stacking order among
   siblings of the same parent group. The default value is {\tt 2}.}
-\attribute{sensitive}{boolean}{Specifies if the item should react to events.
+\attribute{triangles}{sensitive}{boolean}{Specifies if the item should react to events.
   The default value is {\tt true}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{triangles}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{triangles}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
 
 
@@ -3096,34 +3201,34 @@ Applicable attributes for \ident{bezier} are:
   
 Applicable attributes for \ident{window} are:
 
-\attribute{anchor}{anchor}{The anchor used in positionning the item.
+\attribute{window}{anchor}{anchor}{The anchor used in positionning the item.
   The default value is {\tt nw}.}
-\attribute{composerotation}{boolean}{Specifies if the current rotation
+\attribute{window}{composerotation}{boolean}{Specifies if the current rotation
   should be composed with the local transform. The default value is {\tt true}.}
-\attribute{composescale}{boolean}{Specifies if the current scale should
+\attribute{window}{composescale}{boolean}{Specifies if the current scale should
   be composed with the local transform. The default value is {\tt true}.}
-\attribute{connecteditem}{item}{Specifies the item relative to which this
+\attribute{window}{connecteditem}{item}{Specifies the item relative to which this
   item is placed. The default value is {\tt ""}.}
-\attribute{connectionanchor}{anchor}{Specifies the anchor on the connected
+\attribute{window}{connectionanchor}{anchor}{Specifies the anchor on the connected
   item used for the placement. The default value is {\tt sw}.}
-\attribute{height}{dimension}{Specifies the height of the item window in
+\attribute{window}{height}{dimension}{Specifies the height of the item window in
   screen units. The default value is {\tt 0}.}
-\attribute{position}{position}{The item's position relative to the anchor
+\attribute{window}{position}{position}{The item's position relative to the anchor
   (if no connected item specified). The default value is {\tt "0 0"}.}
-\attribute{priority}{integer}{Constraints of the underlying window sytem
+\attribute{window}{priority}{integer}{Constraints of the underlying window sytem
   dictate the stacking order of window items. They can't be lowered under the
   other items. Additionally, to manipulate their stacking order, you must use
   the raise and lower Tk commands on the associated Tk window. The value of this
   attribute is meaningless.}
-\attribute{sensitive}{boolean}{This option has no effect on window items.
+\attribute{window}{sensitive}{boolean}{This option has no effect on window items.
   The default value is {\tt False}.}
-\attribute{tags}{taglist}{The list of tags associated with the item. The default
+\attribute{window}{tags}{taglist}{The list of tags associated with the item. The default
   value is {\tt ""}.}
-\attribute{visible}{boolean}{Specifies if the item is displayed. The default
+\attribute{window}{visible}{boolean}{Specifies if the item is displayed. The default
   value is {\tt true}.}
-\attribute{width}{dimension}{Specifies the width of the item window in
+\attribute{window}{width}{dimension}{Specifies the width of the item window in
   screen units. The default value is {\tt 0}.}
-\attribute{window}{window}{Specifies the X id of the window that is displayed
+\attribute{window}{window}{window}{Specifies the X id of the window that is displayed
   by the item. This id can be obtained by the Tk command \ident{winfo id widgetname}.
   The default value is {\tt ""}.}
 
@@ -3136,11 +3241,6 @@ Applicable attributes for \ident{window} are:
   and texts as part of a MapInfo. The \ident{mapinfo} and \ident{videomap}
   commands are provided to create and manipulate the mapinfo objects.
   
-\begin{quotation}
-  {\tt\large zinc pathname ?options?}\\
-  {\tt\large \$mainwindow->{\bf zinc}(?option=>value?, ..., ?option=>value?);}
-\end{quotation}
-
 \mapinfocmd{name}{create}{}
 \begin{blockindent}
   Create a new empty map description. The new mapinfo object named {\tt name}.
@@ -3266,21 +3366,30 @@ Applicable attributes for \ident{window} are:
 \chapter{Other resources provided by the widget}
 \concept{otherresources}
 
+In this chapter we describe resources included in \ident{zinc} widget. This
+include bitmaps sets (used as symbols for some items or used as stipples), Perl modules
+goodies and zinc simple demonstrations.
+
 \section{Bitmaps}
 \label{builtinbitmaps}
 
 Zinc creates two sets of bitmaps.
 
-The first set contains symbols for ATC tracks, maps and
-waypoints, these bitmaps are named AtcSymbol1 to AtcSymbol22.
+The first set contains symbols for ATC tracks position, waypoints position
+and maps symbols. These bitmaps are named AtcSymbol1 to AtcSymbol22.
+
+%\includeimage{atcsymb}
+
+\fig{atcsymb.png}{Bitmaps available for position of tracks, waypoints, and maps}
+
 
-\includeimage{atcsymb}
 
 The second set provides stipples that can be used to implement
 transparency, they are named AlphaStipple0 to AlphaStipple15,
 AlphaStipple0 being the most transparent.
 
-\includeimage{alphastip}
+%\includeimage{alphastip}
+\fig{alphastip.png}{Bitmaps available for creating stipples}
 
 \latexhtml{\tolerance 2000  %allow somewhat looser lines.
   \hbadness 10000}{}        %don't complain about underfull lines.
@@ -3289,18 +3398,24 @@ AlphaStipple0 being the most transparent.
 
 \section{ZincDebug.pm}
 
-\ident{ZincDebug.pm} is a perl module useful for debugging purpose. It can be used
-in a perl application using \ident{zinc} to grab items with the mouse and to get
+\ident{ZincDebug.pm} is a Perl module useful for debugging purpose. It can be used
+in a Perl application using \ident{zinc} to grab items with the mouse and to get
 the list of items enclosed or overlapped by a rectangle designated by the mouse.
-Please refer to the \ident{ZincDebug.pm} with the classical command \tt{man ZincDebug}
+You will be presented an item list, with many interesting attributes such as
+position, priority, visibility, group... and even more information on request.
+When an application uses \ident{ZincDebug.pm}, you can get a short reminder
+by depressing the \ident{esc key} in the main window of this application.
+Please refer to the \ident{ZincDebug.pm} man pages with the classical
+command {\tt man ZincDebug}
 
-\section{zinc-demo}
+\section{zinc-demos}
 
 Starting at version 3.2.4 of \ident{zinc} small applications are included as demos. They are all
 accessible through an application called \ident{zinc-demos}. These tiny demos are
-usefull for newcomers and as starting points.
+usefull for newcomers and as starting points for developing real applications.
+
+%\listoftables
 
-\listoftables
 \listoffigures
 
 \printindex
-- 
cgit v1.1

