summaryrefslogtreecommitdiff
path: root/design
diff options
context:
space:
mode:
authordeva <deva>2007-07-19 09:36:30 +0000
committerdeva <deva>2007-07-19 09:36:30 +0000
commit97f91125b45996994efd4a9964c25202477cb530 (patch)
tree77965d17344e8c7da06c9cb2fa2343a3be61f9d9 /design
parentfbd63562dbc7ca72f2318edbb60d04f595c2a552 (diff)
Added the stuff from the evaluation meeting.
Diffstat (limited to 'design')
-rw-r--r--design/client.tex4
-rw-r--r--design/preamble.tex1
-rw-r--r--design/transmission.tex12
-rw-r--r--design/xmlformat.tex129
4 files changed, 111 insertions, 35 deletions
diff --git a/design/client.tex b/design/client.tex
new file mode 100644
index 0000000..94613fe
--- /dev/null
+++ b/design/client.tex
@@ -0,0 +1,4 @@
+\section{Klienten}
+Klienten skal vise GUIet som XMLMakroen foreskriver.\\
+Hvis brugerens sk�rmopl�sning er mindre end top vinduets h�jde
+og bredde angivelser skal vinduet konstrueres med scrollbars.
diff --git a/design/preamble.tex b/design/preamble.tex
index 8b2eac7..b916ab7 100644
--- a/design/preamble.tex
+++ b/design/preamble.tex
@@ -133,6 +133,7 @@
\include{xmlformat}
\include{transmission}
+\include{client}
\end{document}
%*********************************************
diff --git a/design/transmission.tex b/design/transmission.tex
index 9f04aeb..2823c0c 100644
--- a/design/transmission.tex
+++ b/design/transmission.tex
@@ -1,19 +1,19 @@
\section{Data transmission}
-En transmission best�r af en r�kke deltransmissioner som afh�nger af burgerens handling.
+En transmission best�r af en r�kke deltransmissioner som afh�nger af
+brugerens handling.
\begin{itemize}
\item Klienten beder om en XMLMakro by-name.
\item Serveren genererer makroen og sender den til klienten i en XML
- stream.
+ stream. Forbindelsen lukkes efter end overf�rsel.
\item Brugeren udfylder input felterne og trykker p� ``commit'' eller
``abort'' knappen.
-\item Hvis der blev trykket ``abort'' lukkes vinduet og en ABORT besked
- sendes til serveren som afbryder transmissionen.
+\item Hvis der blev trykket ``abort'' lukkes vinduet.
\item Hvis der blev trykket ``commit'' genereres et XML dokument p�
klienten indeholdene alle input felternes navne og deres tilh�rende
v�rdier.
-\item Dette XML dokument sendes til serveren.
+\item Dette XML dokument sendes til serveren via en nyoprettet forbindelse.
\item Serveren producerer en plaintext klump som repr�senterer
-\item Texten sendes til klienten som appender til den PC-Praxis
+\item Teksten sendes til klienten som appender til den PC-Praxis
journalfilen.
\item Klienten svarer til serveren at alt gik godt (eller det modsatte) og
makrovinduet lukkes.
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�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:
+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�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:
+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...