aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorlecoanet2002-03-13 13:46:36 +0000
committerlecoanet2002-03-13 13:46:36 +0000
commit48484c953755ca0216487ed7862212e938eddcad (patch)
treeb3be3e5e335ff56db166b7cb89366bc761bc6084 /doc
parentb30699c212d94b9943c192836ae7eb4bffb09209 (diff)
downloadtkzinc-48484c953755ca0216487ed7862212e938eddcad.zip
tkzinc-48484c953755ca0216487ed7862212e938eddcad.tar.gz
tkzinc-48484c953755ca0216487ed7862212e938eddcad.tar.bz2
tkzinc-48484c953755ca0216487ed7862212e938eddcad.tar.xz
Nouvelle mouture qui devrait marcher en pdf, dvi et html. Donc
avec les commandes pdflatex, latex et latex2html. A manipuler avec soin. Pour m�moire, il est indispensable que la commande latex puisse s'executer.
Diffstat (limited to 'doc')
-rw-r--r--doc/refman.tex496
1 files changed, 226 insertions, 270 deletions
diff --git a/doc/refman.tex b/doc/refman.tex
index 3be4b21..793aea7 100644
--- a/doc/refman.tex
+++ b/doc/refman.tex
@@ -1,44 +1,50 @@
\documentclass[11pt,twoside]{book}
+%----------------------------------------------------------------------
+
+
+
\newif\ifpdf
-\ifx\pdfoutput\undefined
+ \ifx\pdfoutput\undefined
\pdffalse % we are not running PDFLaTeX
-\else
+ \else
\pdfoutput=1 % we are running PDFLaTeX
- \pdftrue
-\fi
-%----------------------------------------------------------------------
+ \pdftrue
+ \fi
\ifpdf
- \usepackage[pdftex,
- colorlinks=true,
- urlcolor=rltblue,
- anchorcolor=rltbrightblue,
- filecolor=rltgreen,
- linkcolor=rltred,
- 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.},
- pdfkeywords={tk tcl perl x11 canvas opengl script gui zinc},
- pagebackref,
- pdfpagemode=None,
- bookmarksopen=true
- ]{hyperref}
- \pdfcompresslevel=9
- \usepackage[pdftex]{graphicx}
- \usepackage{thumbpdf}
+ \usepackage[pdftex,
+ colorlinks=true,
+ urlcolor=rltblue,
+ anchorcolor=rltbrightblue,
+ filecolor=rltgreen,
+ linkcolor=rltred,
+ 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.},
+ pdfkeywords={tk tcl perl x11 canvas opengl script gui zinc},
+ pagebackref,
+ pdfpagemode=None,
+ bookmarksopen=true
+ ]{hyperref}
+ \pdfcompresslevel=9
+ \usepackage[pdftex]{graphicx}
+ \usepackage{thumbpdf}
+ \usepackage{color}
+ \definecolor{rltred}{rgb}{0.75,0,0.20}
+ \definecolor{rltgreen}{rgb}{0,0.5,0}
+ \definecolor{rltblue}{rgb}{0,0,0.75}
\else
- \usepackage{graphicx}
- \usepackage{html}
+ \usepackage{graphicx}
\fi
+
+
+\usepackage{html}
\usepackage{a4wide}
\usepackage{makeidx}
-\usepackage{color}
-\definecolor{rltred}{rgb}{0.75,0,0.20}
-\definecolor{rltgreen}{rgb}{0,0.5,0}
-\definecolor{rltblue}{rgb}{0,0,0.75}
+
\newcommand{\cident}[1] {%
{\tt #1}}
@@ -54,11 +60,7 @@
\newcommand{\option}[3]{%
\label{opt:#1}
\index{#1}
- \ifpdf
- \hyperdef{opt}{#1}{}
- \else
- \htmlrule[WIDTH="300" left]
- \fi
+ \latexhtml{\ifpdf\hyperdef{opt}{#1}{}\fi}{\htmlrule[WIDTH="300" left]}
\begin{tabular}{rl}
Command line switch: & \ident{-#1} \\
Database name: & \ident{#2} \\
@@ -68,24 +70,16 @@
\newcommand{\command}[3]{%
\label{cmd:#2}
\index{#2}
- \ifpdf
- \hyperdef{cmd}{#2}{}
- \else
- \htmlrule[WIDTH="300" left]
- \fi
+ \latexhtml{\ifpdf\hyperdef{cmd}{#2}{}\fi}{\htmlrule[WIDTH="300" left]}
{\tt\large #1 {\bf #2} #3}}
\newcommand{\zinccmd}[2]{%
\command{pathname}{#1}{#2}}
\newcommand{\mapinfocmd}[3]{%
- \label{mpcmd:#2}
+ \label{mapcmd:#2}
\index{#2}
- \ifpdf
- \hyperdef{mapcmd}{#2}{}
- \else
- \htmlrule[WIDTH="300" left]
- \fi
+ \latexhtml{\ifpdf\hyperdef{mapcmd}{#2}{}\fi}{\htmlrule[WIDTH="300" left]}
{\tt\large mapinfo #1 {\bf #2} #3}\\
{\tt\large \$zinc->mapinfo(#1, {\bf #2}, #3) }
% slightly buggy XXX : missing commas when #3 contains many words
@@ -94,88 +88,77 @@
\newcommand{\attrtype}[1]{%
\label{attrtype:#1}
\index{#1}
- \ifpdf
- \hyperdef{attrtype}{#1}{}
- \else
- \htmlrule[WIDTH="300" left]
- \fi
+ \latexhtml{\ifpdf\hyperdef{attrtype}{#1}{}\fi}{\htmlrule[WIDTH="300" left]}
{\tt {\bf #1}}
\vspace{-2\parskip}}
\newcommand{\available}[1]{%
- \ifpdf
- \hyperlink{obj.#1}{\ident{#1}}
- \else
- \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{obj:#1}
- \fi
+ \latexhtml{\ifpdf\hyperlink{obj.#1}{\ident{#1}}\fi}{%
+ \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{obj:#1}}
}
\newcommand{\refopt}[1]{%
- \ifpdf
- \hyperlink{opt.#1}{\ident{#1}}
- \else
- \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{opt:#1}
- \fi
+ \latexhtml{\ifpdf\hyperlink{opt.#1}{\ident{#1}}\fi}{%
+ \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{opt:#1}}
}
\newcommand{\cmdref}[1]{%
\index{#1}
- \ifpdf
- \hyperlink{cmd.#1}{\ident{#1}}
- \else
- \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{cmd:#1}
- \fi
+ \latexhtml{\ifpdf\hyperlink{cmd.#1}{\ident{#1}}\fi}{%
+ \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{cmd:#1}}
}
\newcommand{\attribute}[3]{%
\label{attribute:#1}
\ident{-#1 }%
- \ifpdf%
- \hyperlink{attrtype.#2}{\ident{#2}}
- \else%
- \hyperref[no]{\tt \bf #2}{\ident{#2}}{attrtype:#2}%
- \fi%
+ \latexhtml{\ifpdf\hyperlink{attrtype.#2}{\ident{#2}}\fi}{%
+ \hyperref[no]{\tt \bf #2}{\ident{#2}}{attrtype:#2}}
\begin{quotation}#3\end{quotation}
}
\newcommand{\attributeref}[1]{%
- \ifpdf%
- \hyperlink{attribute.#1}{\ident{-#1}}
- \else%
- \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{attribute:#1}
- \fi%
+ \latexhtml{\ifpdf\hyperlink{attribute.#1}{\ident{-#1}}\fi}{%
+ \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{attribute:#1}}
}
\newcommand{\object}[1]{%
\label{obj:#1}
- \ifpdf
- \hyperdef{obj}{#1}{}
- \fi
+ \latexhtml{\ifpdf\hyperdef{obj}{#1}{}\fi}{}
}
\newcommand{\concept}[1]{%
\label{concept:#1}
- \ifpdf
- \hyperdef{concept}{#1}{}
- \fi
+ \latexhtml{\ifpdf\hyperdef{concept}{#1}{}\fi}{}
}
\newcommand{\objectref}[1]{%
- \ifpdf
- \hyperlink{obj.#1}{\ident{#1}}
- \else
- \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{obj:#1}
- \fi
+ \latexhtml{\ifpdf\hyperlink{obj.#1}{\ident{#1}}\fi}{%
+ \hyperref[page]{\ident{#1}}{\ident{#1} (}{)}{obj:#1}}
}
\newcommand{\conceptref}[2]{%
- \ifpdf
- \hyperlink{concept.#2}{\ident{#1}}
- \else
- \hyperref[page]{#1}{#1 (page }{)}{concept:#2}
- \fi
+ \latexhtml{\ifpdf\hyperlink{concept.#2}{\ident{#1}}\fi}{%
+ \hyperref[page]{#1}{#1 (page }{)}{concept:#2}}
}
+\newcommand{\includeimage}[1]{%
+ \latexhtml{\ifpdf\includegraphics{#1.png}\else\includegraphics{#1.eps}\fi}{%
+ \htmladdimg{#1.png}}
+ }
+
+% Premier parametre nom du fichier image
+% Deuxieme parametre legende
+% Troisieme parametre label
+\newcommand{\includefigure}[3]{%
+ \latexhtml{
+ \begin{figure}[htbp]
+ \centering
+ \ifpdf\includegraphics{#1.png}\else\includegraphics{#1.eps}\fi
+ \caption{#2}
+ \label{#3}
+ \end{figure}}{
+ \htmladdimg{#1.png}}
+ }
\makeindex
@@ -190,43 +173,47 @@
\begin{document}
-\DeclareGraphicsExtensions{.png,.ps,.eps,.pdf}
+\latex{\DeclareGraphicsExtensions{.png,.ps,.eps,.pdf}}
\maketitle
\tableofcontents
-\concept{introduction}
\chapter{Introduction}
+\concept{introduction}
-\section{What is this document about?}
+\section{What is this document about ?}
This reference manual describes the Tk \ident{zinc} widget interface. It shows
how to create and configure a \ident{zinc} widget, and how to use the commands
-it provides to create and manipulate items. As the \ident{zinc} widget is very similar
-to the Tk canvas widget, this document is structured in a very similar way. The next chapter
-\conceptref{Widget options}{options} describes how to create a new widget and which options
-and resources are available. The chapter \conceptref{Groups, Display List and Transformations}{coordinates}
+it provides to create and manipulate items. As the \ident{zinc} widget is very
+similar to the Tk canvas widget, this document is structured in a very similar
+way. The next chapter \conceptref{Widget options}{options} describes how to
+create a new widget and which options and resources are available. The chapter
+\conceptref{Groups, Display List and Transformations}{coordinates}
describes the use of groups and coordinates transformations. The chapter
-\conceptref{Item IDs and Tags}{tagOrId} describes the Items ID as well as tags and some special
-tags. It also describes the notion of field tags used with some items (\objectref{track},
-\objectref{waypoint}, \objectref{tabular}) and the notion of partNames for items \objectref{track} and
-\objectref{waypoint}. Then the chapter \conceptref{Indices}{indices} describes the use of indices XXX.
-The important {\bf chapter \conceptref{Widget commands}{commands}} describes the 50 commands which
-apply to a \ident{zinc} widget. They are used for
+\conceptref{Item IDs and Tags}{tagOrId} describes the Items ID as well as tags
+and some special tags. It also describes the notion of field tags used with some
+items (\objectref{track}, \objectref{waypoint}, \objectref{tabular}) and the
+notion of partNames for items \objectref{track} and \objectref{waypoint}. Then
+the chapter \conceptref{Indices}{indices} describes the use of indices XXX.
+The important {\bf chapter \conceptref{Widget commands}{commands}} describes the 50
+commands which apply to a \ident{zinc} widget. They are used for
creating, modifying or deleting objects, applying transformation... The chapter
-\conceptref{Attributes Types}{types} describes the type of all attributes (or options)
-available for the items described in the important {\bf chapter \conceptref{Item types}{items}}.
-The chapter \conceptref{Labels, fields and label}{labelsandfields} describes the use of labels,
-the possible attributes of label fields and finally the labelformat syntax. The chapter
-\conceptref{The mapinfo commands}{mapinfocmds} describes the use of mapinfo, a kind of
-simple map, which can be build by commands listed in this chapter. The chapter
-\conceptref{The videomap commands}{videomapcmds} describes the use of videomap,
-a proprietary format of simple map 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}?}
+\conceptref{Attributes Types}{types} describes the type of all attributes
+(or options) available for the items described in the important {\bf chapter
+\conceptref{Item types}{items}}.
+The chapter \conceptref{Labels, fields and label}{labelsandfields} describes
+the use of labels, the possible attributes of label fields and finally the
+labelformat syntax. The chapter \conceptref{The mapinfo commands}{mapinfocmds}
+describes the use of mapinfo, a kind of simple map, which can be build by
+commands listed in this chapter. The chapter \conceptref{The videomap commands}
+{videomapcmds} describes the use of videomap, a proprietary format of simple map
+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} ?}
\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
@@ -250,27 +237,8 @@ As an exemple of \ident{zinc} capabilities when combined with openGL, we reprodu
with Illustrator (from Adobe) and then programmed as a perl module. It is now delivered
as a \ident{zinc} goodies.
-\ifpdf
- \includegraphics{tkzinclogo}
-\else
-\latexhtml{
- \htmladdimg{tkzinclogo.png}
- }
-\fi
-
-\ifpdf
-\begin{figure}[htbp]
-\centering
-\includegraphics{tkzinclogo}
-\caption{Logo Zinc written as a Perl/zinc module}
-\label{fig:logozinc}
-\end{figure}
-\else
-\latexhtml{
- \htmladdimg{tkzinclogo.png}
- }
-\fi
+\includefigure{tkzinclogo}{Zinc logo written as a Perl/zinc module}{fig:logozinc}
The \ident{zinc} widget is available for the Tcl/Tk and the Perl/Tk environment.
@@ -279,7 +247,7 @@ oriented but it should be easy for Python programmers to adapt. Every time a
\ident{zinc} command is described in this document, it is given first in Tcl/Tk
idiom and then in Perl/Tk idiom.
-\section{Where can I find zinc and documentation?}
+\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
@@ -351,23 +319,25 @@ in \ident{zinc} development. We are managing a mailing list. To subscribe, pleas
consult the web site http://www.openatc.org/Zinc/ .
\begin{itemize}
-\item The very first way to contribute is to use \ident{zinc} and to report any bug or
-problem you may experiment. Of course, if you propose a correction or a patch, your
-report will be easer to take into account.
-\item The second way to contribute is by commenting and proposing enhancement to this
-reference manual. As it has been written by french native writers, native english
-writers may really help in making this document easier to read. If you really
-feel ambitious, you may even try to write a tutorial, but that is a real challenge!
-\item The third way to contribute (and may be the funniest way) is to enriche the set
-of small demos (see chapter \conceptref{Other resources provided by the widget}{otherresources}).
-Feel free to send us your productions. They may be simple but demonstrative or more complex.
-It is up to you! They will be integrated in the next release of \ident{zinc} if they are
-worth it.
+\item The very first way to contribute is to use \ident{zinc} and to report
+any bug or problem you may experiment. Of course, if you propose a correction
+or a patch, your report will be easer to take into account.
+\item The second way to contribute is by commenting and proposing enhancement
+to this reference manual. As it has been written by french native writers, native
+english writers may really help in making this document easier to read. If you
+really feel ambitious, you may even try to write a tutorial, but that is a real
+challenge!
+\item The third way to contribute (and may be the funniest way) is to enriche the
+set of small demos (see chapter \conceptref{Other resources provided by the
+widget}{otherresources}). Feel free to send us your productions. They may be
+simple but demonstrative or more complex.
+It is up to you! They will be integrated in the next release of \ident{zinc} if
+they are worth it.
\end{itemize}
-\concept{options}
\chapter{Widget options}
+\concept{options}
The \ident{zinc} command creates a new \ident{zinc} widget, the general form is
\begin{quotation}
@@ -382,9 +352,9 @@ 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
-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)
+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).
\option{borderwidth}{borderWidth}{BorderWidth}
@@ -628,76 +598,108 @@ describes the use of groups)
\end{blockindent}
-\concept{coordinates}
\chapter{Groups, Display List and Transformations}
+\concept{coordinates}
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:
-\itemize
+\begin{itemize}
\item to apply them transformation (translation, rotation or scaling)
\item appl
+\end{itemize}
+
+\section{The root group}
-\section{The root group 1}
-When creating an other item
-(such as an \objectref{track}, a \objectref{rectangle}, or a \objectref{curve}) it is
-always put inside a group. Only the root group, the group 1, is not explicitly created
-in a group; in fact it is created jointly with the \ident{zinc} widget, and by convention,
-the group of group 1 is in the group 1 itself. It is not possible to change the
-group of the root group 1.
+When creating an other item (such as an \objectref{track},
+a \objectref{rectangle}, or a \objectref{curve}), it is always created
+inside a group. The root group (group 1) is not explicitly created.
+In fact it is created jointly with the \ident{zinc} widget, and by
+convention, the group 1 is its own group.
+It is not possible to change the group of the root group and it is not
+possible to delete it.
\section{Priority and display list}
-Groups and the items \ident{-priority} attributes are sued together for ordering the order
-in which objects are displayed. The algorithm is the following :
+Groups and the items \ident{-priority} attributes are sued together for
+ordering the order in which objects are displayed. The algorithm is the
+following :
\begin{itemize}
\item{rule 1} The drawing starts from the root group 1
\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 (having 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}, \cmdref{lower}, or \cmdref{itemconfigure} with the
+attribute \ident{-priority}.
\section{Transformation and groups}
-Items grouped together inside a 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
+Items grouped together inside a 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
the transformated group.
-However, every object have the attributes \ident{-composescale} and \ident{-composerotation}. These attributes
-are defaulted 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.
+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.
-For converting coordinates between two coordinates systems, (i.e. between two groups) you must use the \cmdref{transform} command. For being able to convert to/from the device coordinate, the only way to proceed is to use the \cmdref{transform} comman to/from a group having the same coordinate system as the device coordinate. That is why {\bf it is highly recommended not to apply transforms to the root group 1}. This garantee that the coordinate system of group 1 is always equivalent to the device coordinates (except for a translation depending on the toplevel window position).
+For converting coordinates between two coordinates systems, (i.e. between two
+groups) you must use the \cmdref{transform} command. For being able to convert
+to/from the device coordinate, the only way to proceed is to use the
+\cmdref{transform} comman to/from a group having the same coordinate
+system as the device coordinate. That is why {\bf it is highly recommended not to
+ apply transforms to the root group 1}. This garantee that the coordinate
+system of the root group is always equivalent to the window coordinates.
\section{Attributes propagated to the group children}
The following attributes are propagated to the group children:
\begin{itemize}
-\item\ident{-sensitive} : the sensitivity (to keyboards or mouse event) can be set at the group level,
+\item\ident{-sensitive} : the sensitivity (to keyboards or mouse event) can be
+ set at the group level,
\item\ident{-visible} : the visibility can be set at the group level,
-\item\ident{-alpha} : the alphablending (i.e. the transparency) can be set at the group level. However this will work only if the \ident{zinc} widget support the openGL rendering.
+\item\ident{-alpha} : the alpha-blending (i.e. the transparency) can be set at
+ the group level. However this will work only if the \ident{zinc} widget
+ support the openGL rendering.
\end{itemize}
\section{Clipping and groups}
-All the items inside a group can be clipped with one of the item (the ``clipper'') of the group. The clipper item must be of the following type: \objectref{rectangle}, \objectref{curve}, \objectref{bezier}, \objectref{arc}. XXX TBC! As items \objectref{curve} can have multiple contours (i.e. with hole(s) or made of disjoint parts) this allows the design of some objects very trickky or weird to implement with other widgets or toolkits.
+All the items inside a group can be clipped with one of the item (the ``clipper'')
+of the group. The clipper item must be of the following type:
+ \objectref{rectangle}, \objectref{curve}, \objectref{bezier}, \objectref{arc}.
+ XXX TBC! As items \objectref{curve} can have multiple contours
+(i.e. with hole(s) or made of disjoint parts) this allows the design of
+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 and treat 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, thus modifying the group comportment.
+A group may be \attributeref{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,
+thus modifying the group comportment.
-A group may be cloned with the \cmdref{clone} command. This will clone the group and all its children.
+A group may be cloned with the \cmdref{clone} command. This will clone the group
+and all its children.
-Finally, a group may be deleted as a whole with the \cmdref{remove} command. However, it is also possible to delete only a child, by applying the \cmdref{remove} command directly to the child.
+Finally, a group may be deleted as a whole with the \cmdref{remove} command.
+However, it is also possible to delete only a child, by applying the
+\cmdref{remove} command directly to the child.
-\concept{tagOrId}
\chapter{Item IDs and Tags}
+\concept{tagOrId}
id
tag all
@@ -711,13 +713,13 @@ n'étant employes que par bind doit-on les décrire ici ou dans la commande ?
Parler de current, all.
-\concept{indices}
\chapter{Indices}
+\concept{indices}
XXX c'est quoi? Voir la commande index.
-\concept{commands}
\chapter{Widget commands}
+\concept{commands}
The available commands are listed in alphabetical order.
@@ -1854,8 +1856,8 @@ reference) and all list parameters are given as array references.
\end{blockindent}
-\concept{types}
\chapter{Attribute types}
+\concept{types}
\attrtype{alignment}
\begin{blockindent}
@@ -2177,12 +2179,12 @@ reference) and all list parameters are given as array references.
-\concept{labelsandfields}
\chapter{Labels, label formats and fields}
+\concept{labelsandfields}
+\section {Labels, label formats}
\concept{label}
\concept{labelformat}
-\section {Labels, label formats}
\object{field}
\section{Attributes for fields}
@@ -2250,8 +2252,8 @@ Applicable attributes for fields are:
Specifies if the field is displayed. The default value is {\tt true}.}
-\concept{items}
\chapter{Item types}
+\concept{items}
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
@@ -2260,8 +2262,8 @@ use special parameters with some command. Those cases are noted in the descripti
of the item.
-\object{group}
\section{Group items}
+\object{group}
Group items are used for grouping objects together. Their usage is
very powerfull and their use is best described in a previous chapter
@@ -2294,8 +2296,8 @@ Applicable attributes for \ident{group} are:
displayed. The defaut value is {\tt true}.}
-\object{track}
\section{Track items}
+\object{track}
Track items have been designed for figuring out typical radar information
for Air Traffic Control. However they may certainly be used by other kinds of
@@ -2324,16 +2326,18 @@ be set such as color, width, ticks... Its partName is \ident{speedvector}
The following picture shows a simple \ident{track} with a label of 5 fields and 5 past positions.
-\ifpdf
- \includegraphics{trackexemple}
-\else
-\latexhtml{
- \htmladdimg{trackexemple.png}
- }
-\fi
+\includeimage{trackexemple}
-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. It also avoids that the label overlap the speedvector. This manager is stable over time: there should be few cases where labels are moved to a very different 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.
+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.
+It also avoids that the label overlap the speedvector. This manager is stable
+over time: there should be few cases where labels are moved to a very different
+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.
Applicable attributes for \ident{track}
@@ -2456,8 +2460,8 @@ The default is {\tt false}.}
be displayed. The default value is {\tt 6}.}
-\object{waypoint}
\section{WayPoint items}
+\object{waypoint}
Waypoints items have been initially designed for figuring out typical fixed position
objects (i.e. beacons or fixes in the ATC vocabulary) with
@@ -2562,8 +2566,8 @@ Applicable attributes for \ident{waypoint} are:
value is {\tt true}.}
-\object{tabular}
\section{Tabular items}
+\object{tabular}
Tabular items have been initially designed for displaying block of textual
information, organised in lists or spread out on a radar display.
@@ -2603,8 +2607,8 @@ Applicable attributes for \ident{tabular} are:
value is {\tt true}.}
-\object{text}
\section{Text items}
+\object{text}
Text items are used for displaying text. They can also be used for text input.
In this case, they must get the focus for keyboards events with the command \cmdref{focus}.
@@ -2659,8 +2663,8 @@ Applicable attributes for \ident{text} are:
The default value is {\tt 0}.}
-\object{icon}
\section{Icon items}
+\object{icon}
Icon items are used for XXX.
@@ -2697,8 +2701,8 @@ Applicable attributes for \ident{icon} are:
value is {\tt true}.}
-\object{reticle}
\section{Reticle items}
+\object{reticle}
Reticle items are used for XXX.
@@ -2742,8 +2746,8 @@ Applicable attributes for \ident{reticle} are:
value is {\tt true}.}
-\object{map}
\section{Map items}
+\object{map}
Map items are used for XXX.
@@ -2779,8 +2783,8 @@ Map items are used for XXX.
value is {\tt true}.}
-\object{rectangle}
\section{Rectangle items}
+\object{rectangle}
Items of type \ident{rectangle} display a rectangular shape, optionally
@@ -2830,9 +2834,8 @@ Map items are used for XXX.
value is {\tt true}.}
-\object{arc}
\section{Arc items}
-
+\object{arc}
Items of type \ident{arc} display an oval section, optionally filled,
delimited by two angles. The oval is described by its enclosing rectangle.
@@ -2902,8 +2905,8 @@ Map items are used for XXX.
value is {\tt true}.}
-\object{curve}
\section{Curve items}
+\object{curve}
Items of type \ident{curve} display a path of line segments connected by their
@@ -2976,8 +2979,8 @@ Map items are used for XXX.
value is {\tt true}.}
-\object{bezier}
\section{Bezier items}
+\object{bezier}
Items of type \ident{bezier} display a path of Bezier cubic segments connected
@@ -3043,15 +3046,16 @@ Applicable attributes for \ident{bezier} are:
value is {\tt true}.}
-\object{triangles}
\section{Triangles items}
+\object{triangles}
Triangles items are used for XXX.
Applicable attributes for \ident{triangles} are:
-\attribute{colors}{gradientarray}{Specifies the colors of each vertex of the triangles XXX.}
+\attribute{colors}{gradientarray}{Specifies the colors of each vertex of the
+ triangles XXX.}
\attribute{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
@@ -3067,8 +3071,8 @@ Applicable attributes for \ident{bezier} are:
value is {\tt true}.}
-\object{window}
\section{Window items}
+\object{window}
Items of type \ident{window} display an X11 window at a given position in the
widget.
@@ -3124,16 +3128,8 @@ Applicable attributes for \ident{window} are:
The default value is {\tt ""}.}
-<<<<<<< variant A
-\concept{mapinfocmds}
\chapter{The mapinfo commands}
->>>>>>> variant B
-\chapter{The mapinfo command}
-\label{mapinfocmd}
-####### Ancestor
-\chapter{The \ident{mapinfo} command}
-\label{mapinfocmd}
-======= end
+\concept{mapinfocmds}
MapInfo objects are used to describe graphical primitives that will be
displayed in map items. It is possible to describe lines, arcs, symbols
@@ -3246,14 +3242,8 @@ Applicable attributes for \ident{window} are:
-<<<<<<< variant A
-\concept{videomapcmds}
\chapter{The videomap commands}
->>>>>>> variant B
-\chapter{The videomap command}
-####### Ancestor
-\chapter{The \ident{videomap} command}
-======= end
+\concept{videomapcmds}
\command{videomap}{ids}{fileName}
\begin{blockindent}
@@ -3273,8 +3263,8 @@ Applicable attributes for \ident{window} are:
-\concept{otherresources}
\chapter{Other resources provided by the widget}
+\concept{otherresources}
\section{Bitmaps}
\label{builtinbitmaps}
@@ -3284,51 +3274,17 @@ Zinc creates two sets of bitmaps.
The first set contains symbols for ATC tracks, maps and
waypoints, these bitmaps are named AtcSymbol1 to AtcSymbol22.
-<<<<<<< variant A
-\ifpdf
- \includegraphics{atcsymb}
-\else
-\latexhtml{
->>>>>>> variant B
-\ifpdf
- \includegraphics{atcsymb}
-\else
-\latexhtml{%
- \includegraphics{atcsymb.ps}}{%
-####### Ancestor
-\latexhtml{%
- \includegraphics{atcsymb.ps}}{%
-======= end
- \htmladdimg{atcsymb.png}
- }
-\fi
+\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.
-<<<<<<< variant A
-\ifpdf
- \includegraphics{alphastip}
-\else
-\latexhtml{
->>>>>>> variant B
-\ifpdf
- \includegraphics{alphastip}
-\else
-\latexhtml{%
- \includegraphics{alphastip.ps}}{%
-####### Ancestor
-\latexhtml{%
- \includegraphics{alphastip.ps}}{%
-======= end
- \htmladdimg{alphastip.png}
- }
-\fi
+\includeimage{alphastip}
+
+\latexhtml{\tolerance 2000 %allow somewhat looser lines.
+ \hbadness 10000}{} %don't complain about underfull lines.
-\ifpdf\else\latex {\tolerance 2000 %allow somewhat looser lines.
- \hbadness 10000 } %don't complain about underfull lines.
-\fi
\section{ZincDebug.pm}