<sect1> <title >Programmeringsgränssnittet för grafer</title> <para >Dialogrutan för datastrukturegenskaper gör det möjligt att anpassa inställningar som är specifika för grafgränssnittet. Där kan du använda <guilabel >Graftyp</guilabel > för att välja grafens typ. Betydelsen av typerna är följande: </para> <itemizedlist> <listitem ><para ><guilabel >Graf</guilabel >: Graf där samma bågar (med avseende på start- och slutpunkt) inte får finnas flera gånger. </para ></listitem> <listitem ><para ><guilabel >Multigraf</guilabel >: Graf där likadana bågar (med avseende på start- och slutpunkt) kan finnas flera gånger. </para ></listitem> </itemizedlist> <sect2> <title >Grafdatastruktur</title> <para >Ett grafobjekt innehåller information om en datastruktur av typen <quote >Graph</quote >. </para> <sect3> <title >Egenskaper</title> <itemizedlist> <listitem> <para ><emphasis >name</emphasis > </para> <para >Den här datastrukturens unika namn.</para> </listitem> </itemizedlist> </sect3> <sect3> <title >Metoder</title> <variablelist> <varlistentry> <term >nodes()</term> <listitem> <para >Returnera en lista med alla noder i grafen.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >nodes</function ></funcdef > <paramdef ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >nodes(typ)</term> <listitem> <para >Returnera en lista med alla noder i grafen av angiven typ.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >nodes</function ></funcdef > <paramdef >int <parameter ><replaceable >typ</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >edges()</term> <listitem> <para >Returnera en lista med alla bågar i grafen.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >edges</function ></funcdef > <paramdef ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >edges(typ)</term> <listitem> <para >Returnera en lista med alla bågar i grafen av angiven typ.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >edges</function ></funcdef > <paramdef >int <parameter ><replaceable >typ</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >createNode(typ)</term> <listitem> <para >Skapar en ny nod med den angivna typen och returnerar den skapade noden. Om typen inte är registrerad, skapas inte någon nod.</para> <funcsynopsis ><funcprototype ><funcdef >GraphNode <function >createNode</function ></funcdef > <paramdef >int <parameter ><replaceable >typ</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >createNode()</term> <listitem> <para >Skapar en ny nod med förvald typ och returnerar den skapade noden.</para> <funcsynopsis ><funcprototype ><funcdef >GraphNode <function >createNode</function ></funcdef > <paramdef ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >createEdge(från, till, typ)</term> <listitem> <para >Skapar en båge från noden "from" till noden "to" med den angivna typen och returnerar den skapade bågen Om typen inte är registrerad, skapas inte någon båge.</para> <funcsynopsis ><funcprototype ><funcdef >GraphEdge <function >createEdge</function ></funcdef > <paramdef >GraphNode <parameter ><replaceable >from</replaceable ></parameter ></paramdef > <paramdef >GraphNode <parameter ><replaceable >to</replaceable ></parameter ></paramdef > <paramdef >int <parameter ><replaceable >typ</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >createEdge(från, till)</term> <listitem> <para >Skapar en båge från noden "from" till noden "to" med förvald typ och returnerar den skapade bågen.</para> <funcsynopsis ><funcprototype ><funcdef >GraphEdge <function >createEdge</function ></funcdef > <paramdef >GraphNode <parameter ><replaceable >från</replaceable ></parameter ></paramdef > <paramdef >GraphNode <parameter ><replaceable >till</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >distances(från)</term> <listitem> <para >Returnerar ett fält med kortaste väg från den här noden till alla andra noder i grafen.</para> <funcsynopsis ><funcprototype ><funcdef >Array <function >distances</function ></funcdef > <paramdef >GraphNode <parameter ><replaceable >från</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> </variablelist> </sect3> </sect2> <sect2> <title >Grafnod</title> <para >En nod är dataelementet i en graf. </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> <sect3> <title >Metoder</title> <variablelist> <varlistentry> <term >neighbors()</term> <listitem> <para >Returnera en lista med alla noder anslutna till den här noden. Metoden tar hänsyn till om bågar är riktade.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >neighbors</function ></funcdef > <paramdef ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >edges()</term> <listitem> <para >Returnera en lista med alla bågar (inkommande och utgående) anslutna till den här noden.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >edges</function ></funcdef > <paramdef ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >edges(typ)</term> <listitem> <para >Returnera en lista med alla bågar (inkommande och utgående) anslutna till den här noden av en angiven typ.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >edges</function ></funcdef > <paramdef >int <parameter ><replaceable >typ</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >inEdges()</term> <listitem> <para >Returnera en lista med inkommande bågar anslutna till den här noden.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >inEdges</function ></funcdef > <paramdef ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >inEdges(typ)</term> <listitem> <para >Returnera en lista med inkommande bågar anslutna till den här noden av en angiven typ.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >inEdges</function ></funcdef > <paramdef >int <parameter ><replaceable >typ</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >outEdges()</term> <listitem> <para >Returnera en lista med utgående bågar anslutna till den här noden.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >outEdges</function ></funcdef > <paramdef ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >outEdges(typ)</term> <listitem> <para >Returnera en lista med utgående bågar anslutna till den här noden av en angiven typ.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >outEdges</function ></funcdef > <paramdef >int <parameter ><replaceable >typ</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> <varlistentry> <term >edgesTo(mål)</term> <listitem> <para >Returnera en lista med bågar anslutna mellan den här noden och den angivna noden.</para> <funcsynopsis ><funcprototype ><funcdef >array <function >edgesTo</function ></funcdef > <paramdef >GraphNode <parameter ><replaceable >mål</replaceable ></parameter ></paramdef > </funcprototype> </funcsynopsis> </listitem> </varlistentry> </variablelist> </sect3> </sect2> <sect2> <title >Grafbåge</title> <para >En båge är anslutningen mellan två grafiska noder. Bågar kan vara riktade eller oriktade, beroende på sin typ. </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>