~s-cecilio/lenmus/v5.3

« back to all changes in this revision

Viewing changes to src/exercises/ExerciseCtrol.cpp

  • Committer: cecilios
  • Date: 2011-06-12 17:25:18 UTC
  • Revision ID: svn-v4:2587a929-2f0e-0410-ae78-fe6f687d5efe:branches/TRY-5.0:687
Initial update for v5.0 first working core using lomse

Show diffs side-by-side

added added

removed removed

Lines of Context:
154
154
    : lmEBookCtrol(parent, id, pConstrains, pos, size, style)
155
155
    , m_nDisplaySize(nDisplaySize)
156
156
    , m_pConstrains(pConstrains)
 
157
    , m_nRespAltIndex(-1)
157
158
    , m_nNumButtons(0)
158
159
    , m_fQuestionAsked(false)
159
160
    , m_pProblemManager((lmProblemManager*)NULL)
514
515
 
515
516
    if (m_fQuestionAsked)
516
517
    {
517
 
        // There is a question asked. The user press the button to give the answer
 
518
        // There is a question asked but not answered.
 
519
        // The user press the button to give the answer
518
520
 
519
521
        //verify if success or failure
520
522
        bool fSuccess = CheckSuccessFailure(nIndex);
613
615
    DisplayMessage(sMsg, true);   //true: clear the display ctrol
614
616
 
615
617
    // restore buttons' normal color
616
 
    for (int iB=0; iB < m_nNumButtons; iB++) {
 
618
    for (int iB=0; iB < m_nNumButtons; iB++)
 
619
    {
617
620
        SetButtonColor(iB, g_pColors->Normal() );
618
621
    }
619
622
 
624
627
void lmExerciseCtrol::EnableButtons(bool fEnable)
625
628
{
626
629
    wxButton* pButton;
627
 
    for (int iB=0; iB < m_nNumButtons; iB++) {
 
630
    for (int iB=0; iB < m_nNumButtons; iB++)
 
631
    {
628
632
        pButton = *(m_pAnswerButtons + iB);
629
633
        if (pButton) pButton->Enable(fEnable);
630
634
    }
640
644
void lmExerciseCtrol::SetButtonColor(int i, wxColour& color)
641
645
{
642
646
    wxButton* pButton = *(m_pAnswerButtons + i);
643
 
    if (pButton) pButton->SetBackgroundColour(color);
 
647
    if (pButton && pButton->IsEnabled())
 
648
        pButton->SetBackgroundColour(color);
644
649
}
645
650
 
646
651
bool lmExerciseCtrol::CheckSuccessFailure(int nButton)
647
652
{
648
 
    return (nButton == m_nRespIndex);
 
653
    if (m_nRespAltIndex == -1)
 
654
        return m_nRespIndex == nButton;
 
655
    else
 
656
        return m_nRespAltIndex == nButton || m_nRespIndex == nButton;
649
657
}
650
658
 
651
659