Projet

Général

Profil

AbulEduExerciceWidgetMessageV1

Mise en place

Méthodes principales

Bouton Fermer

L'AbulEduExerciceWidgetMessageV1 comporte un bouton Fermer, afin de pouvoir être utilisée pour afficher des messages à l'utilisateur, comme peut le faire par exemple une QMessageBox.
Une méthode

abeWidgetSetBtnFermerVisible(bool vraiFaux)

permet de choisir s'il est visible ou pas (il est caché par défaut).
Le clic sur le bouton Fermer va cacher le bouton lui-même et l'AbulEduExerciceWidgetMessageV1.

Exemple d'utilisation

Une méthode d'AbulEduExerciceV1 permet d'afficher un message d'erreur un exercice est lancé dans un module dans lequel ce type d'exercice n'est pas présent.
Cette méthode affiche un AbulEduExerciceWidgetMessageV1, en précisant qu'on veut que le bouton soit visible :

void AbulEduExerciceV1::displayErrorMissingExercise(QString Exercise)
{
    m_uiAbulEduMessage->abeWidgetMessageSetTitre(trUtf8("Exercice absent du module"));
    m_uiAbulEduMessage->abeWidgetMessageSetConsigne(trUtf8("Ce module ne contient aucun exercice de type ")+"<i>"+Exercise+"</i>");
    m_uiAbulEduMessage->abeWidgetMessageSetZoneTexteVisible(true);
    m_uiAbulEduMessage->abeWidgetMessageResize();
    m_uiAbulEduMessage->abeWidgetMessageSetZoneTexteVisible(false);
    m_uiAbulEduMessage->move((getAbeExerciceAireDeTravailV1()-> width() + getAbeExerciceTelecommandeV1()->width() - getAbeExerciceMessageV1()->width())/2,
                    ((getAbeExerciceAireDeTravailV1()-> height() - getAbeExerciceMessageV1()->height())/2));
    m_uiAbulEduMessage->setVisible(true);
    m_uiAbulEduMessage->abeWidgetSetBtnFermerVisible(true);
}

Dans Aller-5.0, l'examen de la clef exerciceActive d'une section donnée provoque soit le lancement de cette méthode et la fermeture de l'exercice, soit le lancement de l'exercice.

Problème des très grands affichages

Quand on veut afficher dans la zone dédiée un texte important, la taille du dessin de fond, même dans sa version "grand", est un problème. C'est le cas en particulier dans Aller quand on choisit d'afficher le texte en début d'exercice. Il est préférable alors de ne pas afficher l'image de fond. Ajoutez dans votre code

        getAbeExerciceMessageV1()->abeWidgetMessageHasImageFond(false);

pour les cas où vous ne voulez pas d'image de fond, il n'y aura plus d'image de fond mais seulement un background-color de la couleur du parchemin d'Aller (#F8FCF4).
Vous aurez en principe besoin d'évaluer le cas où cette image présente ou pas (placement de la consigne sur l'Aire de Jeu). On y accède en testant
if (getAbeExerciceMessageV1()->abeWidgetMessageGetHasImageFond()) {

Redmine Appliance - Powered by TurnKey Linux