<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd" [
<!ENTITY % inst SYSTEM "install-dep.entities">
%inst;
]>

<book lang="&language;">
      
<bookinfo>
<title
>KDE Biblioteksreference</title>
<!-- Make jade happy with all required tags... -->
<authorgroup>
<author
> <firstname
>Bernd</firstname
><surname
>Gehrmann</surname
> <affiliation
><address
><email
>bernd@physik.hu-berlin.de</email
></address
></affiliation
> </author
> 
<othercredit role="translator"
><firstname
>Erik Kjær</firstname
><surname
>Pedersen</surname
><affiliation
><address
><email
>erik@binghamton.edu</email
></address
></affiliation
><contrib
>Oversætter</contrib
></othercredit>
</authorgroup>
<date
>2000-06-08</date>
<releaseinfo
>0.00.01</releaseinfo>
<abstract
><para
>Den endegyldige KDE Biblioteksreference (ikke for alvor :-)</para
></abstract>
<keywordset
><keyword
>KDE</keyword
></keywordset>
</bookinfo>
 
   <chapter id="libraries">
      <title
>Biblioteker i kdelibs pakken</title>
      <para
> Kdelibs pakken består af følgende biblioteker: </para>
      <para
> <ulink url="kdecore/index.html"
>kdecore</ulink
> biblioteket er den basale program reference for ethvert KDE baseret program. Det giver adgang til indstillingssystemet, kommandolinie håndtering, ikon indlæsning og manipulation,  speciel slags inter-process kommunikation, filhåndtering og forskellige andre redskaber. </para>
      <para
> <ulink url="kdeui/index.html"
>kdeui</ulink
> biblioteket giver mange dimser og standarddialoger som Qt ikke har, og som har flere egenskaber end de tilsvarende i Qt. Den inkluderer også adskillige dimser der er undeklasser fra Qt's og er bedre integrerede med KDE skrivebordet ved at respektere brugerindstillinger. </para>
      <para
> <ulink url="kparts/index.html"
>kparts</ulink
> biblioteket danner grundlaget for KDE's indlejerede komponenter model. </para>
      <para
> <ulink url="kio/index.html"
>kio</ulink
> indeholder faciliteter for asynkron I/U og adgang til mimetype håndtering. </para>
      <para
> <ulink url="kfile/index.html"
>kfile</ulink
> biblioteket indeholder KDE fildialogen og dens hjælpeklasser. </para>
      <para
> <ulink url="khtml/index.html"
>khtml</ulink
> bibloteket indeholder KHTML delen, en HTML netsøgedims og fortolker, inkluderende grænseflader til Java. </para>
      <para
> <ulink url="kjs/index.html"
>kjs</ulink
> biblioteket giver en implementering af JavaScript. </para>
   </chapter>


   <chapter id="overview">
      <title
>Overblik</title>


      <sect1 id="i18n-overview">
         <title
>Internationalisering af programmer</title>
         <para
> Et vigtigt mål for KDE er at gøre programmer brugbare for folk i mange lande. Internationalisation (ofte forkortet som <abbrev
>i18n</abbrev
>, der står for  &quot;I&quot;, så atten bogstaver, så &quot;n&quot;) indeholder forberedelser for oversættelse af etiketter og beskeder i brugergrænsfladen, støtte for inddata, uddata og streng manipulation i forskellige tegnsæt, støtte ofr forskellig dato, tids og møntformater. Tilsidst skal et program være i stand til at køre <emphasis
>uændret</emphasis
>i et vilkårlig linguistisk område med vilkårlige kulturelle konventioner. </para>

         <para
> Takket være Qt 2.x grundlaget, kan KDE programmer som standard bruge den kraftfulde <classname
>QString</classname
> klasse til alle bruger-synlige strenge. Da <classname
>QString</classname
> bruger Unicode internt skal man som regel ikke bekymre sig om usædvanlige tegnsæt. Nårsomhelst du skal bruge et lokalt tegnsæt (f. eks. til  filenavne), vil Qt give <classname
>QTextCodec</classname
> klassen  for konvertering. </para>

         <para
> I det følgende diskuterer vi hvordan du forberede et program for oversættelse af dets brugergrænsflade. Hvis du programmerer et af programmerne i KDE CVS, er du heldig, og du skal blot sørge for at markere alle strenge der skal oversættes. Oversttelsen selv bliver foretaget af en hær af dygtige dæmoner kednt som  KDE Oversættelseshold. Hvis du selv vedligheolder et program, må du kigge på disse ting også set fra en oversætters synspunkt. </para>

         <sect2 id="i18n-programmer">
	 <title
>Fra programmorens synspunkt</title>

         <para
> KDE programmer bruger normalt et oversættelsessystem baseret på en ændret udgave af gettext pakken som er en del af glibc på Linux systemer. Selvom dette ikke er tvunget, anbefales det da det er meget enkelt at bruge for  programmøren og det er  <emphasis
>standarden</emphasis
> for åbenkilde projekter. Hvis du sørger for at omslutte alle strenge der skal oversættes i kildekoden med et kald til <function
>i18n()</function
> (og inkluderer headerfilen <filename
>klocale.h</filename
>), er du næsten færdig. For eksempel, for at lave en etikette indenfor en dialog, skriv: </para>

         <para
> <programlisting>
#include &lt;klocale.h&gt;
...
QLabel *lbl = new QLabel(i18n("Filnavn:"), dette);
            </programlisting
> </para>

         <para
> <function
>i18n()</function
> funktionen har to aspekter: Det første er at den tager et argument af type <type
>const char *</type
>, slår den op i sin ordbog - efter brugerens foretrukne sprog, som sat i kontrolcentret - og giver en <classname
>QString</classname
> med oversættelsen. Som en tekniskl sidebemærkning, bemærk at dette er virkeligt meget hurtigt, og dets hukommelseforbrug er optimeret med at mappe en binær oversættelsefil direkte ind i hukommelsen. Som et resulatat af at funktionen er et implicit delt  <classname
>QString</classname
> objekt, skal du ikke bekymre dig om overflødige dybe kopier af strengen. </para>
         <para
> Det andet aspekt af denne funktion er at den markerer strengene der skal oversættes i kildekoden, så de kan automatisk trækkes ud med programmet <application
>xgettext</application
>. For at bruge den, put denne regel ind i <filename
>Makefile.am</filename
> for din <application
>foo</application
> pakke: </para>

         <para
> <programlisting>
messages:
	$(XGETTEXT) -C -ki18n -x $(kde_includes)/kde.pot -o $(podir)/foo.pot $(foo_SOURCES)
            </programlisting
> </para>

         <para
> Kørsel af dette make file mål vil resultere i en fil <filename
>foo.pot</filename
>, sædvanligvis i kataloget <filename
>po</filename
> under topniveau kataloget for din pakke. Denne fil vil have indgange af følgende type: </para>

         <para
> <programlisting>
#: foo.cpp:3 
msgid "File name:" 
msgstr ""
            </programlisting
> </para>

         <para
> Du vil ofte ønske at vise en streng der indeholde rnogle elementer der kun er kendt når programet køres. Naivt ville man gøre følgende: </para>

         <para
