Générateurs d'interface

Ce sont des outils de haut niveau et qui sont destinés à produire automatiquement une partie de l'application interactive comme un squelette d'application interactive.
Certains générateurs sont eux-même des outils interactifs permettant de construire interactivement la description d'une partie de l'application interactive.
Ils sont composés généralement de 3 parties :
-éditeur intéractif permettant de construire par manipulation directe la présentation de l'interface, de spécifier une partie de ses fonctions de rappels + un mode test,
-compilateur qui traduit la description en un module,
-module d'éxécution (=run-time) qui doit être inclus dans l'application finale.
Il y a 2 façons de produire une application intéractive.
La première a pour avantage le fait que l'on n'est pas obligé de recompiler toute l'application à chaque fois que l'on modifie l'interface mais l'inconvénient est que l'application n'est pas autonome, on doit changer le module d'interface à chaque éxécution. Cette manière est donc adapté à la phase de l'élaboration de l'interface.
La deuxième façon a l'avantage que l'application est autonome et performante et ne dépend pas d'un module à charger à chaque fois,mais si on veut modifier l'interface, on doit refaire l'édition de liens. Elle est donc particulièrement adaptée à la phse finale.

Avantages des générateurs d'interface

-Création des interfacespar manipulation directe,
-Une partie de l'interface peut-être testée immédiatement,
-Test de l'enchaînement des boîtes de dialogue, l'activation/désactivation des items d'un menu...

Inconvénients

Focalisation sur la partie interface.

Exemple d'outil de conception d'application avec l'interface homme-machine : Visual C++

Outil intéractif regroupant plusieurs fonctionalités :
-un générateur de code (AppWizard),
-un éditeur de texte,
-un compilateur C/C++,
-un éditeur graphique de ressources,
-un compilateur de ressources,
-un éditeur de liens,
-un mainteneur de code de classes (ClassWizard),
-un débogueur,
-un explorateur de sources,
-divers outils et bibliothèques (MFC,...).

AppWizzard

Permet de générer automatiquement un squelette d'application ainsi qu'une création rapide du canevas d'application.
Avantages :
-temps de développement réduit,
-structure de code plus standardisée,
-maintenance simplifiée.

On peut utiliser le style d'application: Document (données et traitement de données) / Vue (affichage de données)

Class CAppliDoc
{...
/*données*/...
}

Class CAppliVue
{...
/*visualisation des données*/...
}

La passerelle est la fonction CAppliView ii GetDocument()
AppWizard générera dans ce cas 5 classes donc 10 fichiers (1 .cpp et 1.h pour chaque classe)
-CAppliApp : paramètre de l'application
-CMainFrame : fenêtre principale de l'application
-CAppliDoc : données
-CChildFrame : sous-fenêtre pour la vue (pas présente dans toutes les applications)
-CAppliView : vue
+ autres fichiers complémentaires.

Plusieurs types d'applications :
-SDI=Single Document Interface
-MDI=Multiple Document Interface
-BDD=basées sur les boîtes de dialogue
Pour la $ 1^{ere}$ et la $ 3^{eme}$, il n'y a pas de classe CChildFrame.

ClassWizard

C'est une application à base de boîtes de dialogue. Elle permet de générer graphiquement les classes, les variables et les fonctions de ces classes.
On a :
-un agencement du code, des fonctions donc on évite les erreurs de syntaxe,
une gestion automatique des identificateurs donc pas de risque de doublon,
-la rapidité.



Subsections
Watier Yves 2004-11-28