diff options
Diffstat (limited to 'design/xmlformat.tex')
-rw-r--r-- | design/xmlformat.tex | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/design/xmlformat.tex b/design/xmlformat.tex new file mode 100644 index 0000000..c8be47c --- /dev/null +++ b/design/xmlformat.tex @@ -0,0 +1,163 @@ +\section{XML Formatet} +Vi starter med et eksempel: +\begin{verbatim} +<?xml version="1.0" encoding="UTF-8"?> +<macro name="test_macro" cpr="1505050505" version="1.0"> + <window name="mainwindow" + caption="This is the mainwindow" + width="800" + height="600" + layout="vbox"> + <include name="patient"/> + <frame name="data_frame" layout="hbox"> + <label caption="Some field"/> + <lineedit name="lineedit1" regexp="[0-9]+"/> + </frame> + <frame name="bottom_frame" layout="hbox"> + <button caption="Close window" action="abort"/> + <button caption="Commit changes" action="commit"/> + </frame> + </window> +</macro> +\end{verbatim} +Eksemplet illustrerer flg. funktionaliteter: Makroen og den +properties, main vinduet, includes, frames, labels, lineedits og +knapper.\\ +\\ +Det er vigtigt at pointere at alt data i xml dokumentet skal være i +UTF-8 formatering.\\ +\\ +Includes foregår serverside, dvs. klienten modtager det sammensatte +dokument og vil dermed aldrig se \verb|<include ...>| tagget.\\ +\\ +Der skelnes mellem input felter og ikke-input felter. Et input felt er +et felt som ved endt indtastning vil bidrage med input til serveren, +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: +\begin{itemize} +\item \textit{name} - Navnet på elementet. Bruges ved data nedlæsning. +\item \textit{width} - En integer som sætter bredden af + elementet. Hvis den er udeladt benyttes elementets default bredde. +\item \textit{height} - En integer 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. +\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: +\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''. +\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: +\begin{itemize} +\item \textit{caption} - Den tekst som skal vises i framen. Hvis + udeladt vises framen som en tom ramme. +\item \textit{border} - Elementets kant type. Kan have værdierne + ``plain'' eller ``raised'' Hvis udeladt benyttes laves ingen kant. +\item \textit{padding} - En integer som er størelsen på paddingen på + 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. +\end{itemize} + +\subsection{\texttt{lineedit} elementet} +En lineedit benyttes til at læse input fra brugeren i kraft tekst.\\ +Lineediten kan have et regulært udtryk tilknyttet, som validerer input +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: +\begin{itemize} +\item \textit{value} - Den tekst som skal vises i lineediten. Hvis + udeladt vil lineediten være tom. +\item \textit{regexp} - Et regulært udtryk som benyttes til at + validere feltet. Hvis udeladt accepterer feltet alle inputs. Læs + mere om de regulære udtryk her: + \verb|http://doc.trolltech.com/4.3/qregexp.html#introduction| +\end{itemize} + +\subsection{\texttt{textedit} elementet} +En textedit benyttes ligesom lineedit til at læse input fra brugeren i +kraft af tekst.\\ +Textediten kan have et regulært udtryk tilknyttet, som validerer input +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: +\begin{itemize} +\item \textit{value} - Den tekst som skal vises i textediten. Hvis + udeladt vil textediten være tom. +\item \textit{regexp} - Et regulært udtryk som benyttes til at + validere feltet. Hvis udeladt accepterer feltet alle inputs. Læs + mere om de regulære udtryk her: + \verb|http://doc.trolltech.com/4.3/qregexp.html#introduction| +\end{itemize} + +\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: +\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. +\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: +\begin{itemize} +\item \textit{caption} - Den tekst som skal vises i knappen. Hvis + udeladt vises checkboxen uden tekst. +\item \textit{value} - Den værdi som checkboxen har intielt. Kan + ``true'' eller ``false''. Hvis udeladt vil checkboxen 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: +\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''. +\end{itemize} + |