From 97f91125b45996994efd4a9964c25202477cb530 Mon Sep 17 00:00:00 2001
From: deva <deva>
Date: Thu, 19 Jul 2007 09:36:30 +0000
Subject: Added the stuff from the evaluation meeting.

---
 design/xmlformat.tex | 129 +++++++++++++++++++++++++++++++++++++++------------
 1 file changed, 100 insertions(+), 29 deletions(-)

(limited to 'design/xmlformat.tex')

diff --git a/design/xmlformat.tex b/design/xmlformat.tex
index 03817a5..781bb24 100644
--- a/design/xmlformat.tex
+++ b/design/xmlformat.tex
@@ -2,7 +2,7 @@
 Vi starter med et eksempel:
 \begin{verbatim}
 <?xml version="1.0" encoding="UTF-8"?>
-<macro name="test_macro" cpr="1505050505" version="1.0">
+<macro name="test_macro" cpr="1505050505" version="1.0" macro_version="1.0">
   <window name="mainwindow"
           caption="This is the mainwindow"
           width="800"
@@ -14,6 +14,7 @@ Vi starter med et eksempel:
       <lineedit name="lineedit1" regexp="[0-9]+"/>
     </frame>
     <frame name="bottom_frame" layout="hbox">
+      <spacer />
       <button caption="Close window" action="abort"/>
       <button caption="Commit changes" action="commit"/>
     </frame>
@@ -36,53 +37,86 @@ f.eks. LineEdit, Combo eller CheckBox. Ikke-input felter er
 felter som udelukkende bidrager til layout og brugerens forståelse af
 inputfelterne, f.eks. Frame, Image eler Label.
 
-\subsection{Generelle attributer}
-Alle GUI elementerne i xml dokumentet har flg. attributer:
+\subsection{\texttt{macro} elementet}
+Makro elementet brges som indpakning til hele makroen. Den
+identificerer makroen og angiver en række værdier som skal bruges til
+opsætning på klienten.\\
+Makroen har flg. attributter:
+\begin{itemize}
+\item \textit{name} - Navnet på makroen. Navnet skal matche det navn
+  som klienten har bedt om.\\
+  Navnet må udelukkende indeholdene de almindelige bogstaver, samt
+  underscore, dvs. \verb|[a-z0-9_]+|, hvis det skrives ud som regulært
+  udtryk.\\
+  Dette felt må ikke undlades.
+\item \textit{cpr} - CPR nummeret på den patient som makroen er
+  knyttet til. Dette CPR nummer skal matche det CPR nummer som
+  klienten har bedt om.\\
+  Bruges blandt andet ved den afsluttende lagring af data.\\
+  Dette felt må ikke undlades.
+\item \textit{version} - Dette felt fortæller hvilken version af XML
+  specifikationen som er benyttet i dokumentet.\\
+  Denne variabel skal matche den version klienten forventer.\\
+  Dette felt må ikke udelades.
+\item \textit{macro\_version} - Dette felt fortæller hvilken version 
+  den konkrete makro har.\\
+  Dette felt må ikke udelades.
+\end{itemize}
+
+\subsection{\texttt{include} elementet}
+Include elementet kan kun frekomme serverside, hvor det vil blive
+udvidet med den angivne makro.\\
+Serveren indsætter alle elementer fra (og ikke med) makroens rodvindue
+og indad på det sted hvor include elementet befinder sig.\\
+Include har flg. attributter: 
+\begin{itemize}
+\item \textit{name} - Navnet på den makro som skal inkluderes.
+\item \textit{disabled} - Angiver om den indsatte makro skal
+  disables. Kan have værdierne ``true'' eller ``false''. Hvis udeladt
+  benyttes værdien ``false''.
+\end{itemize}
+
+\subsection{Generelle GUI attributter}
+Alle GUI elementerne i xml dokumentet har flg. attributter:
 \begin{itemize}
 \item \textit{name} - Navnet på elementet. Bruges ved data
   nedlæsning.\\
   Navnet må udelukkende indeholdene de almindelige bogstaver, samt
   underscore, dvs. \verb|[a-z0-9_]+|, hvis det skrives ud som regulært
   udtryk.\\
