<sect1 id="scripting-data-structure">
<title
>Programmeringsgränssnitt för alla datastrukturer</title>
<sect2>
<title
>Abstrakt datastrukturobjekt</title>
<para
>Den abstrakta datastrukturen definierar en uppsättning dataelement och möjliga anslutningar mellan dem. Den är prototyp för alla andra datastrukturer. Datastrukturer identifieras med sina namn. Låt oss anta att du skapade en datastruktur vid namn <literal
>testgraf</literal
>. Då kan du komma åt datastrukturen genom att helt enkelt skriva identifieraren. För att exempelvis hämta ett fält med alla dataelement i den angivna datastrukturen, kan du skriva <literal
>testgraf.list_nodes();</literal
> i skriptet. </para>

<sect3>
<title
>Egenskaper</title>
<itemizedlist>
    <listitem>
        <para
><emphasis
>name</emphasis
>:  </para>
        <para
>Den här datastrukturens unika namn.</para>
    </listitem>
</itemizedlist>
</sect3>
</sect2>

<sect2>
<title
>Abstrakt data</title>
<para
>Ett abstrakt dataelement är en enhet information som hör till en abstrakt datastruktur och möjligtvis är anslutet till andra dataelement med pilar. </para>

<sect3>
<title
>Egenskaper</title>
<itemizedlist>
    <listitem>
        <para
><emphasis
>width</emphasis
>: :  </para>
        <para
>Det här dataelementets storlek.</para>
    </listitem>

    <listitem>
        <para
><emphasis
>x</emphasis
>:  </para>
        <para
>Det här dataelementets X-koordinat.</para>
    </listitem>

    <listitem>
        <para
><emphasis
>y</emphasis
>:  </para>
        <para
>Det här dataelementets Y-koordinat.</para>
    </listitem>

    <listitem>
        <para
><emphasis
>id</emphasis
>:  </para>
        <para
>Det här dataelementets unika identifierare.</para>
    </listitem>

    <listitem>
        <para
><emphasis
>color</emphasis
>:  </para>
        <para
>Det här dataelementets färg angiven som ett hexadecimalt värde.</para>
    </listitem>
</itemizedlist>
</sect3>
</sect2>


<sect2>
<title
>Abstrakt pil</title>
<para
>En pil ansluter två dataelement och kan själv innehålla information i sina egenskaper. </para>
<sect3>
<title
>Egenskaper</title>
<itemizedlist>
    <listitem>
        <para
><emphasis
>width</emphasis
>: :  </para>
        <para
>Anslutningens bredd.</para>
    </listitem>

    <listitem>
        <para
><emphasis
>directed</emphasis
>:  </para>
        <para
>Om sant, är anslutningen riktat. Annars är anslutningen oriktad.</para>
    </listitem>

    <listitem>
        <para
><emphasis
>from</emphasis
>:  </para>
        <para
>Anslutningens början</para>
    </listitem>

    <listitem>
        <para
><emphasis
>to</emphasis
>:  </para>
        <para
>Anslutningens slut</para>
    </listitem>

    <listitem>
        <para
><emphasis
>color</emphasis
>:  </para>
        <para
>Anslutningstypens identifierare.</para>
    </listitem>
</itemizedlist>
</sect3>


<sect3>
<title
>Metoder</title>
<variablelist>

    <varlistentry>
    <term
>remove()</term>
    <listitem>
        <para
>Ta bort den här anslutningen.</para>
    <funcsynopsis
><funcprototype
><funcdef
>void <function
>remove</function
></funcdef
> <paramdef
></paramdef
> </funcprototype>
    </funcsynopsis>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term
>add_property(namn, värde)</term>
    <listitem>
        <para
>Lägg till en ny egenskap i anslutningen.</para>
    <funcsynopsis
><funcprototype
><funcdef
>void <function
>add_property</function
></funcdef
> <paramdef
>string <parameter
><replaceable
>namn</replaceable
></parameter
></paramdef
> <paramdef
>string <parameter
><replaceable
>värde</replaceable
></parameter
></paramdef
> </funcprototype>
    </funcsynopsis>
    </listitem>
    </varlistentry>

    <varlistentry>
    <term
>remove_property(namn)</term>
    <listitem>
        <para
>Ta bort en befintlig egenskap från anslutningen.</para>
    <funcsynopsis
><funcprototype
><funcdef
>void <function
>remove_property</function
></funcdef
> <paramdef
>string <parameter
><replaceable
>namn</replaceable
></parameter
></paramdef
> </funcprototype>
    </funcsynopsis>
    </listitem>
    </varlistentry>
</variablelist>
</sect3>

</sect2>
</sect1>
