Dégradation harmonieuse d'interfaces utilisateur - UsiXML
Dégradation harmonieuse d'interfaces utilisateur - UsiXML
Dégradation harmonieuse d'interfaces utilisateur - UsiXML
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Enfin, nous devrons veiller à ce que les fonctions déclenchées lors de manipulation de widgets<br />
respectent la propriété de continuité de l’interface. En effet, la manière dont les actions sont<br />
gérées en QTk ne permet pas forcément de bien séparer les fonctions sémantiques spécifiques<br />
à un widget/groupe de widgets de celles qui sont spécifiques au modèle du dialogue d’une<br />
interface, notamment en ce qui concerne les widgets composés. L’accumulateur utilisé dans<br />
notre exemple est là pour le montrer :<br />
fonction sémantique<br />
(OIA)<br />
fonctions sémantiques<br />
(Dialogue)<br />
td(listbox(init:{Dictionary.keys V}<br />
feature:lb1<br />
tdscrollbar:true<br />
background:c(134 133 171)<br />
selectbackground:c(180 179 203))<br />
lr(button(image:{QTk.newImage photo(file:'addAll.gif')}<br />
action:<br />
proc{$}<br />
end<br />
{AccumuleAllElem H.D.lb1 H.D.lb2}<br />
{DrawSquares H.picture V {H.D.lb2 get($)} true}<br />
{ToolTipMaker H.picture {H.D.lb2 get($)}}<br />
width:20<br />
ipadx:3<br />
background:c(134 133 171)<br />
activebackground:c(180 179 203))<br />
…<br />
listbox(feature:lb2<br />
tdscrollbar:true<br />
background:c(134 133 171)<br />
selectbackground:c(180 179 203))<br />
feature:D)<br />
Or, comme nous le verrons plus loin dans ce travail, certains widgets seront plus appropriés<br />
dans certains cas spécifiques de présentation. Ceci implique que nous devrons non seulement<br />
nous arranger pour bien séparer les fonctions sémantiques des autres fonctions de manière à<br />
pouvoir les réinjecter dans les widgets choisis lors de la construction de la présentation, mais<br />
aussi adapter leur mode de déclenchement puisque la manière de déclencher une action n’est<br />
pas la même pour tous les widgets.<br />
5.2 Enrichissement de notre définition d’interface : méthode suivie<br />
L’utilisation du simple modèle du domaine n’est pas suffisante. Nous allons donc dans un<br />
premier temps décrire de manière succinctes les différents modèles qui sont le plus souvent<br />
considérés dans le développement d’interfaces <strong>utilisateur</strong>s.<br />
Ensuite, nous verrons et classifierons les règles de dégradation <strong>harmonieuse</strong> et leur incidence<br />
sur les différents modèles considérés. Pour réaliser cette classification, nous introduirons tout<br />
d’abord les quatre niveaux d’abstraction décrit par le framework Cameleon, ce qui nous<br />
permettra ainsi de structurer les modèles décrits précédemment par rapport à une structure<br />
plus générale. Et enfin, nous déterminerons les différentes règles de dégradation retenues pour<br />
notre application en QTk et donc, par implication, les différents modèles à retenir également,<br />
ainsi que le formalisme choisi pour les spécifier.<br />
52