<?xml version="1.0"  encoding="UTF-8" ?>

<sect1 id="widgets">
<sect1info>
<title
>Kontroller</title>
<authorgroup>
<author
><firstname
></firstname
> <surname
></surname
> <affiliation
><address
> <email
></email>
</address
></affiliation>
</author>

&rune.laursen.role; 

</authorgroup>
</sect1info>

<title
>Kontroller</title>

<para
>Byggestenene til &kommander;-dialoger er kontrollerne. De er præcis som alle andre kontroller i &Qt; og &kde;-bibliotekerne, bortset fra at de har noget ekstra funktionalitet, som tillader dem at have en <quote
>tekstassociation</quote
>. Tekst er associeret med kontrollens tilstand eller dens befolkningsslot. Antallet af tilstande afhænger af kontrollen. Har en kontrol kun én tilstand, kaldes denne tilstand for standardtilstanden. </para>

<para
>Kontroltekst bla bla</para>

<para
>Dialogen har to specielle ltilstande til &kommander;tekst. Disse er Initiate og Destroy. De eksekveres når dialogen initieres og når den nedlægges.  De beskytter mod det der kaldes <quote
>race</quote
> problemer ved åbning og betyder at du ikke behøver at udføre nogen specielle procedurer ved nedlægning af dialoger.</para>


<variablelist>
<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="buttongroup.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Knapgruppe </term>
<listitem>
<para
>En container der organiserer knapper i en gruppe. Der kan tilknyttes en valgfri titel ved at bruge titelegenskaben. Rammen kan justeres med lineWidth-egenskaben. Knapgruppen kan indstilles til eksklusiv ved at sætte exclusive-egenskaben til true. Det betyder at når der trykkes på én slå til-/fra-knap, sættes alle de andre slå til/fra-knapper til fra, med undtagelse af radioknapper som altid er gensidigt udelukkende, selv når gruppen er non-eksklusive. Radioknapper kan sættes til non-eksklusiv ved at bruge egenskaben radioButtonExclusive. (Jeg er ikke så sikker på at denne egenskab rent faktisk fungerer). </para>
<para
>Knapgrupper har en tilstand, standard.</para>
<para
>Kontrolteksten til en knapgruppe er tekstassociationerne til hver knap i den rækkefølge de forekommer i knapgruppen. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="checkbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Afkrydsningsfelt </term>
<listitem>
<para
>Et felt der kan afkrydses til og fra. Det kan også være delvist afkrydset hvis tristate-egenskaben er sat til true. Etiketten associeret med afkrysningsfeltet sættes i text-egenskaben. Ved at sætte checked-egenskaben er afkrydsningsfeltet afkrydset til at starte med. </para>
<para
>Et afkrydsningsfelt har tre tilstande, afkrydset, delvist afkrydset og ikke-afkrydset. </para>
<para
>Kontrolteksten til et afkrydsningsfelt er text-egenskabens værdi. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pushbutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Lukkeknap </term>
<listitem>
<para
>En knap der når der klikkes på den, udfører sin tekstassociation og dernæst lukker dialogen. Etiketten på knappen sættes med text-egenskaben. Uddata fra tekstassociationen, vises gennem ekoes til stdout hvis writeStdout-egenskaben er sat til true. Knappen kan være standardhandlingen for dialogen hvis default-egenskaben er sat til true. </para>
<para
>Lukknapper har en tilstand, standard. </para>
<para
>Der er ingen kontroltekst associeret med en lukkeknap. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="combobox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Kombinationsboks </term>
<listitem>
<para
>Kombinationsboks er en markeringskontrol der kombinerer en knap og en pop op-menu. Den viser brugeren aktuelle valg fra en liste af valgmuligheder på minimalt plads. Punkter tilføjes til listen ved at bruge edit-vinduet. Hvis editable-egenskaben er sat til true, kan brugeren tilføje vilkårlige strenge. </para>
<para
>Kombinationsbokse har en tilstand, standard. </para>
<para
>Kontrolteksten til en kombinationsboks, er teksten i det valgte punkt. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pushbutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Eksekvérknap </term>
<listitem>
<para
>En knap der, når der klikkes på den eksekverer sin tekstassociation. Etiketten på knappen sættes med text-egenskaben. Uddata fra tekstassociationen ekoes til stdout hvis writeStdout-egenskaben er sat til true. Knappen kan være standardhandlingen for dialogen hvis default-egenskaben er sat til true. </para>
<para
>Eksekvérknapper har en tilstand, standard. </para>
<para
>Der er ingen kontroltekst associeret med Eksekvérknapper. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Filvælger </term>
<listitem>
<para
>Filvælgerkontrollen kombinerer en linjeeditor med en knap, der når der klikkes på den viser brugeren en dialog hvori der kan vælges filer/mapper. Filen/mappen der vælges gemmes i linjeeditoren. Filvælgertypen kan sættes med selectionType-egenskaben. Der følgende typer til rådighed, Open, Save, Directory. Flere filer/mapper kan vælges hvis selectionOpenMultiple-egenskaben er sat til true. Der kan sættes en overskrift for filvælgeren med selectionCaption-egenskaben. Den vises som dialogens vinduestitel. Hvis ikke der angives nogen overskrift, vises selection-typen som titel istedet. Man kan begrænse filerne der vises i dialogen ved at bruge selectionFilter-egenskaben. </para>
<para
>Filvælger har en tilstand, standard. </para>
<para
>Kontrolteksten til en filvælger er teksten der findes i linjeeditoren (filen valgt af brugeren). </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="groupbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Gruppefelt </term>
<listitem>
<para
>En containerkontrol der indeholder andre kontroller. Rammen justeres med lineWidth-egenskaben. En titel kan tilføjes ved at sætte title-egenskaben. </para>
<para
>Gruppefelter har en tilstand, standard. </para>
<para
>Kontrolteksten for et gruppefelt er tekstassociationerne af hvert af kontrollerne i containeren. De ordnes efter rækkefølgen hvormed de forekommer inde i gruppefeltet. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Linjeeditor </term>
<listitem>
<para
>En linjeeditorkontrol er en enkeltlinjet teksteditor. Den tillader brugeren at indtaste og ændre en enkelt tekstlinje. Tekst der skal stå i linjeeditoren fra begyndelsen kan sættes i text-egenskaben. Kontrollen kan sættes til kun læsetilladelse med readOnly-egenskaben. Der er tre tilstande til kontrollen, Normal, NoEcho og Password. Tilstanden sættes med echoMode-egenskaben. </para>
<para
>Linjeeditorer har en tilstand, standard. </para>
<para
>Kontrolteksten for linjeeditortekst er teksten indeholdt i editoren. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Listefelt </term>
<listitem>
<para
>En listefeltkontrol giver en liste af markérbare punkter. Normalt er et eller slet ingen punkter markeret. Denne opførsel kan ændres vha. selectionMode-egenskaben. Punkter tilføjes til listefeltet vha. edit-vinduet. </para>
<para
>Et listefelt har kun én tilstand, standard. </para>
<para
>Kontrolteksten for et listefelt er punkterne i listefeltet. @selectedWidgetText returnerer kun aktuelt markerede punkter. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listview.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Listevisning </term>
<listitem>
<para
>Denne kontrol kan nu udnytte &kommander;. Funktionelt er den ligesom trævisningskontrollen så se venligst denne. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pixlabel.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Billedetiket </term>
<listitem>
<para
>En simpel kontrol der indeholder en billed- eller en tekstetiket. Billedet der skal vises sættes i pixmap-egenskaben. Teksten sættes i text-egenskaben. Kun en af de to egenskaber kan sættes ad gangen. (Jeg tror i hvertfald at jeg kun kan få editoren til at sætte dem en ad gangen). Hvis scaledContents-egenskaben er sat til true, bliver billedet skaleret så det passer i kontrollens størrelse. Tekstformatet kan indstilles med textFormat-egenskaben. </para>
<para
>Denne kontrol kan ikke udnytte &kommander; og har derfor ingen tilstande eller kontroltekst. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="radiobutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Radioknap </term>
<listitem>
<para
>En knap der kan tjekkes eller aftjekkes, normalt brugt i knapgrupper til at foretage et eksklusivt valg. En etiket associeret med knappen kan sættes i text-egenskaben. En knap kan initieres så den er tjekket fra begyndelsen, ved at sætte checked-egenskaben til true. Hvis alle radioknapper i en knapgruppe har checked-egenskaben sat til true, så bliver det den sidste knap der sættes til tjekket. </para>
<para
>Radioknapper har to tilstande, tjekket og aftjekket.  </para>
<para
>Der er ingen kontroltekst associeret med radioknapper. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="richtextedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> RichText-editor </term>
<listitem>
<para
>Denne kontrol giver en teksteditor der tillader simpel tekstformatering. </para>
<para
>RichText-editor har en tilstand, standard. </para>
<para
>Kontrolteksten til en RichText-editor er teksten indeholdt i editoren i rich text-format. Markeret tekst kan returneres med @selectedWidgetText. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="spinbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Heltalsrullefelt </term>
<listitem>
<para
>En kontrol der tillader brugeren at ændre en heltalsværdi ved enten at trykke på op- og ned-pilene eller ved at indtaste værdien i feltet. Minimum og maksimumværdier til kontrollen kan indstilles med minValue og maxValue-egenskaberne. specialValueText-egenskaben bruges til at sætte den tekstværdi der skal vises i stedet for minimumværdien. </para>
<para
>Denne kontrol har kun en tilstand, standard. </para>
<para
>Kontrolteksten til et heltalsrullefelt, er det aktuelle viste heltal. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="frame.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Underdialog </term>
<listitem>
<para
>En knap der når der trykkes på den, kører en anden &kommander;-dialog. Dialogen der skal køres sættes i kmdrFile-egenskaben. Er standardegenskaben sat til true, køres dialogen hvis der trykkes enter når dialogen har fokus. Jeg tror man også kan benytte den som container. Jeg er nødt til at lege lidt mere med det her. </para>
<para
>Underdialog har en tilstand, standard. </para>
<para
>Kontrolteksten for en underdialog er teksten associeret med dialogen den eksekverer. </para>
<note
><para
>Det skulle have indeholdt dialogen, men er nu kasseret til fordel for det nye projektkoncept. Skal vi lade det blive ved <function
>@dialog()</function
> i dens &kommander;-tekst eller fjerne den helt? Det er ikke rigtigt som det er nu.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="tabwidget.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Fanebladskontrol </term>
<listitem>
<para
>En kontrol der giver flere faneblade, der hver især kan indeholde flere kontroller. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="multilineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Teksteditor </term>
<listitem>
<para
>En simpel multilinje teksteditor. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="label.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Tekstetiket </term>
<listitem>
<para
>En simpel kontrol der indeholder et stykke tekst. Denne kontrol lader dig også angive et billede. Ok, editoren siger de begge er QLabels. Hvorfor har vi to kontroller som ser ens ud men har forskellige navne. Skulle gerne ordnes i A7. </para>
<para
>Ved alfa 6 er denne kontrol delvist til rådighed og kan sættes ved at bruge eksterne DCOP-kald. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listview.png" format="PNG"/>
</imageobject
></inlinemediaobject
> Trævisning </term>
<listitem>
<para
>En kontrol der giver en liste i form af en træstruktur. Denne kontrol er nu fuldstændiggjort så der kan tilføjes eller fjernes punkter, siden alfa 6. Du kan tilføje indre (børn) punkter og multisøjledata. Den aktulle begrænsning er at du ikke kan ændre søjler. For at tilføje en barneknude bruges <quote
>/</quote
> som adskiller. For at tilføje søjledata bruges escape-tabulator <quote
>\t</quote
> -tegnet, mellem søjler.  </para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
