• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

parley

  • sources
  • kde-4.14
  • kdeedu
  • parley
  • src
  • practice
comparisonmodewidget.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  Copyright 2010 Frederik Gladhorn <gladhorn@kde.org>
3  ***************************************************************************/
4 
5 /***************************************************************************
6  * *
7  * This program is free software; you can redistribute it and/or modify *
8  * it under the terms of the GNU General Public License as published by *
9  * the Free Software Foundation; either version 2 of the License, or *
10  * (at your option) any later version. *
11  * *
12  ***************************************************************************/
13 
14 #include "comparisonmodewidget.h"
15 
16 #include "ui_practice_widget_comparison.h"
17 
18 #include <KDebug>
19 #include <kcolorscheme.h>
20 #include <QtGui/QRadioButton>
21 #include <QTimer>
22 
23 using namespace Practice;
24 
25 ComparisonModeWidget::ComparisonModeWidget(GuiFrontend *frontend, QWidget* parent)
26  : AbstractModeWidget(frontend, parent)
27 {
28  m_ui = new Ui::ComparisonPracticeWidget();
29  m_ui->setupUi(this);
30 
31  connect(m_ui->absoluteEdit, SIGNAL(returnPressed(QString)), this, SLOT(nextComparisonForm()));
32  connect(m_ui->comparativeEdit, SIGNAL(returnPressed(QString)), this, SLOT(nextComparisonForm()));
33  connect(m_ui->superlativeEdit, SIGNAL(returnPressed(QString)), this, SLOT(nextComparisonForm()));
34 
35  m_ui->absoluteSolutionLabel->setPalette(m_correctPalette);
36  m_ui->comparativeSolutionLabel->setPalette(m_correctPalette);
37  m_ui->superlativeSolutionLabel->setPalette(m_correctPalette);
38 }
39 
40 void ComparisonModeWidget::setQuestionFont(const QFont& font)
41 {
42  m_ui->questionLabel->setFont(font);
43 }
44 
45 void ComparisonModeWidget::setSolutionFont(const QFont& font)
46 {
47  m_ui->absoluteSolutionLabel->setFont(font);
48  m_ui->comparativeSolutionLabel->setFont(font);
49  m_ui->superlativeSolutionLabel->setFont(font);
50  m_ui->absoluteEdit->setFont(font);
51  m_ui->comparativeEdit->setFont(font);
52  m_ui->superlativeEdit->setFont(font);
53 }
54 
55 void ComparisonModeWidget::setQuestion(const QVariant& question)
56 {
57  m_ui->questionLabel->setText(question.toString());
58  m_ui->absoluteEdit->clear();
59  m_ui->comparativeEdit->clear();
60  m_ui->superlativeEdit->clear();
61  m_ui->absoluteEdit->setPalette(QPalette());
62  m_ui->comparativeEdit->setPalette(QPalette());
63  m_ui->superlativeEdit->setPalette(QPalette());
64  m_ui->absoluteSolutionLabel->clear();
65  m_ui->comparativeSolutionLabel->clear();
66  m_ui->superlativeSolutionLabel->clear();
67 }
68 
69 void ComparisonModeWidget::showQuestion()
70 {
71  QTimer::singleShot(0, m_ui->absoluteEdit, SLOT(setFocus()));
72  m_ui->feedbackLabel->setText(i18n("Enter the comparison forms."));
73 }
74 
75 void ComparisonModeWidget::setSolution(const QVariant& solution)
76 {
77  m_solution = solution.toStringList();
78  Q_ASSERT(m_solution.size() == 3);
79  m_ui->absoluteEdit->setDisabled(m_solution.at(0).isEmpty());
80  m_ui->comparativeEdit->setDisabled(m_solution.at(1).isEmpty());
81  m_ui->superlativeEdit->setDisabled(m_solution.at(2).isEmpty());
82 }
83 
84 void ComparisonModeWidget::setFeedback(const QVariant& feedback)
85 {
86  m_ui->feedbackLabel->setText(feedback.toString());
87 }
88 
89 void ComparisonModeWidget::showSolution()
90 {
91  if (m_ui->absoluteEdit->text() == m_solution.at(0)) {
92  m_ui->absoluteEdit->setPalette(m_correctPalette);
93  } else {
94  m_ui->absoluteEdit->setPalette(m_wrongPalette);
95  m_ui->absoluteSolutionLabel->setText(m_solution.at(0));
96  }
97  if (m_ui->comparativeEdit->text() == m_solution.at(1)) {
98  m_ui->comparativeEdit->setPalette(m_correctPalette);
99  } else {
100  m_ui->comparativeEdit->setPalette(m_wrongPalette);
101  m_ui->comparativeSolutionLabel->setText(m_solution.at(1));
102  }
103 
104  if (m_ui->superlativeEdit->text() == m_solution.at(2)) {
105  m_ui->superlativeEdit->setPalette(m_correctPalette);
106  } else {
107  m_ui->superlativeEdit->setPalette(m_wrongPalette);
108  m_ui->superlativeSolutionLabel->setText(m_solution.at(2));
109  }
110 }
111 
112 QVariant ComparisonModeWidget::userInput()
113 {
114  QStringList answers;
115  answers.append(m_ui->absoluteEdit->text());
116  answers.append(m_ui->comparativeEdit->text());
117  answers.append(m_ui->superlativeEdit->text());
118  return answers;
119 }
120 
121 void ComparisonModeWidget::setHint(const QVariant& /*hint*/)
122 {
123 
124 }
125 
126 void ComparisonModeWidget::nextComparisonForm()
127 {
128  if (m_ui->absoluteEdit->hasFocus()) {
129  m_ui->comparativeEdit->setFocus();
130  } else if (m_ui->comparativeEdit->hasFocus()) {
131  m_ui->superlativeEdit->setFocus();
132  } else {
133  emit continueAction();
134  }
135 }
136 
137 void ComparisonModeWidget::setQuestionPronunciation(const QString& /*pronunciationText*/)
138 {
139 }
140 
141 void ComparisonModeWidget::setSolutionPronunciation(const QString& /*pronunciationText*/)
142 {
143 }
144 
145 void ComparisonModeWidget::setQuestionSound(const KUrl& /*soundUrl*/)
146 {
147 }
148 
149 void ComparisonModeWidget::setSolutionSound(const KUrl& /*soundUrl*/)
150 {
151 }
152 
153 
154 
155 #include "comparisonmodewidget.moc"
Practice::ComparisonModeWidget::setHint
virtual void setHint(const QVariant &hint)
Definition: comparisonmodewidget.cpp:121
QWidget
Practice::GuiFrontend
Definition: guifrontend.h:35
QFont
Practice::ComparisonModeWidget::setQuestionPronunciation
virtual void setQuestionPronunciation(const QString &pronunciationText)
Definition: comparisonmodewidget.cpp:137
Practice::ComparisonModeWidget::showQuestion
virtual void showQuestion()
Definition: comparisonmodewidget.cpp:69
QList::at
const T & at(int i) const
Practice::AbstractModeWidget::continueAction
void continueAction()
Practice::ComparisonModeWidget::setFeedback
virtual void setFeedback(const QVariant &feedback)
Definition: comparisonmodewidget.cpp:84
Practice::AbstractModeWidget
Definition: abstractwidget.h:27
QList::size
int size() const
Practice::ComparisonModeWidget::setSolutionPronunciation
virtual void setSolutionPronunciation(const QString &pronunciationText)
Definition: comparisonmodewidget.cpp:141
QList::append
void append(const T &value)
Practice::ComparisonModeWidget::setSolution
virtual void setSolution(const QVariant &solution)
Definition: comparisonmodewidget.cpp:75
QWidget::setFocus
void setFocus()
Practice::AbstractModeWidget::m_correctPalette
QPalette m_correctPalette
Definition: abstractwidget.h:76
Practice::ComparisonModeWidget::setQuestionSound
virtual void setQuestionSound(const KUrl &soundUrl)
Definition: comparisonmodewidget.cpp:145
QString
Practice::ComparisonModeWidget::setSolutionFont
virtual void setSolutionFont(const QFont &font)
Definition: comparisonmodewidget.cpp:45
QStringList
Practice::ComparisonModeWidget::showSolution
virtual void showSolution()
Definition: comparisonmodewidget.cpp:89
Practice::AbstractModeWidget::m_wrongPalette
QPalette m_wrongPalette
Definition: abstractwidget.h:77
QVariant::toStringList
QStringList toStringList() const
Practice::ComparisonModeWidget::userInput
virtual QVariant userInput()
Definition: comparisonmodewidget.cpp:112
Practice::ComparisonModeWidget::setQuestion
virtual void setQuestion(const QVariant &question)
Definition: comparisonmodewidget.cpp:55
comparisonmodewidget.h
Practice::ComparisonModeWidget::setSolutionSound
virtual void setSolutionSound(const KUrl &soundUrl)
Definition: comparisonmodewidget.cpp:149
Practice::ComparisonModeWidget::setQuestionFont
virtual void setQuestionFont(const QFont &font)
Definition: comparisonmodewidget.cpp:40
QObject::connect
bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QVariant::toString
QString toString() const
QPalette
Practice::ComparisonModeWidget::ComparisonModeWidget
ComparisonModeWidget(GuiFrontend *frontend, QWidget *parent=0)
Definition: comparisonmodewidget.cpp:25
QTimer::singleShot
singleShot
QVariant
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:15:56 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

parley

Skip menu "parley"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal