<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="primary-windows" xml:lang="sv">

  <info>
    <link type="guide" xref="patterns#primary"/>
    <desc>Huvudfönster för ditt program</desc>
    <credit type="author">
      <name>Allan Day</name>
      <email>aday@gnome.org</email>
    </credit>
    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Anders Jonsson</mal:name>
      <mal:email>anders.jonsson@norsjovallen.se</mal:email>
      <mal:years>2015, 2018</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Sebastian Rasmussen</mal:name>
      <mal:email>sebras@gmail.com</mal:email>
      <mal:years>2017, 2018</mal:years>
    </mal:credit>
  </info>

<title>Primära fönster</title>

<media type="image" mime="image/svg" src="figures/patterns/primary-windows.svg"/>

<p>Primära fönster är den grundläggande högnivåbehållaren för ditt programs användargränssnitt, och bör presentera kärnfunktionaliteten för ditt program.</p>

<section id="when-to-use">
<title>När ska de användas</title>

<p>Varje program bör visa ett primärt fönster då dess startare har aktiverats. Detta inkluderar program som främst tillhandahåller en bakgrundstjänst.</p>

</section>

<section id="application-types">
<title>Programtyper</title>

<p>Det finns två huvudmodeller för primära fönster:</p>

<section id="single-instance-applications">
<title>Enkelinstansprogram</title>

<p>Enkelinstansprogram har ett ensamt primärt fönster. Denna modell är vanlig för meddelandeprogram så som e-post, chatt eller kontakter.</p>

</section>

<section id="multiple-instance-applications">
<title>Flerinstansprogram</title>

<p>Flerinstansprogram kan ha flera primära fönster. Typiskt kommer varje primärt fönster att vara identiskt. Flerinstansprogram är ofta visare eller redigerare, så som för dokument eller bilder.</p>

<p>Både enkel- och flerinstansprogram kan tillåta att flera innehållsobjekt öppnas, antingen genom användandet av <link xref="tabs">flikar</link> eller genom navigering av bläddrarstil. Flera fönster erbjuder dock ytterligare förmåga, vilket inkluderar:</p>

<list>
<item><p>Att visa flera innehållsobjekt vid sidan om varandra.</p></item>
<item><p>Att placera innehåll på olika arbetsytor.</p></item>
<item><p>Att organisera uppsättningar av innehåll in i olika fönster (om flikar används).</p></item>
</list>

<section id="parent-child-primary-windows">
<title>Överordnade/underordnade primära fönster</title>

<p>Flerinstansprogram har typiskt identiska primära fönster (exempelvis i fallet med flera webbläsarfönster). Detta är dock inte alltid fallet.</p>

<p>Primära fönster kan ha en överordnad/underordnad-relation. I denna slags program finns det alltid bara ett överordnat fönster, Detta innehåller typiskt en översikt av innehållsobjekt som kan öppnas i det överordnade fönstret, eller i ett avskilt underordnat fönster. Detta tillåter att flera innehållsobjekt kan vara öppna samtidigt.</p>

<p>Medan underordnade fönster bara kan öppnas genom ett överordnat fönster så är de inte beroende av dem för att förbli öppna: att stänga det överordnade fönstret resulterar inte i stängandet av programmets underordnade fönster.</p>

<p>GNOME:s program <app>Anteckningar</app> är ett bra exempel på överordnade/underordnade primära fönster.</p>

</section>

</section>
</section>

<section id="general-guidelines">
<title>Allmänna riktlinjer</title>

<list>
<item><p>Ett ensamt primärt fönster bör alltid visas då ditt program startas.</p></item>
<item><p>Om din programstartare aktiveras medan ditt program körs bör alla dess primära fönster visas.</p></item>
<item><p>Primära fönster bör innehålla ditt programs huvudfunktionalitet. Förlita dig inte på dialogrutor eller sekundära fönster för att erbjuda grundläggande funktionalitet.</p></item>
<item><p>Primära fönster bör vara oberoende — att stänga ett primärt fönster bör inte resultera i att andra primära fönster stängs.</p></item>
<item><p>Dialogfönster bör alltid vara beroende av ett primärt fönster. Se riktlinjerna på <link xref="dialogs">dialogsidan</link>.</p></item>
<item><p>Riktlinjerna kring <link xref="display-compatibility">skärmkompatibilitet</link> är speciellt relevanta för primära fönster: se till att säkerställa att de följer rådet om minsta visningsstorlekar, skärmformat och halvbreddsfästning.</p></item>
<item><p><gui>Avsluta</gui> bör stänga alla primära fönster.</p></item>
</list>

</section>

<section id="api-reference">
<title>API-referens</title>

<list>
<item><p><link href="https://developer.gnome.org/gtk3/stable/GtkWindow.html">GtkWindow</link></p></item>
<item><p><link href="https://developer.gnome.org/gtk3/stable/GtkApplicationWindow.html">GtkApplicationWindow</link></p></item>
</list>

</section>

</page>
