You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1698 lines
60 KiB
1698 lines
60 KiB
<!--
|
|
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">
|
|
|
|
-->
|
|
|
|
<sect1 id="designing-forms">
|
|
<title
|
|
>Design formularer</title>
|
|
|
|
<sect2 id="most-important-terms">
|
|
<title
|
|
>Den vigtigste terminologi</title>
|
|
<glosslist>
|
|
<glossentry id="gloss-form">
|
|
<glossterm
|
|
>Formular</glossterm>
|
|
<glossdef>
|
|
<para
|
|
>Et vindue som sørger for at det er enkelt at indtaste og præsentere data på computerskærmen. </para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry id="gloss-form-data-source">
|
|
<glossterm
|
|
>Formularens datakilde</glossterm>
|
|
<glossdef>
|
|
<para
|
|
>Databasetabel eller forespørgsel som sørger for data som vises i formularen. Datakilden behøves fordi selve formularerne kun er <emphasis
|
|
>værktøjer</emphasis
|
|
> til at vise og indtaste data, mens tabeller og forespørgsler er datakilder. Nye, tomme, formularer har ingen tildelt datakilde, så de viser ingen data fra databasen hvis du ikke tildeler dem en datakilde. </para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry id="gloss-form-field">
|
|
<glossterm
|
|
>Formularfelt</glossterm>
|
|
<glossdef>
|
|
<para
|
|
>Direkte ækvivalent til en søjle i en tabel eller forespørgsel. Felter til at vise tekst og tal er dem som oftest bruges. At indtaste en ny værdi eller ændre en eksisterende værdi i et sådant felt forårsager en ændring i den bundne tabel eller forespørgselssøjlen (efter ændringen er accepteret). </para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry id="gloss-form-design">
|
|
<glossterm
|
|
>Formulardesign</glossterm>
|
|
<glossdef>
|
|
<para
|
|
>Opgaver du udfører for at definere udseendet og funktionerne i formularen. For at gøre dette skal du sørge for en <glossterm linkend="gloss-form-data-source"
|
|
>datakilde</glossterm
|
|
>, indsætte <glossterm linkend="gloss-form-field"
|
|
>formularfelter</glossterm
|
|
> af diverse typer og placere dem på passende steder. </para>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry id="gloss-form-widget">
|
|
<glossterm
|
|
>Grafisk formularkontrol</glossterm>
|
|
<glossdef>
|
|
<para
|
|
>Formularens element. Hovedtyperne af grafiske kontroller er:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Grafiske kontroller som viser information, f.eks. et tekstfelt eller et billedfelt. Hver kontrol af denne type kan <emphasis
|
|
>forbindes</emphasis
|
|
> til en datakildes felt (en tabel eller forespørgselssøjle). Derfor kaldes sådanne grafiske kontroller for <glossterm linkend="gloss-form-field"
|
|
>formularfelter</glossterm
|
|
>. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Grafiske kontroller som kan udføre en bestemt angiven handling, f.eks. en trykknap som kan lukke den nuværende formular. I andre programmer kaldes denne kontroltype sommetider <firstterm
|
|
>formularkontrol</firstterm
|
|
> eftersom den kan udføre fordefinerede handlinger for at <emphasis
|
|
>kontrollere</emphasis
|
|
> databasens programopførsel. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Øvrige grafiske kontroller til at berige formularens udseende, f.eks. en <quote
|
|
>linjekontrol</quote
|
|
> som visuelt kan adskille to områder i formularen. </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</glossdef>
|
|
</glossentry>
|
|
<glossentry id="gloss-container-widget">
|
|
<glossterm
|
|
>Omgivende grafisk kontrol</glossterm>
|
|
<glossdef>
|
|
<para
|
|
>En grafisk kontrol som kan <emphasis
|
|
>indeholde</emphasis
|
|
> andre kontroller inde i sit område. For eksempel er rammekontroller og fanebladskontroller omgivende kontroller. Selve formularens flade er også en omgivende kontrol. En kommandoknap kan ikke kaldes en omgivende kontrol eftersom det ikke er muligt at indsætte en kontrol inde i den. I mere komplicerede tilfælde, kan omgivende kontroller indsættes i en omgivende kontrol, altså er et hierarki muligt. </para>
|
|
<!--
|
|
<screenshot>
|
|
<screeninfo
|
|
>Example container widgets</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_01_widget_containers.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Example container widgets</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</glossdef>
|
|
</glossentry>
|
|
</glosslist>
|
|
</sect2>
|
|
|
|
<sect2 id="forms-versus-tables">
|
|
<title
|
|
>Formularer eller tabeller</title>
|
|
<para
|
|
>I kapitel 5.2 fik du lært hvordan data direkte indtastes i tabeller med deres datavisning. I mange tilfælde er formularer dog mere passende til at indtaste data: </para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>En tabel kan indeholde for mange søjler til at vise på skærmen. En formular kan vise sådan data ved brug af flere rækker. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>En formular tillader at <glossterm linkend="gloss-form-field"
|
|
>felterne</glossterm
|
|
> med data deles op visuelt i logiske grupper, og øger på den måde læsbarheden. Etiketter med yderligere information kan indsættes for at give brugere flere vink om hvordan formularen skal bruges, eller hvad et givet <glossterm linkend="gloss-form-field"
|
|
>felt</glossterm
|
|
> med data betyder. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Kommandoknapper kan bruges i formularer for ofte bruge kommandoer, så brugere kan bruge formularer på lignende måde som fristående programmer de kender til. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>I datavisningen som viser flere rækker med data er <glossterm linkend="gloss-form-field"
|
|
>tekstfelter</glossterm
|
|
> eller billeder ligeså let som i formularer. </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title
|
|
>Arbejde med formulardesign</title>
|
|
<para
|
|
>Som ved konstruktion af en tabel eller en forespørgsel, har du mulighed for at bruge <interface
|
|
>datavisning</interface
|
|
> og <interface
|
|
>designvisning</interface
|
|
>. Formulardesign udføres i <interface
|
|
>designvisningen</interface
|
|
>. Vi kalder ofte vinduet til formulardesign for <interface
|
|
>Formularvinduet</interface
|
|
>. </para>
|
|
<procedure>
|
|
<step>
|
|
<para
|
|
>For at oprette en ny tom formular, vælges <menuchoice
|
|
><guimenu
|
|
>Indsæt</guimenu
|
|
> <guimenuitem
|
|
> Formular</guimenuitem
|
|
></menuchoice
|
|
> i menulinjen. Som et alternativ kan du bruge kommandoen <menuchoice
|
|
><guimenuitem
|
|
> Ny formular</guimenuitem
|
|
></menuchoice
|
|
> i dropned-feltet på værktøjslinjen i <interface
|
|
>projektnavigeringen</interface
|
|
> eller <menuchoice
|
|
><guimenuitem
|
|
>Opret objekt: Formular</guimenuitem
|
|
></menuchoice
|
|
> i den sammenhængsafhængige menu. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>En ny ramme vises, og du kan ændre formularens størrelse ved at flytte kanterne. Formularen dækkes af et gitter som forenkler nøjagtig placering af kontrollerne. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>A window with design of a new form</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_03_new_empty_form.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>A window with design of a new form</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</step>
|
|
</procedure>
|
|
<para
|
|
>Ligesom for tabeldesign, sørger <interface
|
|
>formularvinduet</interface
|
|
> for et <interface
|
|
>egenskabsfelt</interface
|
|
>. For at spare plads på skærmen har feltet tre faneblade som hører sammen med den formular som for øjeblikket er valgt: </para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term
|
|
>Fanebladet <guilabel
|
|
>Egenskaber</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Indeholder en liste med egenskaber for den grafiske kontrol som for øjeblikket er markeret.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
>Fanebladet <guilabel
|
|
>Datakilde</guilabel
|
|
> </term>
|
|
<listitem>
|
|
<para
|
|
>Indeholder egenskaber som specifikt har at gøre med <glossterm linkend="gloss-form-data-source"
|
|
>datakilden</glossterm
|
|
> for den grafiske kontrol som for øjeblikket er markeret, eller for selve formularen. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
>Fanebladet <guilabel
|
|
>Grafiske kontroller</guilabel
|
|
> </term>
|
|
<listitem>
|
|
<para
|
|
>Indeholder et hierarki af alle grafiske kontroller i formularen. Listen forenklar opslag af kontroller med navn, og navigering mellem dem. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para
|
|
>Information om navnet på den grafiske kontrol som for øjeblikket er markeret vises på det første og andet faneblad. </para>
|
|
<para
|
|
>Yderligere værktøjslinjer er også tilgængelige:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Værktøjslinjen <guilabel
|
|
>Grafiske kontroller</guilabel
|
|
> bruges til at indsætte nye kontroller i formularen. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Værktøjslinjen <guilabel
|
|
>Formatér</guilabel
|
|
> bruges til at formatere formularens elementer (f.eks. justere kontrollernes størrelse og gruppering). Formateringskommandoer er også tilgængelige i menuen <guimenu
|
|
>Formatér</guimenu
|
|
>. Mere om disse kommandoer findes i <xref linkend="formatmenu"/>. </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2 id="using-the-widgets-tab">
|
|
<title
|
|
>Brug af fanebladet <guilabel
|
|
>Grafiske kontroller</guilabel
|
|
></title>
|
|
<para
|
|
>Fanebladet <guilabel
|
|
>Grafiske kontroller</guilabel
|
|
> i <interface
|
|
>egenskabsfeltet</interface
|
|
> sørger for en liste med formularens kontroller og deres hierarki. Hver kontrol vises inde i hierarkiet sammen med andre kontroller på samme niveau (med samme overliggende omgivende kontrol). Delkontroller (ikke i en omgivende kontrol) vises med indrykkede navne. </para>
|
|
<!--<para
|
|
>In the picture below, the form (a container) contains two widgets:
|
|
<guilabel
|
|
>groupBox2</guilabel
|
|
> and <guibutton
|
|
>options</guibutton
|
|
> command button. In
|
|
turn, <guilabel
|
|
>groupBox2</guilabel
|
|
> (being a container itself) contains two check box
|
|
widgets.
|
|
</para>
|
|
<screenshot>
|
|
<screeninfo
|
|
>Using the <quote
|
|
>Widgets</quote
|
|
> tab</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_04_widgets_tab.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Using the <quote
|
|
>Widgets</quote
|
|
> tab</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<para
|
|
>Hver kontrol vises med sit navn og sin type. Typen vises også med en ikon, den samme som vises på værktøjslinjen som bruges når formularen designes. </para>
|
|
<note>
|
|
<itemizedlist>
|
|
<listitem
|
|
>
|
|
<para
|
|
>At ændre nuværende markering i listen forårsager passende markering i formularen som designes. Dette muliggør enklere opslag af kontroller ifølge navn og enklere navigation. Det er for eksempel muligt at markere en kontrol ifølge navn, og derefter skifte til fanebladet <guilabel
|
|
>Egenskaber</guilabel
|
|
> for at ændre kontrollens egenskaber.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Ved at holde tasten <keycap
|
|
>Ctrl</keycap
|
|
> nede mens et objekt i kontrollisten markeres, er det muligt at markere flere kontroller samtidigt. At holde <keycap
|
|
>Shift</keycap
|
|
> nede gør det muligt at markere en hel liste med kontroller.</para>
|
|
</listitem>
|
|
<!--<listitem>
|
|
<para>
|
|
When widget is inserted, it is recommended to give it a reasonable name.
|
|
For example, <guilabel
|
|
>green</guilabel
|
|
> check box widget has been named specifically
|
|
for its meaning, using the <guilabel
|
|
>Properties</guilabel
|
|
> tab
|
|
(<guilabel
|
|
>Name</guilabel
|
|
> property has been used to do that). Such change
|
|
can make it easier to find a widget within the list.
|
|
</para>
|
|
<screenshot>
|
|
<screeninfo
|
|
>Naming the widget as <guilabel
|
|
>green</guilabel
|
|
></screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_04_renaming_widgets.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Naming the widget as <guilabel
|
|
>green</guilabel
|
|
></phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot>
|
|
</listitem
|
|
>-->
|
|
</itemizedlist>
|
|
</note>
|
|
<para
|
|
>At give grafiske kontroller rimelige navn kan være nyttigt, men kræves ikke. Bemærk at den grafiske kontrols navn er en egenskab som ikke er synlig for brugeren af en formular. Brugere ser kun den grafiske kontrols tekst, som der sørges for ved egenskaben <varname
|
|
>Tekst</varname
|
|
> eller lignende. </para>
|
|
</sect2>
|
|
|
|
<sect2 id="inserting-widgets-text-fields">
|
|
<title
|
|
>Indsætte grafiske kontroller - tekstfelter</title>
|
|
<para
|
|
>Lad os oprette et formular som sørger for information om personer, dvs. en formular sammenkoblet med tabellen <literal
|
|
>personer</literal
|
|
>. </para>
|
|
<para
|
|
>Hvis formularen som designes skal vise data som hentes fra databasen, skal du placere passende <glossterm linkend="gloss-form-field"
|
|
>felter</glossterm
|
|
> på det. Brug knapperne på værktøjslinjen <guilabel
|
|
>Grafiske kontroller</guilabel
|
|
> for at gøre det. Hver knap svarer til en enkelt kontroltype. </para>
|
|
<procedure>
|
|
<step>
|
|
<para
|
|
>Klik på knappen <guibutton
|
|
>Tekstfelt</guibutton
|
|
> på værktøjslinjen <guilabel
|
|
>Grafiske kontroller</guilabel
|
|
>. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Klik på formularens flade med <mousebutton
|
|
>venstre</mousebutton
|
|
> museknap. Et nyt tekstfelt placeres på punktet hvor du klikkede. Inden du slipper knappen kan du trække musen for at angive den ønskede størrelse af kontrollen. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Hvis det behøves, flyttes den indsatte kontrol ved at trække og slippe den på det ønskede sted. Du kan ændre størrelse på kontrollen bagefter ved at trække et af de små felter som ses nær dets hjørne. Hvis du markerer en anden kontrol eller formularens flade, så forsvinder disse felter. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Klik på værktøjslinjens knap <guibutton
|
|
>Tekstfelt</guibutton
|
|
> igen og klik på formularens flade for at indsætte yderligere en grafisk kontrol. Gentag handlingen igen indtil du har tre tekstfelter indsatte i formularen. For enkelhedens skyld begrænser vi os til tre <glossterm linkend="gloss-form-field"
|
|
>datafelter</glossterm
|
|
>. </para>
|
|
</step>
|
|
</procedure>
|
|
<note>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Der er en sammenhængsafhængig menu tilgængelig i formularens designtilstand, som aktiveres ved at klikke med <mousebutton
|
|
>højre</mousebutton
|
|
> museknap på den ønskede kontrol eller på formularens flade. Menuen tilbyder tilvalg såsom <guimenuitem
|
|
>Klip</guimenuitem
|
|
>, <guimenuitem
|
|
>Kopiér</guimenuitem
|
|
>, <guimenuitem
|
|
>Indsæt</guimenuitem
|
|
>, <guimenuitem
|
|
>Slet</guimenuitem
|
|
> og andre, kompleksere. Mange af valgmulighederne tilbydes også via menulinjen, oftest i menuen <guimenuitem
|
|
>Redigér</guimenuitem
|
|
>. Genvejstaster er også tilgængelige for disse kommandoer. Visse tilvalg er kun tilgængelige for bestemte kontroltyper. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Kommandoerne <guimenuitem
|
|
> Klip</guimenuitem
|
|
>, <guimenuitem
|
|
> Kopiér</guimenuitem
|
|
> og <guimenuitem
|
|
> Indsæt</guimenuitem
|
|
> gør det muligt at flytte eller kopiere grafiske kontroller mellem formularer, eller til og med mellem separate databaseprojekter. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>At holde tasten <keycap
|
|
>Ctrl</keycap
|
|
> nede mens du klikker på en kontrol gør det muligt at markere flere kontroller. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>I stedet for at bruge valgmulighederne <guimenuitem
|
|
> Kopiér</guimenuitem
|
|
> og <guimenuitem
|
|
> Indsæt</guimenuitem
|
|
> for at duplikere en kontrol i samme formular kan du holde tasten <keycap
|
|
>Ctrl</keycap
|
|
> nede mens du flytter kontrollen. Når tasten <keycap
|
|
>Ctrl</keycap
|
|
> slippes, flyttes kontrollen som trækkes ikke, men kopieres til det nye sted. </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2 id="assigning-data-sources">
|
|
<title
|
|
>Tildeling af datakilder</title>
|
|
<para
|
|
><glossterm linkend="gloss-form-field"
|
|
>Felter</glossterm
|
|
> du indsatte har ingen <emphasis
|
|
>datakilde</emphasis
|
|
> tildelt endnu, så de kan ikke vise information fra databasen. For at tildele en datakilde, brug fanebladet <guilabel
|
|
>Datakilde</guilabel
|
|
> i <interface
|
|
>egenskabsfeltet</interface
|
|
>. </para>
|
|
<para
|
|
>Det aller første skridt er at angive <glossterm linkend="gloss-form-data-source"
|
|
>formularens datakilde</glossterm
|
|
>, dvs. et sted som de viste data hentes fra. Som nævnt ovenfor, skal du bruge tabellen <literal
|
|
>personer</literal
|
|
> som <glossterm linkend="gloss-form-data-source"
|
|
>datakilde</glossterm
|
|
> i den nye formular. </para>
|
|
<procedure>
|
|
<step>
|
|
<para
|
|
>Klik på formularens flade, eftersom du skal ændre dens egenskaber.</para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Skift til fanebladet <guilabel
|
|
>Datakilde</guilabel
|
|
> og skriv tabelnavnet <literal
|
|
>personer</literal
|
|
> ind i dropned-feltet <guilabel
|
|
>Formularens datakilde</guilabel
|
|
>. Alternativt kan du vælge navnet i dropned-feltets liste. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Entering <glossterm linkend="gloss-form-data-source"
|
|
>form's data source</glossterm
|
|
> name</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_05_entering_form_data_source.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Entering <glossterm linkend="gloss-form-data-source"
|
|
>form's data source</glossterm
|
|
> name</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</step>
|
|
</procedure>
|
|
<para
|
|
>Du har tildelt <glossterm linkend="gloss-form-data-source"
|
|
>formularens datakilde</glossterm
|
|
>. Nu skal du angive de grafiske kontrollers datakilder. </para>
|
|
<procedure>
|
|
<step>
|
|
<para
|
|
>Klik på den første tekstfeltkontrol længst oppe i formularen.</para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Indtast feltnavnet <varname
|
|
>navn</varname
|
|
> i egenskabsfeltets faneblad <guilabel
|
|
>Datakilde</guilabel
|
|
> i dropned-feltet <emphasis
|
|
>Komponentens datakilde</emphasis
|
|
>. Alternativt kan du vælge navnet i dropned-feltets liste. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Entering widget's data source name</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_05_entering_text_field_data_source.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Entering widget's data source name</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Klik på næste tekstfeltkontrol og skriv <varname
|
|
>efternavn</varname
|
|
> ind som datakilde.</para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Indtast datakilder for <glossterm linkend="gloss-form-field"
|
|
>tekstfelterne</glossterm
|
|
> <varname
|
|
>gade</varname
|
|
>, <varname
|
|
>nummer</varname
|
|
> og <varname
|
|
>poststed</varname
|
|
> på lignende måde. </para>
|
|
</step>
|
|
</procedure>
|
|
<para
|
|
>Nu kan du gemme formularens design (det kræves ikke for at teste formularen i brug). Klik på værktøjslinjens knap <guilabel
|
|
>Gem objektændringer</guilabel
|
|
> for at gemme, eller brug menupunktet <menuchoice
|
|
><shortcut
|
|
><keycombo action="simul"
|
|
><keycap
|
|
>Ctrl</keycap
|
|
><keycap
|
|
>S</keycap
|
|
></keycombo
|
|
></shortcut
|
|
> <guimenu
|
|
>Fil</guimenu
|
|
> <guimenuitem
|
|
> Gem</guimenuitem
|
|
></menuchoice
|
|
>. Når du gemmer bliver du bedt om at angive formularens navn. Indtast <literal
|
|
>Personer</literal
|
|
> som overskrift og klik på knappen <guibutton
|
|
>O.k.</guibutton
|
|
>. Formularens navn udfyldes automatisk. </para>
|
|
<para
|
|
>Dette er det rigtige øjeblik at teste formularen. Klik på værktøjslinjens knap <guibutton
|
|
>Skift til datavisning</guibutton
|
|
>. Hvis du ikke lavede nogen fejl da du indtastede datakilderne, skulle du se <glossterm linkend="gloss-form-field"
|
|
>formularens felter</glossterm
|
|
> udfyldte med data fra tabellen <literal
|
|
>personer</literal
|
|
>. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>The <literal
|
|
>Persons</literal
|
|
> form in data view after inserting text fields and assigning data sources</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_06_form_with_text_fields.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>The <literal
|
|
>Persons</literal
|
|
> form in data view after inserting text fields and assigning data sources</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<note>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Hvis du vil fjerne tildelingen af kontrollens <glossterm linkend="gloss-form-data-source"
|
|
>datakilde</glossterm
|
|
> for en formularkontrol, kan du bruge knappen <guibutton
|
|
>Ryd datakilde</guibutton
|
|
> udfor dropned-feltet <guilabel
|
|
>Komponentens datakilde</guilabel
|
|
>. På samme måde kan du bruge knappen <guibutton
|
|
>Ryd datakilde</guibutton
|
|
> udfor dropned-feltet <guilabel
|
|
>Formularens datakilde</guilabel
|
|
>. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Brug knappen <guibutton
|
|
>Gå til markeret datakilde</guibutton
|
|
> for at vælge en passende tabel eller forespørgsel i <interface
|
|
>projektnavigeringen</interface
|
|
>, så du hurtigt kan åbne en tabel eller forespørgsel som er formularens <glossterm linkend="gloss-form-data-source"
|
|
>datakilde</glossterm
|
|
>. </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<!-- TODO: mention about creating Auto Fields by using drag & drop -->
|
|
</note>
|
|
</sect2>
|
|
|
|
<sect2 id="inserting-text-labels">
|
|
<title
|
|
>Indsæt tekstetiketter</title>
|
|
<para
|
|
>For at gøre det enklere for formularens brugere at identificere betydningen af hver feltkontrol bør de have tilhørende tekstetiketter med passende overskrifter. For at oprette tekstetiketter bruges kontrollen <literal
|
|
>Etiket</literal
|
|
>. </para>
|
|
<para
|
|
>Indsæt tre tekstetiketkontroller i formularen, og placér dem til venstre for tekstfelterne (eller til højre hvis operativsystemet bruger højre-til-venstre layout). Når du indsætter en ny etiket vises en tekstmarkør på stedet hvor du kan indtaste den ønskede overskrift. Indtast i rækkefølge: <literal
|
|
>Navn</literal
|
|
>, <literal
|
|
>Efternavn</literal
|
|
> og <literal
|
|
>Gade</literal
|
|
>. Tilføj desuden endnu en etiket længst oppe i formularen som viser formularens navn, dvs. <literal
|
|
>Personer</literal
|
|
>. Forstør etiketten og øg tegnstørrelsen ved at bruge menupunktet <menuchoice
|
|
><guimenu
|
|
>Formatér</guimenu
|
|
> <guimenuitem
|
|
>Skrifttype...</guimenuitem
|
|
></menuchoice
|
|
>. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Ready to use form after adding text labels</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_06_form_with_labels.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Ready to use form after adding text labels</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</sect2>
|
|
|
|
<sect2 id="actions">
|
|
<title
|
|
>Handlinger</title>
|
|
<para
|
|
>En <literal
|
|
>handling</literal
|
|
> er en enkelt isoleret aktivitet i programmet, tilgængelig for brugeren at udføre. Den kan også udføres automatisk som en reaktion på en given begivenhed (f.eks. efter en formular er åbnet). </para>
|
|
|
|
<sect3 id="assigning-actions-to-form-buttons">
|
|
<title
|
|
>Tildel handlinger til formularknapper</title>
|
|
<para
|
|
>Mange handlinger kan tildeles til formularknapper. Den tildelte handling udføres når knappen klikkes. </para>
|
|
<para
|
|
>For at tildele en handling:</para>
|
|
<procedure>
|
|
<step>
|
|
<para
|
|
>Skift til formularens <interface
|
|
>designvisning</interface
|
|
> hvis du ikke allerede har gjort det.</para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Markér den eksisterende knapkontrol ved at klikke på den eller tilføj en ny knapkontrol til formularen. Hvis du indsætter en ny knap, skriv dens overskrift ind og tryk på tasten <keycombo action="press"
|
|
><keycap
|
|
>Enter</keycap
|
|
></keycombo
|
|
>. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Klik på knappens grafiske kontrol med <mousebutton
|
|
>højre</mousebutton
|
|
> museknap for at vise den sammenhængsafhængige menu. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Vælg tilvalget <guimenuitem
|
|
>Tildel handling...</guimenuitem
|
|
> i den sammenhængsafhængige menu. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Dialogen <guilabel
|
|
>Tildel handling til kommandoknap</guilabel
|
|
> vises med en liste over tilgængelige handlinger. En af handlingerne er markeret hvis kontrollen allerede har en tildelt handling. Ellers har dropned-feltet <guilabel
|
|
>Handlingstype</guilabel
|
|
> værdien <guilabel
|
|
>Ingen handling</guilabel
|
|
>. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Vælg punktet <guilabel
|
|
>Program</guilabel
|
|
> i dropned-feltet <guilabel
|
|
>Handlingstype</guilabel
|
|
>. Tilgængelige handlinger for hele programmet vises. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Vælg en af handlingerne i listen (f.eks. <guilabel
|
|
>Fjern række</guilabel
|
|
>).</para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Klik på knappen <guibutton
|
|
>O.k.</guibutton
|
|
> eller tryk på tasten <keycombo action="press"
|
|
><keycap
|
|
>Enter</keycap
|
|
></keycombo
|
|
> for at acceptere dit valg. </para>
|
|
</step>
|
|
</procedure>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Assigning <guilabel
|
|
>Delete Row</guilabel
|
|
> action to a form's button</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_07_assigning_action_to_button.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Assigning <guilabel
|
|
>Delete Row</guilabel
|
|
> action to a form's button</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<para
|
|
>Efter at have skiftet til formularens <emphasis
|
|
>datavisning</emphasis
|
|
> kan du teste om handlingen fungerer. Hvis du for eksempel tildelte handlingen <guilabel
|
|
>Fjern række</guilabel
|
|
>, og klikker på knappen så fjernes den nuværende linje i databasen, på samme måde som at udføre menukommandoen <menuchoice
|
|
><shortcut
|
|
><keycombo action="simul"
|
|
><keycap
|
|
>Ctrl</keycap
|
|
><keycap
|
|
>Delete</keycap
|
|
></keycombo
|
|
></shortcut
|
|
><guimenu
|
|
>Redigér</guimenu
|
|
> <guimenuitem
|
|
>Fjern række</guimenuitem
|
|
></menuchoice
|
|
> (afhængig af dine indstillinger kan du blive bedt om at bekræfte fjernelsen). </para>
|
|
|
|
<note>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>For at fjerne en tildelt handling, vælges <guilabel
|
|
>Ingen handling</guilabel
|
|
> i dropned-feltet <guilabel
|
|
>Handlingstype</guilabel
|
|
> i dialogen <guilabel
|
|
>Tildel handling til kommandoknap</guilabel
|
|
>. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Handlinger fungerer kun i formularens <emphasis
|
|
>datavisning</emphasis
|
|
>: Alle tænkbare tildelinger af handlinger er ikke rimelige. Handlingen <guimenuitem
|
|
>Skrifttype...</guimenuitem
|
|
> er for eksempel tilgængelig i datavisningen, men kun hvis du har markeret en kontrol i <interface
|
|
>designsvisningen</interface
|
|
>. Hvis du ændrer tegnindstillingerne så udføres ændringerne på teksten i den markerede kontrol. </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</note>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="widget-layouts">
|
|
<title
|
|
>Layout af grafiske kontroller</title>
|
|
<para
|
|
>I de fleste tilfælde skal formularens grafiske kontroller være bekvemt arrangerede og justerede. At placere, justere og ændre størrelse på kontroller manuelt er ikke let og parametrene justeres ikke hvis brugeren ændres størrelse på formularen. I virkeligheden er situationen endnu værre, eftersom du ikke kan antage at en givet formular kræver en given størrelse, eftersom brugere har forskellige tegnstørrelser og opløsninger på billedskærmen. </para>
|
|
<!--
|
|
<para>
|
|
The following example presents a form where text fields and labels were
|
|
placed by hand. Some of them cannot fit in the form's window.
|
|
</para>
|
|
<screenshot>
|
|
<screeninfo
|
|
>An example form with widgets that cannot not fit in the window</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_no_fit.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>An example form with widgets that cannot not fit in the window</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<para
|
|
>At bruge et specialværktøj som kaldes kontrollayout kan hjælpe til automatisk at oprette et layout for formularkontroller. Kontrollayout er handlingen at gruppere to eller flere kontroller så at de er godt placerede og har passende størrelser. </para>
|
|
<para
|
|
>At bruge et layout i en formular forbedrer justering af position. Desuden bruges dets plads på en bedre måde. Tekstfelter er nærmere hinanden, og mellemrummet er konstant. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Example form with layout used</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_well_fit.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Example form with layout used</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<para
|
|
>Der er to måder at oprette et layout af grafiske kontroller.</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Markér to eller flere kontroller som skal indgå i et fælles layout, og vælg en af layouttyperne i den sammenhængsafhængige menus punkter <guilabel
|
|
>Layout af grafiske kontroller</guilabel
|
|
> . </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Klik på en omgivende kontrol (eller selve formularens flade), hvor kontroller indsættes og vælg en af layouttyperne med den sammenhængsafhængige menus punkt Layout af grafiske kontroller . Alle kontroller som findes inde i den omgivende kontrol eller inde i formularen på samme niveau tilføjes i et enkelt fælles layout. </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para
|
|
>I begge disse tilfælde kan du også bruge menuen <menuchoice
|
|
><guimenu
|
|
>Formatér</guimenu
|
|
> <guimenuitem
|
|
>Layout af grafiske kontroller</guimenuitem
|
|
></menuchoice
|
|
>. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Selecting widgets that will be put into a layout</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_layout_selecting.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Selecting widgets that will be put into a layout</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot>
|
|
<screenshot>
|
|
<screeninfo
|
|
>Four widgets are selected</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_layout_selected.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Four widgets are selected</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot>
|
|
<screenshot>
|
|
<screeninfo
|
|
>Using the context menu for putting the widgets into a grid layout</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_layout_popup.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Using the context menu for putting the widgets into a grid layout</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<para
|
|
>Kontrollayout vises i designvisningen ved brug af et blåt, grønt eller rødt felt som tegnes med en brudt linje. Denne linje vises kun i formularens designvisning. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Widgets within a grid layout</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_layout_grid.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Widgets within a grid layout</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<para
|
|
>Foruden gittertypen er der andre typer af layout for grafiske kontroller.</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term
|
|
>lodret</term>
|
|
<listitem>
|
|
<para
|
|
>Lodret layout af grafiske kontroller</para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Vertical widget layout</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_layout_vertical.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Vertical widget layout</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
>vandret</term>
|
|
<listitem>
|
|
<para
|
|
>Vandret layout af grafiske kontroller</para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Horizontal widget layout</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_layout_horizontal.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Horizontal widget layout</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</listitem>
|
|
</varlistentry>
|
|
<!-- TODO podzia poziomy / pionowy
|
|
<br
|
|
><img src="img/05_04_08_form_layout_vertical_splitter.png">
|
|
<br
|
|
><br>
|
|
<br
|
|
><img src="img/05_04_08_form_layout_horizontal_splitter.png">
|
|
<br
|
|
><br>
|
|
</li
|
|
> -->
|
|
</variablelist>
|
|
|
|
<sect3 id="springs-in-widget-layouts">
|
|
<title
|
|
>Fjedre i layout af grafiske kontroller</title>
|
|
<para
|
|
>En <emphasis
|
|
>fjeder</emphasis
|
|
> i et kontrollayout er et særligt usynligt element som gør det muligt at justere kontrollers position og størrelse i et layout. En sådan fjeder strækker ud eller presser en kontrol sammen på højre, øvre, nederste eller venstre side, så den får den ønskede størrelse og position. </para>
|
|
<para
|
|
>For at bruge en fjeder:</para>
|
|
<procedure>
|
|
<step>
|
|
<para
|
|
>Vælg fjederikonen i værktøjslinjen <guilabel
|
|
>Grafiske kontroller</guilabel
|
|
>. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Klik på et valgt punkt i formularen for at indsætte fjederen.</para>
|
|
</step>
|
|
</procedure>
|
|
<!--<para>
|
|
For the following example, the spring has been inserted on the left
|
|
hand of the text label "Persons". The label is thus displayed on the
|
|
right hand of the form. To make the spring work, it has been put into
|
|
a common horizontal layout with the label.
|
|
</para>
|
|
<screenshot>
|
|
<screeninfo
|
|
>Horizontal layout containing a spring and a text label</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_spring.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Horizontal layout containing a spring and a text label</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<para
|
|
>For at få fjedre til at fungere skal du oprette en global kontrollayout, dvs. en layout for selve formularen. Derefter kan fjedrene bruge formularens kanter som en grænse for ekspansion. </para>
|
|
</sect3>
|
|
<!--
|
|
|
|
TODO: The entire text in this section is built around a screenshot
|
|
example, so it's commented out for now.
|
|
|
|
<sect3 id="advanced-widget-layouts">
|
|
<title
|
|
>Advanced widget layouts</title>
|
|
<para>
|
|
Widget layouts can be combined (or nested). On the following example
|
|
you can identify two nested layouts:
|
|
</para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>
|
|
Horizontal layout with a spring, aligning the <literal
|
|
>Persons</literal>
|
|
text label to the right.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Grid layout grouping widgets on the whole form.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
<screenshot>
|
|
<screeninfo
|
|
>Two widget layouts combined: horizontal layout inside of a grid layout</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_advanced_layout.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Two widget layouts combined: horizontal layout inside of a grid layout</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot>
|
|
<para>
|
|
The horizontal layout is treated in the example as a single widget by
|
|
the grid layout - it takes exactly one <quote
|
|
>cell</quote
|
|
> of the grid.
|
|
After opening a form designed this way in the data view, you can notice
|
|
(by resizing the form) that:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<literal
|
|
>Persons</literal
|
|
> text label thanks to the spring used is constantly
|
|
aligned to the to the right side of the form.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Text fields take all of the available width thanks to putting them
|
|
into the grid layout.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
All the form's widgets are pushed to the top thanks to the spring
|
|
used at the bottom of the form.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<screenshot>
|
|
<screeninfo
|
|
>The form using the two layouts displayed in data view</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_08_form_advanced_layout_view.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>The form using the two layouts displayed in data view</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot>
|
|
</sect3
|
|
>-->
|
|
|
|
<sect3 id="removing-widget-layouts">
|
|
<title
|
|
>Fjern layout af grafiske kontroller</title>
|
|
<para
|
|
>For at fjerne layout af grafiske kontroller uden at fjerne kontrollerne, udføres en af følgende handlinger: </para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Klik med <mousebutton
|
|
>højre</mousebutton
|
|
> museknap på layoutens kant og vælg kommandoen <guimenuitem
|
|
>Bryd layout</guimenuitem
|
|
> i den sammenhængsafhængige menu. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Klik med <mousebutton
|
|
>venstre</mousebutton
|
|
> museknap på layoutens kant og vælg menupunktet <menuchoice
|
|
><guimenu
|
|
>Formatér</guimenu
|
|
> <guimenuitem
|
|
>Bryd layout</guimenuitem
|
|
></menuchoice
|
|
>. </para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<note>
|
|
<para
|
|
>At fjerne kontrollayouten med kommandoen <guimenuitem
|
|
>Bryd layout</guimenuitem
|
|
> fjerner ikke kontrollerne i layouten. Hvis du også vil fjerne kontrollerne, markere kun layouten ved at klikke på dens kant og tryk på tasten <keycap
|
|
>Delete</keycap
|
|
> eller brug menupunktet <menuchoice
|
|
><guimenu
|
|
>Redigér</guimenu
|
|
> <guimenuitem
|
|
> Slet</guimenuitem
|
|
></menuchoice
|
|
> eller den sammenhængsafhængige menus kommandoer. </para>
|
|
</note>
|
|
</sect3>
|
|
|
|
<sect3 id="size-policies-for-widgets-within-a-layout">
|
|
<title
|
|
>Størrelsespolitik for kontroller i en layout</title>
|
|
<para
|
|
>I stedet for at angive en fast størrelse på kontroller kan du vælge en kontrols størrelsespolitik i &kexi; blandt flere tilgængelige. En <emphasis
|
|
>størrelsespolitik</emphasis
|
|
> er en fleksibel strategi for at styre hvordan en kontrol strækkes ud (eller krymper sammen) afhængig af andre nabokontroller og tilgængelig plads i formularen. </para>
|
|
<para
|
|
>Efter at have indsat kontroller i en <emphasis
|
|
>layout</emphasis
|
|
>, får hver kontrol typisk en proportionel (<guilabel
|
|
>Foretrukken</guilabel
|
|
>) størrelsespolitik. Disse kontroller ændrer automatisk størrelse med foretrukne indstillinger, afhængig af deres type og størrelsen af hele layouten. Tre knapper som indsættes i en vandret layout ændrer for eksempel størrelse så deres synlige tekst får plads. </para>
|
|
<para
|
|
>Der er indstillinger af størrelsespolitik for hver kontrol som indsættes i formularen i <interface
|
|
>egenskabseditoren</interface
|
|
>. Opsætningen præsenteres som en gruppe egenskaber som kaldes <guilabel
|
|
>Størrelsespolitik</guilabel
|
|
>. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>A group of properties for defining a widget's size policy</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_09_size_policy_properties.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>A group of properties for defining a widget's size policy</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<para
|
|
>Denne gruppe af egenskaber indeholder:</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Vandret størrelsespolitik</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>definerer den grafiske kontrols vandrette størrelse,</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Lodret størrelsespolitik</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>definerer den grafiske kontrols lodrette størrelse,</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Vandret strækning</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>definerer aktivitetsstyrken af <guilabel
|
|
>Vandret størrelsespolitik</guilabel
|
|
>, </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Lodret strækning</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>definerer aktivitetsstyrken af <guilabel
|
|
>Lodret størrelsespolitik</guilabel
|
|
> </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<sect4>
|
|
<title
|
|
>Værdier i størrelsespolitik</title>
|
|
<para
|
|
>Følgende værdier er tilgængelige i kombinationsfelterne for egenskaberne <guilabel
|
|
>Vandret størrelsespolitik</guilabel
|
|
> og <guilabel
|
|
>Lodret størrelsespolitik</guilabel
|
|
> som vises i <interface
|
|
>egenskabseditoren</interface
|
|
>: </para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Fast</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>denne værdi betyder at kontrollens størrelse ikke automatisk kan ændres. den skal beholde den konstante størrelse som defineredes de den blev designet (bredde og højde). </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Minimum</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>denne værdi betyder at kontrollens oprindelige størrelse er indstillet til den mindste tilladte værdi, som er tilstrækkelig og der er intet behov af at ekspandere kontrollen, men den kan ekspanderes hvis det behøves. Denne type politik kan bruges til at tvinge kontrollen til at ekspanderes til hele bredden eller højden, især hvis du angiver en strækningsværdi større end 0. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Text field and two buttons within a grid layout (Minimum horizontal size policy is set for both buttons, so these are slightly wider than needed)</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_09_size_policy_minimum.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Text field and two buttons within a grid layout (Minimum horizontal size policy is set for both buttons, so these are slightly wider than needed)</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Maksimum</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>denne værdi betyder at kontrollens oprindelige størrelse er indstillet til den største tilladte værdi, og den kan mindskes hvis det behøves uden at forstyrre kontrolens nyttigthed og læsbarhed hvis andre kontroller behøver mere plads. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Foretrukken</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>denne værdi betyder at kontrollens oprindelige størrelse er den bedste og foretrækkes. Kontrollen kan dog krympes eller ekspanderes og den forbliver læsbar. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Text field and two buttons within a grid layout (Preferred horizontal size policy is set for both buttons)</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_09_size_policy_preferred.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Text field and two buttons within a grid layout (Preferred horizontal size policy is set for both buttons)</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Ekspanderende</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>denne værdi betyder at kontrollens oprindelige størrelse er rimelig men kontrollen kan også krympes. Den kan også ekspanderes til at optage så meget plads som muligt. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Minimum ekspanderende</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>denne værdi betyder at kontrollens oprindelige størrelse er tilladt. Den kan ekspanderes til at optage så meget plads som muligt. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><guilabel
|
|
>Ignoreret</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>denne værdi betyder at kontrollens oprindelige størrelse ignoreres. Kontrollen kan ekspanderes til at optage så meget plads som muligt, men andre kontroller tillader oftest ikke dette. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para
|
|
>Hver kontroltype har en standardstørrelsespolitik. For eksempel har knapkontroller standardstørrelsespolitik indstillet til <guilabel
|
|
>Minimum</guilabel
|
|
> ( i begge retninger), mens tekstfeltkontroller har den lodrette størrelsespolitik indstillet til <guilabel
|
|
>Fast</guilabel
|
|
>. </para>
|
|
<para
|
|
>Oftest brugte størrelsespolitik er <guilabel
|
|
>Foretrukket</guilabel
|
|
>, <guilabel
|
|
>Minimum</guilabel
|
|
> og <guilabel
|
|
>Maksimum</guilabel
|
|
>. </para>
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title
|
|
>Lodret og vandret stræk</title>
|
|
<para
|
|
>Egenskabere <guilabel
|
|
>Lodret stræk</guilabel
|
|
> og <guilabel
|
|
>Vandret stræk</guilabel
|
|
> accepterer heltalsværdier større end eller lig med 0. Disse egenskaber tillader finjustering af en størrelsespolitik. Standardværdi for egenskaberne er 0. En større værdi på stræk betyder at kontrollen ekspanderes mere end kontroller som har en lavere strækværdi indstillet. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Size of button widgets affected by setting Vertical Stretch property of the second button to 1</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_09_size_policy_vertical_stretch.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Size of button widgets affected by setting Vertical Stretch property of the second button to 1</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</sect4>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 id="setting-widgets-size-and-position-by-hand">
|
|
<title
|
|
>Indstil kontrollernes størrelse og position manuelt</title>
|
|
<para
|
|
>I det tilfælde hvor formularen ikke har en hovedlayout indstillet for automatisk placering og størrelsesændring af kontrollerne, må du formodentlig ændre kontrollernes position og størrelse så formularen ser renere ud og bliver enklere at bruge. Formularvinduet i &kexi; forenkler denne opgave ved at tilbyde følgende kommandogruppe: </para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Justér størrelser for markerede kontroller. Disse kommandoer er tilgængelige i menulinjens undermenu <menuchoice
|
|
><guimenu
|
|
>Formatér</guimenu
|
|
> <guisubmenu
|
|
>Justér kontrollernes størrelse</guisubmenu
|
|
></menuchoice
|
|
> og i den sammenhængsafhængige menus undermenu <menuchoice
|
|
><guisubmenu
|
|
>Justér kontrollernes størrelse</guisubmenu
|
|
></menuchoice
|
|
>. Værktøjslinjens dropned-felt <guibutton
|
|
>Justér kontrollernes størrelse</guibutton
|
|
> er også tilgængelig. </para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aofit.png" class="icon"
|
|
>--><guilabel
|
|
>Tilpasning</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Størrelsen for markerede kontroller ændres så størrelsen på hver kontrol ændres til dens foretrukne størrelse og dets indhold, for eksempel en tekstetikettes størrelse, ændres så den passer til teksten. Kontrollens position ændres ikke. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aogrid.png" class="icon"
|
|
>--><guilabel
|
|
>Til gitter</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Størrelsen for markerede kontroller ændres så et hjørne af hver kontrol placeres på formularens gitterpunker (eller på en anden omgivende kontrols gitterpunkter). Kontrollens position kan ændres noget. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aoshortest.png" class="icon"
|
|
>--><guilabel
|
|
>Til korteste</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Højden på markerede kontroller ændres så hver af dem får samme højde som den korteste. Komponenternes positioner ændres ikke. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aotallest.png" class="icon"
|
|
>--><guilabel
|
|
>Til højeste</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Højden på markerede kontroller ændres så hver af dem får samme højde som den længste. Kontrollernes positioner ændres ikke. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aonarrowest.png" class="icon"
|
|
>--><guilabel
|
|
>Til snævreste</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Bredden på markerede kontroller ændres så hver af dem får samme bredde som den smalleste. Kontrollernes positioner ændres ikke. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aowidest.png" class="icon"
|
|
>--><guilabel
|
|
>Til det bredeste</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Bredden på markerede kontroller ændres så hver af dem får samme bredde som den bredeste. Kontrollernes positioner ændres ikke. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Justér positioner for markerede kontroller. Disse kommandoer er tilgængelige i menulinjens undermenu <menuchoice
|
|
><guimenu
|
|
>Formatér</guimenu
|
|
> <guisubmenu
|
|
>Justér kontrollernes position</guisubmenu
|
|
></menuchoice
|
|
> og i den sammenhængsafhængige menus undermenu <menuchoice
|
|
><guisubmenu
|
|
>Justér kontrollernes position</guisubmenu
|
|
></menuchoice
|
|
>. Værktøjslinjens dropned-felt <guibutton
|
|
>Justér kontrollernes position</guibutton
|
|
> er også tilgængelig. </para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aoleft.png" class="icon"
|
|
>--><guilabel
|
|
>Til venstre</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Alle markerede kontrollers venstrekanter flyttes til positionen for venstrekanten på den kontrol som er længst til venstre. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aoright.png" class="icon"
|
|
>--><guilabel
|
|
>Til højre</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Alle markerede kontrollers højrekanter flyttes til positionen for højrekanten på den kontrol som er længst til højre. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aotop.png" class="icon"
|
|
>--><guilabel
|
|
>Øverst</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Alle markerede kontrollers overkanter flyttes til positionen for overkanten på den kontrol som er længst oppe. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aobottom.png" class="icon"
|
|
>--><guilabel
|
|
>Nederst</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Alle markerede kontrollers underkanter flyttes til positionen for underkanten på den kontrol som er længst nede. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term
|
|
><!--<img src="img/aopos2grid.png" class="icon"
|
|
>--><guilabel
|
|
>Til gitter</guilabel
|
|
></term>
|
|
<listitem>
|
|
<para
|
|
>Alle markerede kontrollers øverste venstre hjørne flyttes så de er placerede på nærmeste gitterpunkt. </para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para
|
|
>Ingen af ovenstående kommandoer ændrer kontrollernes størrelse.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para
|
|
>Der er også yderligere kommandoer tilgængelige: <guimenuitem
|
|
>Læg grafisk kontrol øverst</guimenuitem
|
|
> (dvs. ovenpå alle andre kontroller) og <guimenuitem
|
|
>Læg grafisk kontrol underst</guimenuitem
|
|
> (dvs. under alle andre kontroller). Disse to kommandoer bruges sjældent, eftersom det ikke er sædvanligt at placere en kontrol ovenpå en anden (undtagen når en omgivende kontrol indeholder andre kontroller). Bemærk også at det er tilstrækkeligt at klikke på en kontrol med en museknap for at lægge kontrollen øverst. </para>
|
|
</sect2>
|
|
|
|
<sect2 id="setting-the-tab-order">
|
|
<title
|
|
>Angiv tabulatorrækkefølgen</title>
|
|
<para
|
|
>Kontrollens fokus bestemmer tilgængelige aktiviteter med tastaturet. Fokus hører sammen med kontroller som vises i formularens datavisning. Nøjagtigt en kontrol kan have fokus i et givet øjeblik. Den sædvanligste brug af fokus er tekstindtastning (når et givet tekstfelt er aktivt, dvs. har fokus). Et andet eksempel er en knapkontrol: når den har fokus er det muligt at <quote
|
|
>trykke</quote
|
|
> på den ved at bruge tasterne <keycombo action="press"
|
|
><keycap
|
|
>Enter</keycap
|
|
></keycombo
|
|
> eller <keycombo action="press"
|
|
><keycap
|
|
>Mellemrum</keycap
|
|
></keycombo
|
|
> i stedet for med en museknap. </para>
|
|
<para
|
|
>Der er nogle få metoder til at aktivere kontroller (flytte fokus til kontrollen): at klikke med en museknap, at rotere musehjulet over kontrollen, eller bruge tasten <keycombo action="press"
|
|
><keycap
|
|
>Tabulator</keycap
|
|
></keycombo
|
|
>. Den sidste metode bruges ofte på grund af dens hurtighed og bekvemmelighed for brugere. Tilgængeligheden af fokusmetoderne styres af en given kontrols egenskab <guilabel
|
|
>Fokuspolitik</guilabel
|
|
>. </para>
|
|
<para
|
|
>Der er et forhold mellem fokusering (aktivering) af kontroller med tasten <keycombo action="press"
|
|
><keycap
|
|
>Tabulator</keycap
|
|
></keycombo
|
|
> og formularens indstilling af tabulatorrækkefølge. Når tasten <keycombo action="press"
|
|
><keycap
|
|
>Tabulator</keycap
|
|
></keycombo
|
|
> trykkes, skal næste kontrol fokuseres, så formularen skal kende til tabulatorrækkefølgen. </para>
|
|
<para
|
|
>For at ændre tabulatorrækkefølge for formularens kontroller:</para>
|
|
<procedure>
|
|
<step>
|
|
<para
|
|
>Skift til formularens designvisning.</para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Udfør menukommandoen <menuchoice
|
|
><guimenu
|
|
>Redigér</guimenu
|
|
> <guimenuitem
|
|
>Redigér tabulatorrækkefølge...</guimenuitem
|
|
></menuchoice
|
|
>. Dialogen <guilabel
|
|
>Redigér tabulatorrækkefølge</guilabel
|
|
> vises med formularens indstillinger. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>A window for editing tab order for a form</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_11_tab_stop_dialog.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>A window for editing tab order for a form</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
<para
|
|
>Vinduet indeholder en liste med to søjler: den første søjle viser kontrolnavn, den anden kontroltyper. For at gøre det enklere for brugeren at genkende betydningen af navn og typer, vises også ikoner som hører sammen med typerne. Listen indeholder kun kontroller som har en fokuspolitik som tillader at tasten <keycap
|
|
>Tabulator</keycap
|
|
> bruges. Vinduet lader dig ændre tabulatorrækkefølge eller indstille automatisk tabulatorrækkefølge. </para>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>For at ændre tabulatorrækkefølge, enten:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para
|
|
>Klik på et markeret kontrolnavn i kontrollisten og træk det til det ønskede sted (opad eller nedad) ved at bruge musen. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Klik på et markeret kontrolnavn i kontrollisten og brug knapperne <guibutton
|
|
>Flyt nedad</guibutton
|
|
> eller <guibutton
|
|
>Flyt opad</guibutton
|
|
> for at flytte kontrollerne til den ønskede position. </para>
|
|
</listitem>
|
|
<listitem>
|
|
<para
|
|
>Markér afkrydsningsfeltet <guilabel
|
|
>Håndtér tabulatorrækkefølge automatiskt</guilabel
|
|
> for at indstille automatisk tabulatorrækkefølge for formularen. Hvis dette er aktiveret, tages ingen hensyn til eventuelle ændringer som gøres i kontrollisten manuelt. &kexi; håndterer tabulatorrækkefølgen selv. Den automatiske rækkefølge betyder at kontrollen længst oppe til højre fokuseres først (eller længst oppe til højre hvis operativsystemet bruger højre-til-venstre layout), og rækkefølgen bestemmes af venstre til højre (eller højre til venstre) og oppefra og nedad. </para>
|
|
<!--<screenshot>
|
|
<screeninfo
|
|
>Automatic tab order for a form</screeninfo>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="img/05_04_11_auto_tab_stop.png" format="PNG"/>
|
|
</imageobject>
|
|
<textobject>
|
|
<phrase
|
|
>Automatic tab order for a form</phrase>
|
|
</textobject>
|
|
</mediaobject>
|
|
</screenshot
|
|
>-->
|
|
</listitem>
|
|
</itemizedlist>
|
|
</step>
|
|
<step>
|
|
<para
|
|
>Klik på knappen <guibutton
|
|
>O.k.</guibutton
|
|
> for at acceptere ændringerne eller knappen <guibutton
|
|
>Annullér</guibutton
|
|
> for at kassere ændringerne. </para>
|
|
</step>
|
|
</procedure>
|
|
</sect2>
|
|
</sect1>
|