-  Navnet skal være unikt på det niveau hvor elementet befinder sig.
+  Navnet skal være unikt på det niveau hvor elementet befinder sig.\\
+  Navnet må ikke undlades.
 \item \textit{width} - Et positivt heltal som sætter bredden af
   elementet. Hvis den er udeladt benyttes elementets default bredde.
 \item \textit{height} - Et positivt heltal som sætter højden på
   elementet. Hvis den er udeladt benyttes elementets default højde.
-\item \textit{layout} - Elementets layout engine. Kan have værdierne
-  ``hbox'' eller ``vbox''. Hvis udeladt benyttes et tomt layout.
 \item \textit{help} - Elementets hjælpetekst. En beskrivende tekst som
   vises på skærmen når elementet er aktivt. Hvis udeladt vises
   ingenting.
+\item \textit{disabled} - Denne attribut kan være enten ``true'' eller
+  ``false''. Hvis den er ``true'' vil elementet blive tegnet disabled
+  samt alle dets children rekursivt. Hvis undladt benyttes værdien ``false''.
 \end{itemize}
 
 \subsection{\texttt{window} elementet}
 Et vindue benyttes som moder element, til at indsætte andre elementer
 i. Det vil optræde som et vindue på skærmen med kanter, vinduestitel,
 ikon osv.\\
-Et vindue har flg. attributer:
+Et vindue har flg. attributter:
 \begin{itemize}
 \item \textit{caption} - Den tekst som skal vises i labelen. Hvis
   udeladt vises ingen tekst i elementet.
 \item \textit{fixed} - Angiver om vinduet kan skaleres eller om det er
   statisk. Kan have værdierne ``true'' eller ``false''. Hvis udeladt
   vil vinduet kunne skaleres.
-\end{itemize}
-
-\subsection{\texttt{label} elementet}
-En label benyttes til at indsætte beskrivejnde tekst i makroen.\\
-En label har flg. attributer:
-\begin{itemize}
-\item \textit{caption} - Den tekst som skal vises i labelen. Hvis
-  udeladt vises ingen tekst i elementet.
-\item \textit{alignment} - Justeringen af teksten. Kan have værdierne
-  ``left'', ``right'' eller ``center''. Hvis udeladt benyttes ``left''.
+\item \textit{layout} - Vinduets layout engine. Kan have værdierne
+  ``hbox'' eller ``vbox''. Hvis udeladt benyttes et vbox layout.
 \end{itemize}
 
 \subsection{\texttt{frame} elementet}
 En frame benyttes til at indsætte nestede elementer i makroen, såsom
 gruperinger af radio buttons.\\
-En frame har flg. attributer:
+En frame har flg. attributter:
 \begin{itemize}
 \item \textit{caption} - Den tekst som skal vises i framen. Hvis
   udeladt vises framen som en tom ramme.
@@ -92,6 +126,22 @@ En frame har flg. attributer:
   elementet. Hvis udeladt benyttes elementets default padding.
 \item \textit{margin} - En integer som er størelsen på elementets
   margin. Hvis udeladt benyttes elementets default margin.
+\item \textit{layout} - Framens layout engine. Kan have værdierne
+  ``hbox'' eller ``vbox''. Hvis udeladt benyttes et vbox layout.
+\end{itemize}
+
+\subsection{\texttt{spacer} elementet}
+Et spacer element bruges for at pakke andre elementer i et layout.\\
+En spacer har ingen attributter.
+
+\subsection{\texttt{label} elementet}
+En label benyttes til at indsætte beskrivejnde tekst i makroen.\\
+En label har flg. attributter:
+\begin{itemize}
+\item \textit{caption} - Den tekst som skal vises i labelen. Hvis
+  udeladt vises ingen tekst i elementet.
+\item \textit{alignment} - Justeringen af teksten. Kan have værdierne
+  ``left'', ``right'' eller ``center''. Hvis udeladt benyttes ``left''.
 \end{itemize}
 
 \subsection{\texttt{lineedit} elementet}
@@ -100,7 +150,7 @@ Lineediten kan have et regul
 mens der tastes og ændrer feltets baggrundsfarve afhængig af om feltet
 indeholder valid data eller ej.\\
 Feltet er et et linies felt.\\
