Organisation graphique V1¶
L'organisation graphique V1 doit être expliquée pour qu'un développeur qui souhaite créer un logiciel à l'aide de la boite à outils V1 puisse comprendre comment s'organisent les différents outils.
Dans un premier temps nous avons fait des logiciels à plusieurs fenêtres, comme par exemple Calul-Mental V1 et suite à cette expérience et différents retours nous avons décidés de privilégier les applications à une seule fenêtre.
Il faut voir cette organisation comme un empilement de calques d'un logiciel de dessin. Pour plus de détails vous pouvez consulter le compte rendu du week end de travail du 19-20 novembre 2011 Les captures d'écran que vous trouverez sur cette page sont celles du logiciel ALLER, chaque logiciel aura son thème graphique mais l'organisation structurelle sera la même (sauf pour quelques exceptions comme toujours).
Les contraintes graphiques sont indiquées dans les documentations suivantes:- Les décors
- L'interface des exercices
- Les personnages
- Intégration des ressources RyXéo par les développeurs
- Voir le paragraphe "logiciels du terrier" de Ressources graphiques
- à la base une QMainWindow dont on vous conseille de faire une classe dérivée, cette classe hérite donc de QMainWindow. Dans cette fenêtre principale vous ajoutez une QFrame (fr_principale par exemple)
- ensuite dans cette fenêtre principale une AbulEduPageAccueilV1, reportez vous à sa documentation pour plus de détails. Le graphiste peut utiliser un éditeur de page d'accueil: AbulEduEditeurPageAccueil
m_config = new QSettings("conf/default/settings.conf", QSettings::IniFormat); gv_Accueil = new AbulEduPageAccueilV1(m_config, &m_texteBulles, ui->fr_principale); connect(gv_Accueil, SIGNAL(boutonPressed(int)), this, SLOT(abeLanceExo(int)));
- et depuis la fonction abeLanceExo vous utiliserez AbulEduCommonStatesV1:
void MainWindow::abeLanceExo(int numero) { switch (numero) { case 0: qDebug()<<"Exercice No :"<< numero<<" Flash"; break; case 1: { ExerciceOrdreAlpha2 *b = new ExerciceOrdreAlpha2(); b->getAbeExerciceAireDeTravailV1()->setParent(gv_Accueil); b->getAbeExerciceAireDeTravailV1()->show(); b->getAbeExerciceTelecommandeV1()->setParent(gv_Accueil); b->getAbeExerciceTelecommandeV1()->move(745,100); b->getAbeExerciceTelecommandeV1()->show(); .../...
Qui apporte une télécommande | |
et une aire de travail |