<?xml version="1.0" encoding="UTF-8"?>
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="swap_handles">
    <refnamediv>
        <refname>swap_handles</refname>
        <refpurpose>Permute deux handle dans la
            hiérarchie graphique.
        </refpurpose>
    </refnamediv>
    <refsynopsisdiv>
        <title>Séquence d'appel</title>
        <synopsis>swap_handle( handle1, handle2 )</synopsis>
    </refsynopsisdiv>
    <refsection>
        <title>Paramètres</title>
        <variablelist>
            <varlistentry>
                <term>handle1</term>
                <listitem>
                    <para>premier handle de la permutation.</para>
                </listitem>
            </varlistentry>
            <varlistentry>
                <term>handle2</term>
                <listitem>
                    <para>second handle de la permutation.</para>
                </listitem>
            </varlistentry>
        </variablelist>
    </refsection>
    <refsection>
        <title>Description</title>
        <para>La fonction swap_handles permet de permuter deux handles dans la
            hierarchie graphique. Le premier prend la place du second et
            inversement.
        </para>
        <para>Comme tous les handles graphiques ne sont pas compatibles entre eux, il
            existe des restrictions quant à l'utilisation de la routine. Il est
            par exemple impossible de permuter un handle polyline et un handle axes,
            ils ne seraient alors plus compatible avec leur nouveaux parents. Pour
            plus d'information à ce sujet, on peut se reporter à la page
            <link linkend="graphics_entities">graphics_entities</link> .
        </para>
        <para>La routine peut-être utilisée pour modifier les indices des enfants
            d'un handle.
        </para>
    </refsection>
    <refsection>
        <title>Exemples</title>
        <programlisting role="example"><![CDATA[
//------------------//
//  Premier exemple //
//------------------//

// creation d'un rectangle
xrect( 0.5, 0.5,0.5,0.5) ;
rect = gce() ;

// creation d'un cercle
xarc( 0.5, 0.5, 0.5, 0.5, 0, 64 * 360 ) ;
circle = gce() ;

// creation d'une flèche
xpoly([0,1],[0,1]) ;
arrow = gce() ;
arrow.polyline_style = 4 ;
arrow.arrow_size_factor = 4 ;

// affichage de la liste des enfants
axes = gca()  ;
axes.children

// modification de l'odre des enfants
swap_handles( rect, arrow ) ;
swap_handles( arrow, circle ) ;

// affichage du nouvel ordre
axes.children

//-------------------//
//  Deuxième exemple //
//-------------------//

// creation de deux fenêtres
plot2d ;
axes1 = gca() ;

scf() ;
fec ;
axes2 = gca() ;

// parmutation de leurs axes respectifs
// Onpeut noter que les axes héritent de la color map de leur nouvelle fenêtre.
swap_handles( axes1, axes2 ) ;
 ]]></programlisting>
    </refsection>
    <refsection role="see also">
        <title>Voir aussi</title>
        <simplelist type="inline">
            <member>
                <link linkend="graphics_entities">graphics_entities</link>
            </member>
            <member>
                <link linkend="copy">copy</link>
            </member>
            <member>
                <link linkend="delete">delete</link>
            </member>
        </simplelist>
    </refsection>
</refentry>