> <programlisting>
QString filename;
...
filename = ... // få et filnavn fra brugeren eller et andet stedelse
if (!QFileInfo(filename).exists()) {
    QMessageBox::information(this, "Foo", i18n("File ") + filename + i18n(" does not exist.));
}
            </programlisting
> </para>

         <para
> Lav ikke denne slags ord mysterier! Det gør oversætterens  liv unødvendigt hårdt. Det er bedre at bruge sætninger der giver mening  i sig selv og substituere det variable element med <function
>arg()</function
> metoden fra <classname
>QString</classname
>: </para>

         <para
> <programlisting>
QString filename;
...
filename = ... // få en fil fra brugeren eller et andet sted else
if (!QFileInfo(filename).exists()) {
    QMessageBox::information(this, "Foo", i18n("File &percnt;1 does not exist.").arg(filename));
}
            </programlisting
> </para>

         <para
> Metoden <function
>arg()</function
> tager delstrenge af formen &quot;&percnt;n&quot;, hvor <replaceable
>n</replaceable
> er et tal mellem 0 og 9, og ersatter den med det laveste tal med sit   argument. Af behagelighedsgrunde er denne metode overloaded for heltal og flydere, så i kontrast til c-lignende funktioner såsom <function
>sprintf()</function
>, er den typesikker. Den har også den vigtige fordel at når du har adskillige indsætninger i en streng, så har oversætteren firhed til andre deres rækkefølge. For eksempel, betragt den engelske sætning <blockquote
><para
>Printed &percnt;1 pages &percnt;2 total.</para
></blockquote
> En dansk oversætter kan nu bruge oversættelsen <blockquote
><para
>Af i alt &percnt;2 sider blev &percnt;1 udskrevet.</para
></blockquote
> </para>

         <para
> Sommetider viser det sig at et ord der skal oversættes er flertydigt, altså at det har flere betydninger i originalen (some er normalt på engelsk). For eksempel, kan du have en knap med påskriften &quot;Set&quot; på den. En mulig betydning er  &quot;En mængde af elementer&quot; som en dansk oversætter ville substituere med &quot;Mængde&quot;. En anden betydning er &quot;Indstil et valg&quot; som en dansk oversætter ville substituere med &quot;Indstil&quot;. Det er klat at <function
>i18n()</function
> beskrevet ovenfor ikke kan give forskellige resultater for den samme sætning i forskellig sammenhæng. En vej udenom dette er en overlæsset to-argument version af denne funktion. Det andet argument er den uoversatte streng, som bruges af engelske brugere. Det første argument tjener kun det formål at skelne forskellige betydninger af den uoversatte streng. I eksemplet ovenfor, kan man bruge <blockquote
><para
> i18n("A set of", "Set") </para
></blockquote
> for et tilfælde af &quot;Set&quot;  <blockquote
><para
> i18n("to set", "Set") </para
></blockquote
> for den anden. </para>

         </sect2>

         <sect2 id="i18n-translator">
	 <title
>Fra oversætterens synspunkt</title>

         <para
> </para>

	 </sect2>

      </sect1>


      <sect1 id="xml-overview">
         <title
>Brug af XML i KDE</title
> 
         <para
> Blubber blubber zisch - Motivation... <ulink url="http://www.w3.org/XML/1999/XML-in-10-points"
>XML i 10 punkter</ulink
> </para>


         <sect2 id="xml-format">
	 <title
>Hvordan ser XML ud</title>

         <para
> Her er et eksempel på en XML fil brugt af <application
>Columbo</application
> til at beskrive et søgested på Internettet: </para>
         <para
> <programlistingco
> <areaspec
> <area id="xml.doctype" coords="1"/> <area id="xml.rootel" coords="2"/> <area id="xml.nestedel" coords="9"/> </areaspec
> <programlisting>
<![CDATA[<!DOCTYPE search>
<search 
   name="Altavista" 
   channel="web"
   method="get"
   action="http://www.altavista.com/cgi-bin/query"
>

   <input name="pg" value="q"/>
   <input name="sc" value="on"/>
   <input name="hl" value="on"/>
   <input name="kl" value="XX"/>
   <input name="stype" value="stext"/>
   <input name="q" user="true"/>

   <interpret
      resultListStart="&lt;dl&gt;"
      resultItemStart="&lt;dt&gt;"
      relevanceStart=""
      resultListEnd="&lt;/td&gt;"
      resultItemEnd="&lt;/dl&gt;"
      relevanceEnd=""
   />

</search
>]]>
               </programlisting
> <calloutlist
> <callout arearefs="xml.doctype"
> <para
> Denne instruktion bruges  normalt til at erklære DTD for dokumentet. Her er ingen DTD brugt, og det er kun navnet på rod elementet (<varname
>søg</varname
>) der viser sig. </para
> </callout
> <callout arearefs="xml.rootel"
> <para
> <sgmltag class="starttag"
>søg</sgmltag
> starter rodelementet. Her, udvides det til slutningen af dokumentet (<sgmltag class="endtag"
>søg</sgmltag
>). </para
> </callout
> <callout arearefs="xml.nestedel"
> <para
> Dette er et  eksempel på et tomt element. Tomme elementer har ikke brug for  afslutningsmærke (som ville være <varname
>&lt;/input&gt;</varname
> i dette tilfælde). </para
> </callout
> </calloutlist
> </programlistingco
> </para>
         
         </sect2>
         
         <sect2 id="xml-domapi">
	 <title
>Adgang til XML filer via  QDom API</title>

         <para
> Lad os nu se på hvordan sådan en fil bliver fortolket. Det nemmeste er at  oprette et <classname
>QDomDocument</classname
>. Med dens konstruktor <function
>QDomDocument(const QString&amp; name)</function
>, vil filnavnet med navnet <varname
>navn</varname
> blive fuldstændigt fortolket, og du kan navigere på filindholdet som en træstruktur. Som et første trin, tjekker vi om filen har den korrekte dokumenttype: </para>
         <para
> <programlisting>
QDomDocument doc(filename);
hvis (doc.doctype().name() != "search") {
    cout &lt;&lt; "Ikke den korrekte dokumenttype." &lt;&lt; endl;
    return;
}
            </programlisting
> </para>
         <para
> Rodelementet (som er en udgave af klassen <classname
>QDomElement</classname
>) er tilgængelig via metoden <function
>QDomDocument::documentElement()</function
>. Attributterne for elementet kan spørges efter med metoden <function
>QDomElement::attribute()</function
>, som returnerer en <classname
>QString</classname
>. Vi giver som uddata &quot;navn&quot; og &quot;metode&quot; attributter, som i filen i eksemplet ovenfor er &quot;Altavista&quot;, &quot;get&quot; resp.: </para>
         <para
> <programlisting>
QDomElement docel = doc.documentElement();
cout &lt;&lt; "Navn:   " &lt;&lt; docel.attribute("name").latin1() &lt;&lt; endl;
cout &lt;&lt; "Metode: " &lt;&lt; docel.attribute("method").latin1() &lt;&lt; endl;
            </programlisting
> </para>
         <para
> Rodelementet har nogle <sgmltag class="starttag"
>inddata</sgmltag
> børn. For at behandle dem allesammen, kan man iterere over dem med et stykke kode som det følgende: </para>
         <para
> <programlisting>
QDomElement childel = docel.firstChild().toElement()
while (!childel.isNull()) {
    if (childel.tagName() == "input") {
        // gør noget med elementet childel
    }
    childel = childel.nextSibling().toElement();
}
            </programlisting
> </para>
         <para
> Brugen af <function
>toElement()</function
> metoden er nødvendig fordi <function
>QDomElement::firstChild()</function
> returnerer et objekt af klasse <classname
>QDomNode</classname
>, som først skal konverteres til et element. </para>
         <para
> I visse tilfælde, vil du ikke iterere over et elements børn, men have adgang til et barn med et vist mærke direkte. I fortsættelse af eksemplet ovenfor kan dette opnås som følger: </para>
         <para
> <programlisting>
               QDomElement interpretel = docel.namedItem("interpret").toElement();
               if (!interpret.isNull()) {
               // gør noget med interpretel
               }
            </programlisting
> </para>
         
	 </sect2>

      </sect1>

   </chapter>


   <chapter id="structure">
      <title
>Struktur overblik</title>
      <para
> Klasserne i bibliotekerne kan klassificeres som følger: <itemizedlist
> <listitem
> <para
> <link linkend="applicationskeleton"
>Kerne program skelet</link
> - klasser brugt af næsten alle programmer. </para
> </listitem
> <listitem
> <para
> <link linkend="configurationsettings"
>Indstillingsopsætning</link
> - klasser til at få adgang til KDE's hierarkiske indstillingsdatabase, globale indstillinger og programressourcer. </para
> </listitem
> <listitem
> <para
> <link linkend="keyboardaccelerators"
>Tastatur acceleratorer og genveje</link
> - klasser der hjælper med at etablere konsistente tastebindingeroveralt på skrivebordet. </para
> </listitem
> <listitem
> <para
> <link linkend="filehandling"
>Fil og URL håndtering</link
> - midlertidige filer, afkodning eller URLer, ikon indlæsning og manipulering. </para
> </listitem
> <listitem
> <para
> <link linkend="imageprocessing"
>Billedbehandling</link
> - ikon indlæsning og manipulering. </para
> </listitem
> <listitem
> <para
> <link linkend="interprocess"
>Interproces kommunikation</link
> - delprocesser, DCOP hjælperklasser . </para
> </listitem
> <listitem
> <para
> <link linkend="utilityclasses"
>Værktøjsklasser</link
> - hukommelseshåndtering, tilfældige tal, regulære udtryk, streng manipulation, tegnsæt, osv. </para
> </listitem
> <listitem
> <para
> <link linkend="widgets"
>Widgets</link
> - dimsklasser til listvisninger, linealer, farvevalg, ... </para
> </listitem
> <listitem
> <para
> <link linkend="dialogs"
>Dialoger</link
> - fuldt-udstyrede dialoger til fil, farve og skrifttypevalg </para
> </listitem
> </itemizedlist
> </para>

      
      <sect1 id="applicationskeleton">
         <title
>Kerneprogram skelet</title>
	 <para
> <variablelist
> <varlistentry
> <term
><ulink url="kdecore/KApplication.html"
>KApplication</ulink
></term
> <listitem
> <para
> Initialisere og kontrollere et KDE program. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KUniqueApplication.html"
>KUniqueApplication</ulink
></term
> <listitem
> <para
> Sørger for at kun en udgave af et program kører samtidigt. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KAboutData.html"
>KAboutData</ulink
></term
> <listitem
> <para
> Holder information for "om" boksen. </para
> </listitem
> </varlistentry
> </variablelist
> </para>
      </sect1>

      <sect1 id="configurationsettings">
         <title
>Indstillingsopsætning</title>
         <para
> <variablelist
> <varlistentry
> <term
><ulink url="kdecore/KConfig.html"
>KConfig</ulink
></term
> <listitem
> <para
> Giver adgang til KDE's indstillingsdatabase. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KConfigBase.html"
>KConfigBase</ulink
></term
> <listitem
> <para
> Abstrakt basisklasse for indstillingsfil adgang. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KSimpleConfig.html"
>KSimpleConfig</ulink
></term
> <listitem
> <para
> Adgang til simple, ikke-hierarkiske indstillingsfiler. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KDesktopFile.html"
>KDesktopFile</ulink
></term
> <listitem
> <para
> Adgang til <filename
>.desktop</filename
> filer. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KGlobalSettings.html"
>KGlobalSettings</ulink
></term
> <listitem
> <para
> Giver praktisk adgang til generel opsætning. </para
> </listitem
> </varlistentry
> </variablelist
> </para>
      </sect1>

      
      <sect1 id="keyboardaccelerators">
         <title
>Tastatur acceleratorer og genveje</title>
         <para
> <variablelist
> <varlistentry
> <term
>KAccel</term
> <listitem
><para
>Samling af tastaturgenveje.</para
></listitem
> </varlistentry
> <varlistentry
> <term
>KStdAccel</term
> <listitem
><para
>Let adgang til almindelige tastatur genvejstaster.</para
></listitem
> </varlistentry
> <varlistentry
> <term
>KGlobalAccel</term
> <listitem
><para
>Samling af systemomfattende tastaturgenveje.</para
></listitem
> </varlistentry
> </variablelist
> </para>
      </sect1>
      

      <sect1 id="filehandling">
         <title
>Filog URL håndtering</title>
         <para
> <variablelist
> <varlistentry
> <term
><ulink url="kdecore/KTempFile.html"
>KTempFile</ulink
></term
> <listitem
><para
>Opretter entydige filer til midlertidige data.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KSaveFile.html"
>KSaveFile</ulink
></term
> <listitem
><para
>Tillader at gemme filer automatisk.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KURL.html"
>KURL</ulink
></term
> <listitem
><para
>Repræsenterer og fortolker URLer.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KProtocolHandler"
>KProtocolHandler</ulink
></term
> <listitem
><para
>Holder information om IU protokoller.</para
></listitem
> </varlistentry
> </variablelist
> </para>
      </sect1>


      <sect1 id="imageprocessing">
         <title
>Billedbehandling</title>
            <para
> <variablelist
> <varlistentry
> <term
><ulink url="kdecore/KPixmap.html"
>KPixmap</ulink
></term
> <listitem
><para
>En pixmapklasse med udvidede dithering evner.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KPixmapEffect.html"
>KPixmapEffect</ulink
></term
> <listitem
><para
>Pixmap effekter såsom overgange og mønstre.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KIconLoader.html"
>KIconLoader</ulink
></term
> <listitem
><para
>Indlæser ikoner på en tema-tilpasset måde.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KIconTheme.html"
>KIconTheme</ulink
></term
> <listitem
><para
>Hjælpeklasse for KIconLoader.</para
></listitem
> </varlistentry
> </variablelist
> </para>
      </sect1>


      <sect1 id="interprocess">
         <title
>Interproceskommunikation</title>
            <para
> <variablelist
> <varlistentry
> <term
><ulink url="kdecore/KProcess.html"
>KProcess</ulink
></term
> <listitem
><para
>Starter og kontrollerer afledte processer.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KShellProcess.html"
>KShellProcess</ulink
></term
> <listitem
><para
>Starter afledte processer via en skal.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KIPC.html"
>KIPC</ulink
></term
> <listitem
><para
>Simpel IPC mekanisme ved brug af X11 ClientMessages.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KDCOPPropertyProxy.html"
>KDCOPPropertyProxy</ulink
></term
> <listitem
><para
>En proxy klasse der offenntliggør Qt egenskaber gennem DCOP.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdeui/KDCOPActionProxy.html"
>KDCOPActionProxy</ulink
></term
> <listitem
><para
>En proxy klasse der offentliggør en DCOP grænseflade for handlinger.</para
></listitem
> </varlistentry
> </variablelist
> </para>
      </sect1>
      
      <sect1 id="utilityclasses">
         <title
>Værktøjsklasser</title>
         <para
> <variablelist
> <varlistentry
> <term
><ulink url="kdecore/KRegExp.html"
>KRegExp</ulink
></term
> <listitem
><para
>POSIX regulært udtryk tilpasning.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KStringHandler.html"
>KStringHandler</ulink
></term
> <listitem
><para
>En ekstravagant grænseflade til streng manipulation.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KCompletion.html"
>KCompletion</ulink
></term
> <listitem
><para
>En generisk klasse til at komplettere strenge.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KZoneAllocator.html"
>KZoneAllocator</ulink
></term
> <listitem
><para
>Effektiv hukommelsesallokator for store grupper af små objekter.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdecore/KRandomSequence.html"
>KRandomSequence</ulink
></term
> <listitem
><para
>Pseudotilfælig talgenerator.</para
></listitem
> </varlistentry
> </variablelist
> </para>
      </sect1>


      <sect1 id="widgets">
         <title
>Dimser</title>
         <para
> <variablelist
> <varlistentry
> <term
><ulink url="kdeui/KListView.html"
>KListView</ulink
></term
> <listitem
><para
>En variant af QListView der respekterer KDE's system-omfattende indstillinger.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdeui/KListBox.html"
>KListBox</ulink
></term
> <listitem
><para
>En variant af KListBox der respektere KDE's system-omfattende indstillinger.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdeui/KIconView.html"
>KIconView</ulink
></term
> <listitem
><para
>En variant af QIconView der respektere KDE's system-omfattende indstillinger.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdeui/KRuler.html"
>KRuler</ulink
></term
> <listitem
><para
>En linealdims</para
></listitem
> </varlistentry
> </variablelist
> </para>
      </sect1>


      <sect1 id="dialogs">
         <title
>Dialoger</title>
         <para
> <variablelist
> <varlistentry
> <term
><ulink url="kdeui/KFileDialog.html"
>KFileDialog</ulink
></term
> <listitem
><para
>En filvalgs dialog.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdeui/KColorDialog.html"
>KColorDialog</ulink
></term
> <listitem
><para
>En farvevalgs dialog</para
></listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kdeui/KFontDialog.html"
>KFontDialog</ulink
></term
> <listitem
><para
>En skrifttypevalgs dialog</para
></listitem
> </varlistentry
> </variablelist
> </para>
      </sect1>

   </chapter
>   


   <chapter id="screenshots">
      <title
>Skærmaftryk</title>
      <para
>  <ulink url="kfile/KFileDialog.html"
>KFileDialog</ulink
>: <screenshot
><mediaobject
><imageobject
> <imagedata fileref="kfile/kfiledialog.png" format="PNG"/> </imageobject
></mediaobject
></screenshot
> </para>
      <para
> <ulink url="kfile/KColorDialog.html"
>KColorDialog</ulink
>: <screenshot
><mediaobject
><imageobject
> <imagedata fileref="kdeui/kcolordialog.png" format="PNG"/> </imageobject
></mediaobject
></screenshot
> </para>
      <para
> <ulink url="kfile/KFontDialog.html"
>KFontDialog</ulink
>: <screenshot
><mediaobject
><imageobject
> <imagedata fileref="kdeui/kfontdialog.png" format="PNG"/> </imageobject
></mediaobject
></screenshot
> </para>
      <para
> <ulink url="kfile/KEditToolbar.html"
>KEditToolbar</ulink
>: <screenshot
><mediaobject
><imageobject
> <imagedata fileref="kdeui/kedittoolbar.png" format="PNG"/> </imageobject
></mediaobject
></screenshot
> </para>
      <para
> <ulink url="kfile/KKeyDialog.html"
>KKeyDialog</ulink
>: <screenshot
><mediaobject
><imageobject
> <imagedata fileref="kdeui/kkeydialog.png" format="PNG"/> </imageobject
></mediaobject
></screenshot
> </para>
      <para
> <ulink url="&QTDOCDIR;/qcolordialog.html"
>QPrintDialog</ulink
>: <screenshot
><mediaobject
><imageobject
> <imagedata fileref="&QTDOCDIR;/qprintdlg-m.png" format="PNG"/> </imageobject
></mediaobject
></screenshot
> </para>
      <para
> ... </para>
   </chapter>


   <chapter id="standards">
      <title
>Standarder</title>
      <para
> <variablelist
> <varlistentry
> <term
><ulink url="http://www.w3.org/XML/"
>XML</ulink
></term
> <listitem
> <para
> Extensible Markup language. KOffice's dokumentformater er anvendelser af dette. Det bruges også som et indstillingsfil format af flere og flere  KDE programmer. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="http://www.w3.org/DOM/"
>DOM</ulink
></term
> <listitem
> <para
> Dokument Objekt Model som defineret af W3C. Qt's <classname
>QDom*</classname
> klasser er modelleret efter dette. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="http://www.cco.newplanetsoftware.com/xdnd/"
>XDND</ulink
></term
> <listitem
> <para
> Specifikationen for  inter-program træk og slip protokol brugt af Qt og Gtk. I mellemtiden bruger adskillige andre programmer det også. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="http://www.freedesktop.org/standards/wm-spec.html"
>wm-spec</ulink
></term
> <listitem
> <para
> Protokollen  for vindueshåndtering interaktion, støttet af mange forfattere af vindueshåndteringer. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="kio/DESKTOP_ENTRY_STANDARD"
>Standard for skrivebordsindgange</ulink
></term
> <listitem
> <para
> Formatet af <filename
>.desktop</filename
> filer, støttet af KDE og GNOME. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/"
>MIME typer</ulink
></term
> <listitem
> <para
> Liste af registrerede indholstyper. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="http://www.ietf.org/rfc/rfc1738.txt"
>URL</ulink
></term
> <listitem
> <para
> Uniform ressource lokatorer, defineret af RFC 1738. </para
> </listitem
> </varlistentry
> <varlistentry
> <term
><ulink url="ftp://ftp.x.org/pub/R6.4/xc/doc/hardcopy/SM"
>SM</ulink
></term
> <listitem
> <para
> X11R6.4 session håndteringsprotokol. Dette er bagende protokollen for <classname
>KTMainWindow</classname
>'s højniveau sessionshåndterings egenskaber. GNOME støtter også denne protokol. </para
> </listitem
> </varlistentry
> </variablelist
> </para>
   </chapter>

</book>
   
   
<!-- 
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:3
sgml-indent-data:t
sgml-parent-document:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
compile-command:"test -d HTML && rm -rf HTML ; kdb2html `pwd`/index.docbook.in"
fill-column:85
End:
-->