-En lineedit har flg. attributer:
+En lineedit har flg. attributter:
 \begin{itemize}
 \item \textit{value} - Den tekst som skal vises i lineediten. Hvis
   udeladt vil lineediten være tom.
@@ -117,7 +167,7 @@ Textediten kan have et regul
 mens der tastes og ændrer feltets baggrundsfarve afhængig af om feltet
 indeholder valid data eller ej.\\
 Feltet er modsat lineedit et flerliniers felt.\\
-En textedit har flg. attributer:
+En textedit har flg. attributter:
 \begin{itemize}
 \item \textit{value} - Den tekst som skal vises i textediten. Hvis
   udeladt vil textediten være tom.
@@ -130,20 +180,21 @@ En textedit har flg. attributer:
 \subsection{\texttt{button} elementet}
 En knap kan benyttes til enten at afbryde makroen eller at acceptere
 dens indhold og dermed gemme dataene på serveren.\\
-En knap har flg. attributer:
+En knap har flg. attributter:
 \begin{itemize}
 \item \textit{caption} - Den tekst som skal vises i knappen. Hvis
   udeladt vises knappen uden tekst.
 \item \textit{action} - Den handling som skal udføres når der trykkes
-  på knappen. Kan være ``abort'' eller ``commit'', hvor ``abort
-  afbryder makroen, og ``commit'' gemmer makroen i databasen og i
-  journalen. Hvis udeladt vil en inaktiv knap blive produceret.
+  på knappen. Kan være ``abort'', ``commit'' eller ``reset'', hvor ``abort''
+  afbryder makroen, ``commit'' gemmer makroen i databasen og i
+  journalen og ``reset'' fjerner alle indtastede data. Hvis udeladt
+  vil en inaktiv knap blive produceret.
 \end{itemize}
 
 \subsection{\texttt{checkbox} elementet}
 En checkbox bruges til at aktivere eller deaktivere en given værdi ved
 hjælp af flueben.\\
-En checkbox har flg. attributer:
+En checkbox har flg. attributter:
 \begin{itemize}
 \item \textit{caption} - Den tekst som skal vises i knappen. Hvis
   udeladt vises checkboxen uden tekst.
@@ -152,17 +203,37 @@ En checkbox har flg. attributer:
   ``false''.
 \end{itemize}
 
+\subsection{\texttt{togglebutton} elementet}
+En togglebutton bruges til at aktivere eller deaktivere en given værdi ved
+brug af en trykknap.\\
+En togglebutton har flg. attributter:
+\begin{itemize}
+\item \textit{caption} - Den tekst som skal vises i knappen. Hvis
+  udeladt vises knappen uden tekst.
+\item \textit{value} - Den værdi som knappen har intielt. Kan
+  ``true'' eller ``false''. Hvis udeladt vil den få værdien
+  ``false''.
+\end{itemize}
+
 \subsection{\texttt{radiobutton} elementet}
 En radiobutton bruges til at vælge et element ud af en gruppe.\\
-En radiobutton tilhører automatisk den samme gruppe som resten af de
-radiobuttons som befinder sig i samme widget (f.eks frame eller
-window).\\
-En radiobutton har flg. attributer:
+En radiobutton har flg. attributter:
 \begin{itemize}
 \item \textit{caption} - Den tekst som skal vises i knappen. Hvis
   udeladt vises radiobuttonen uden tekst.
 \item \textit{value} - Den værdi som radiobuttonen har intielt. Kan
   ``true'' eller ``false''. Hvis udeladt vil checkboxen få værdien
   ``false''.
+\item \textit{group} - Et id som beskriver hvilken gruppe
+  radiobuttonen er en del af. Gruppe id'et kan have værdier i
+  \verb|[a-z0-9_]+|.\\
+  Hvis udeladt tilhører den automatisk den samme gruppe som resten af
+  de radiobuttons som befinder sig i samme widget (f.eks frame eller
+  window).\\
 \end{itemize}
 
+\subsection{\texttt{combobox} elementet}
+Kommer snart...
+
+\subsection{\texttt{listbox} elementet}
+Kommer snart...
-- 
cgit v1.2.3

