AbulEduDemoV1¶
DOCUMENTATION OBSOLÈTE¶
Cette documentation est obsolète et nous vous conseillons plutôt de suivre l'Utilisation de l'assistant AbulEduApplicationV1
DOCUMENTATION OBSOLÈTE¶
Les outils V1 fournissent un schéma pour la création de logiciels de type "exerciseur" comme calcul mental, Aller...ABulEduDemoV1 intègre les classes :
- AbulEduApplicationV1, qui fourni le nom long, la vérification des mises à jour, les plugins...
- AbulEduExerciceV1: les exercices
- AbulEduStateMachineV1 : une machine à états finis qui implémente le déroulé d'une séquence d'exercices comportant chacun un certain nombre d'items. Cette partie ne devrait pas être modifiée lors de la création d'un nouvel exercice ;-)
- AbulEduCommonStatesV1 : une spécialisation de la classe précédente, gérant les transitions animées.
- AbulEduDemo utilise aussi d'autres outils comme AbulEduFlatBoutonV1...
Prérequis¶
Pour nous faciliter le travail (faudra voir à l'usage !), nous utilisons un plugin de Bazaar : bzr-externals. Il permet d'avoir dans un projet des projets externes et de les gérer simplement !
Il faut donc installer auparavant ce plugin sur votre ordinateur : voir ici bzr-externals
Ceci fait, on peut récupérer les sources :
git clone http://redmine.abuledu.org/ryxeo/leterrier-developpeurs/abuledudemov1.git
Créer un exercice¶
Dans les fichiers sources, il y a un fichier abuledumaquette.cpp implémentant le squelette d'une application. Je vous propose alors de copier son contenu (ainsi que celui du .h) dans les fichiers d'une Nouvelle Classe AbulEduMonNouvelExercice (pensez à modifier les include) et de travailler dans ces nouveaux fichiers, et à changer les AbulEduMaquette:: en AbulEduMonNouvelExercice::
Pour "transformer" votre application¶
Comme il y a beaucoup de bzr eadd à faire, une modification du .pro et qu'on essaye toujours de se simplifier la vie au lieu de la rende plus pénible, vous pouvez copier/coller ceci en une seule passe pour transformer votre application "qt basique" en une "application abuledu avec statemachine et bien plus encore":
- récupération de toutes les branches externes
bzr eadd http://redmine.ryxeo.com/code/leterrier-developpeu/abuleduconstantesv1 lib/abuleduconstantesv1 bzr eadd http://redmine.ryxeo.com/code/leterrier-developpeu/abuleduapplicationv1 lib/abuleduapplicationv1 bzr eadd http://redmine.ryxeo.com/code/leterrier-developpeu/abuledutetev1 lib/abuledutetev1 bzr eadd http://redmine.ryxeo.com/code/leterrier-developpeu/abuledustatemachinev1/ lib/abuledustatemachinev1 bzr eadd http://redmine.ryxeo.com/code/leterrier-developpeu/abuleducommonstatesv1/ lib/abuleducommonstatesv1 bzr eadd http://redmine.ryxeo.com/code/leterrier-developpeu/abuleduexercicev1/ lib/abuleduexercicev1 bzr eadd http://redmine.ryxeo.com/code/leterrier-developpeu/abuleduflatboutonv1/ lib/abuleduflatboutonv1 bzr eadd http://redmine.ryxeo.com/code/leterrier-developpeu/abuledupageaccueilv1/ lib/abuledupageaccueilv1
- ajouter dans votre .pro
include(lib/abuleduapplicationv1/abuleduapplicationv1.pri) include(lib/abuleduflatboutonv1/abuleduflatboutonv1.pri) include(lib/abuleduconstantesv1/abuleduconstantesv1.pri) include(lib/abuleduexercicev1/abuleduexercicev1.pri) include(lib/abuledustatemachinev1/abuledustatemachinev1.pri) include(lib/abuleducommonstatesv1/abuleducommonstatesv1.pri) include(lib/abuledutetev1/abuledutetev1.pri) include(lib/abuledupageaccueilv1/abuledupageaccueilv1.pri)