aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authormertz2002-03-14 17:00:15 +0000
committermertz2002-03-14 17:00:15 +0000
commit3284ef2fa7da1f6076de92d39e06643d3ca05350 (patch)
tree155ef49eebc94b3533b6da8b71c50485f7be03a0 /doc
parent0248e7b91004363cf7cc1b0cdbe19b0c9fa36dbe (diff)
downloadtkzinc-3284ef2fa7da1f6076de92d39e06643d3ca05350.zip
tkzinc-3284ef2fa7da1f6076de92d39e06643d3ca05350.tar.gz
tkzinc-3284ef2fa7da1f6076de92d39e06643d3ca05350.tar.bz2
tkzinc-3284ef2fa7da1f6076de92d39e06643d3ca05350.tar.xz
nombreuses �volutions (images, texte...)
Diffstat (limited to 'doc')
-rw-r--r--doc/refman.tex885
1 files changed, 500 insertions, 385 deletions
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