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

parley

  • sources
  • kde-4.12
  • kdeedu
  • parley
  • src
  • practice
guifrontend.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  Copyright 2009 Daniel Laidig <d.laidig@gmx.de>
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 "guifrontend.h"
15 
16 #include <QtCore/QTimer>
17 
18 #include <kcolorscheme.h>
19 #include <kstandarddirs.h>
20 #include <kdebug.h>
21 
22 #include "ui_practice_mainwindow.h"
23 
24 #include "settings/kgametheme/kgametheme.h"
25 #include "comparisonmodewidget.h"
26 #include "conjugationmodewidget.h"
27 #include "flashcardmodewidget.h"
28 #include "mixedlettersmodewidget.h"
29 #include "multiplechoicemodewidget.h"
30 #include "themedbackgroundrenderer.h"
31 #include "writtenpracticewidget.h"
32 
33 using namespace Practice;
34 
35 GuiFrontend::GuiFrontend(QWidget* parent)
36  : AbstractFrontend(parent), m_modeWidget(0), m_lastImage("invalid"), m_currentBox(0), m_newBoxIfCorrect(0), m_newBoxIfWrong(0)
37 {
38  m_widget = new ImageWidget();
39  m_widget->setScalingEnabled(false, false);
40  m_widget->setKeepAspectRatio(Qt::IgnoreAspectRatio);
41  m_widget->setFadingEnabled(false);
42 
43  m_ui = new Ui::PracticeMainWindow();
44  m_ui->setupUi(m_widget);
45  m_ui->centralPracticeWidget->setLayout(new QHBoxLayout());
46 
47  m_themedBackgroundRenderer = new ThemedBackgroundRenderer(this, "practicethemecache.bin");
48 
49  connect(Prefs::self(), SIGNAL(configChanged()), this, SLOT(setTheme()));
50  setTheme();
51 
52  connect(m_themedBackgroundRenderer, SIGNAL(backgroundChanged(QPixmap)), this, SLOT(backgroundChanged(QPixmap)));
53  connect(m_widget, SIGNAL(sizeChanged()), this, SLOT(updateBackground()));
54 
55  connect(m_ui->continueButton, SIGNAL(clicked()), this, SIGNAL(continueAction()));
56  connect(m_ui->answerLaterButton, SIGNAL(clicked()), this, SIGNAL(skipAction()));
57  connect(m_ui->hintButton, SIGNAL(clicked()), this, SIGNAL(hintAction()));
58  connect(m_ui->statusToggle, SIGNAL(toggle()), this, SLOT(toggleResultState()));
59  connect(m_ui->countAsCorrectButton, SIGNAL(clicked()), this, SLOT(countAsCorrectButtonClicked()));
60  connect(m_ui->countAsWrongButton, SIGNAL(clicked()), this, SLOT(countAsWrongButtonClicked()));
61 
62  m_ui->centralPracticeWidget->installEventFilter(this);
63  m_ui->imageWidget->installEventFilter(this);
64  m_ui->rightContainer->installEventFilter(this);
65 
66  QTimer::singleShot(0, this, SLOT(updateBackground()));
67 }
68 
69 GuiFrontend::~GuiFrontend()
70 {
71  delete m_widget;
72 }
73 
74 QVariant GuiFrontend::userInput()
75 {
76  return m_modeWidget->userInput();
77 }
78 
79 QWidget* GuiFrontend::widget()
80 {
81  return m_widget;
82 }
83 
84 void GuiFrontend::setMode(Mode mode)
85 {
86  kDebug() << "setCentralWidget" << mode;
87  AbstractModeWidget *newWidget = 0;
88  switch(mode) {
89  case Written:
90  if (/*m_modeWidget->metaObject()->className() == QLatin1String("WrittenPracticeWidget")*/false) {
91  kDebug() << "Written practice widget is already the central widget";
92  break;
93  }
94  newWidget = new WrittenPracticeWidget(this, m_widget);
95  break;
96  case MultipleChoice:
97  newWidget = new MultiplechoiceModeWidget(this, m_widget);
98  break;
99  case FlashCard:
100  newWidget = new FlashCardModeWidget(this, m_widget);
101  break;
102  case MixedLetters:
103  newWidget = new MixedLettersModeWidget(this, m_widget);
104  break;
105  case Conjugation:
106  newWidget = new ConjugationModeWidget(this, m_widget);
107  break;
108  case Comparison:
109  newWidget = new ComparisonModeWidget(this, m_widget);
110  break;
111  default:
112  Q_ASSERT("Practice Mode Invalid" == 0);
113  }
114  if (newWidget) {
115  m_ui->centralPracticeWidget->layout()->addWidget(newWidget);
116  delete m_modeWidget;
117  m_modeWidget = newWidget;
118  connect(m_modeWidget, SIGNAL(continueAction()), m_ui->continueButton, SLOT(animateClick()));
119  }
120  m_ui->buttonStack->setCurrentIndex(0);
121  updateFontColors();
122 }
123 
124 void GuiFrontend::setLessonName(const QString& lessonName)
125 {
126  m_ui->lessonLabel->setText(i18nc("Display of the current lesson during practice", "Lesson: %1", lessonName));
127 }
128 
129 void GuiFrontend::showQuestion()
130 {
131  m_ui->answerLaterButton->setEnabled(true);
132  m_ui->hintButton->setEnabled(true);
133  QTimer::singleShot(0, m_ui->continueButton, SLOT(setFocus()));
134  m_modeWidget->showQuestion();
135  setImage(m_questionImage);
136 }
137 
138 void GuiFrontend::showSolution()
139 {
140  m_ui->continueButton->setFocus();
141  m_modeWidget->showSolution();
142  m_ui->answerLaterButton->setEnabled(false);
143  m_ui->hintButton->setEnabled(false);
144  setImage(m_solutionImage);
145 }
146 void GuiFrontend::setSynonym(const QString& entry)
147 {
148  m_modeWidget->setSynonym(entry);
149 }
150 
151 void GuiFrontend::showSynonym()
152 {
153  m_modeWidget->showSynonym();
154 }
155 
156 void GuiFrontend::setBoxes(grade_t currentBox, grade_t newBoxIfCorrect, grade_t newBoxIfWrong)
157 {
158  m_ui->boxesWidget->setBoxes(currentBox, 0);
159  m_currentBox = currentBox;
160  m_newBoxIfCorrect = newBoxIfCorrect;
161  m_newBoxIfWrong = newBoxIfWrong;
162 }
163 
164 void GuiFrontend::backgroundChanged(const QPixmap &pixmap)
165 {
166  m_widget->setPixmap(pixmap);
167 }
168 
169 void GuiFrontend::showSetResultButtons(bool show)
170 {
171  m_ui->buttonStack->setCurrentIndex(int(show));
172  if (show) {
173  m_ui->countAsCorrectButton->setFocus();
174  }
175 }
176 
177 bool GuiFrontend::eventFilter(QObject *object, QEvent *event)
178 {
179  if (event->type() == QEvent::Resize)
180  updateBackground();
181  return AbstractFrontend::eventFilter(object, event);
182 }
183 
184 void GuiFrontend::setFinishedWordsTotalWords(int finished, int total)
185 {
186  // update progress bar
187  m_ui->totalProgress->setMaximum(total);
188  m_ui->totalProgress->setValue(finished);
189  m_ui->totalProgress->setToolTip(i18np("You answered %2 of a total of %1 word.\nYou are %3% done.",
190  "You answered %2 of a total of %1 words.\nYou are %3% done.",
191  total, finished, finished/total*100));
192 }
193 
194 void GuiFrontend::setHint(const QVariant& hint)
195 {
196  m_modeWidget->setHint(hint);
197 }
198 
199 void GuiFrontend::setQuestion(const QVariant& question)
200 {
201  m_modeWidget->setQuestion(question);
202 }
203 
204 
205 void GuiFrontend::setQuestionPronunciation(const QString& pronunciationText)
206 {
207  m_modeWidget->setQuestionPronunciation(pronunciationText);
208 }
209 
210 void GuiFrontend::setQuestionSound(const KUrl& soundUrl)
211 {
212  m_modeWidget->setQuestionSound(soundUrl);
213 }
214 
215 void GuiFrontend::setSolution(const QVariant& solution)
216 {
217  m_modeWidget->setSolution(solution);
218 }
219 
220 void GuiFrontend::setQuestionImage(const KUrl& image)
221 {
222  m_questionImage = image;
223 }
224 
225 void GuiFrontend::setSolutionImage(const KUrl& image)
226 {
227  m_solutionImage = image;
228 }
229 
230 void GuiFrontend::setQuestionFont(const QFont& font)
231 {
232  m_modeWidget->setQuestionFont(font);
233 }
234 
235 void GuiFrontend::setSolutionFont(const QFont& font)
236 {
237  m_modeWidget->setSolutionFont(font);
238 }
239 
240 void GuiFrontend::setImage(const KUrl& image)
241 {
242  if (m_lastImage == image) {
243  return;
244  }
245  QPixmap pixmap(image.path());
246  if (pixmap.isNull()) {
247  m_ui->imageWidget->setPixmap(m_themedBackgroundRenderer->getPixmapForId("image-placeholder", QSize(150, 150)));
248  } else {
249  m_ui->imageWidget->setPixmap(pixmap);
250  }
251  m_lastImage = image;
252 }
253 
254 void GuiFrontend::setSolutionPronunciation(const QString& pronunciationText)
255 {
256  m_modeWidget->setSolutionPronunciation(pronunciationText);
257 }
258 
259 void GuiFrontend::setSolutionSound(const KUrl& soundUrl)
260 {
261  m_modeWidget->setSolutionSound(soundUrl);
262 }
263 
264 void GuiFrontend::setFeedback(const QVariant& feedback)
265 {
266  m_modeWidget->setFeedback(feedback);
267 }
268 
269 void GuiFrontend::setFeedbackState(ResultState feedbackState)
270 {
271  m_feedbackState = feedbackState;
272  m_modeWidget->setFeedbackState(feedbackState);
273 }
274 
275 void GuiFrontend::setResultState(ResultState resultState)
276 {
277  // TODO: temporary text labels instead of graphics
278 // m_ui->statusImageLabel->setFont(QFont("", 80, QFont::Bold));
279  m_ui->statusToggle->setResultState(resultState);
280  switch (resultState) {
281  case AbstractFrontend::QuestionState:
282  case AbstractFrontend::AnswerSynonym:
283 // m_ui->statusImageLabel->setText("?");
284 // m_ui->toggleButton->setEnabled(false);
285 // m_ui->toggleButton->setText(QString(0x2717)+QChar(0x2192)+QChar(0x2713));
286  m_ui->boxesWidget->setBoxes(m_currentBox);
287  break;
288  case AbstractFrontend::AnswerCorrect:
289 // m_ui->statusImageLabel->setText(QChar(0x2713));
290 // m_ui->toggleButton->setEnabled(true);
291 // m_ui->toggleButton->setText(QString(0x2713)+QChar(0x2192)+QChar(0x2717));
292  m_ui->boxesWidget->setBoxes(m_newBoxIfCorrect, m_currentBox);
293  break;
294 
295 // m_ui->statusImageLabel->setText("?");
296 // m_ui->toggleButton->setEnabled(true);
297 // m_ui->toggleButton->setText(QString(0x2713)+QChar(0x2192)+QChar(0x2717));
298 // m_ui->boxesWidget->setBoxes(m_currentBox);
299 // break;
300  case AbstractFrontend::AnswerWrong:
301 // m_ui->statusImageLabel->setText(QChar(0x2717));
302 // m_ui->toggleButton->setEnabled(true);
303 // m_ui->toggleButton->setText(QString(0x2717)+QChar(0x2192)+QChar(0x2713));
304  m_ui->boxesWidget->setBoxes(m_newBoxIfWrong, m_currentBox);
305  break;
306  }
307 
308  m_resultState = resultState;
309  m_modeWidget->setResultState(resultState);
310 }
311 
312 AbstractFrontend::ResultState GuiFrontend::resultState()
313 {
314  return m_resultState;
315 }
316 
317 void GuiFrontend::countAsCorrectButtonClicked()
318 {
319  m_resultState = AnswerCorrect;
320  emit continueAction();
321 }
322 
323 void GuiFrontend::countAsWrongButtonClicked()
324 {
325  m_resultState = AnswerWrong;
326  emit continueAction();
327 }
328 
329 void GuiFrontend::toggleResultState()
330 {
331  if (resultState() == AnswerWrong) {
332  setResultState(AnswerCorrect);
333  } else {
334  setResultState(AnswerWrong);
335  }
336 }
337 
338 void GuiFrontend::updateBackground()
339 {
340  m_themedBackgroundRenderer->clearRects();
341  m_themedBackgroundRenderer->addRect("background", QRect(QPoint(), m_widget->size()));
342  m_themedBackgroundRenderer->addRect("image", m_ui->imageWidget->frameGeometry());
343  m_themedBackgroundRenderer->addRect("central", m_ui->centralPracticeWidget->frameGeometry());
344  m_themedBackgroundRenderer->addRect("buttons", m_ui->rightContainer->frameGeometry());
345  QPixmap pixmap = m_themedBackgroundRenderer->getScaledBackground();
346  if (!pixmap.isNull()) {
347  m_widget->setPixmap(pixmap);
348  }
349  m_themedBackgroundRenderer->updateBackground();
350 }
351 
352 void GuiFrontend::updateFontColors()
353 {
354  QPalette p(QApplication::palette());
355  QColor c = m_themedBackgroundRenderer->fontColor("Outer", p.color(QPalette::Active, QPalette::WindowText));
356  p.setColor(QPalette::WindowText, c);
357  m_ui->lessonLabel->setPalette(p);
358 
359  if (m_modeWidget) {
360  p = QApplication::palette();
361  c = m_themedBackgroundRenderer->fontColor("Central", p.color(QPalette::Active, QPalette::WindowText));
362  p.setColor(QPalette::Active, QPalette::WindowText, c);
363  p.setColor(QPalette::Inactive, QPalette::WindowText, c);
364  m_modeWidget->setPalette(p);
365 
366  KColorScheme scheme(QPalette::Active);
367  QPalette correctPalette = QApplication::palette();
368  c = m_themedBackgroundRenderer->fontColor("Correct", scheme.foreground(KColorScheme::PositiveText).color());
369  correctPalette.setColor(QPalette::WindowText, c);
370  correctPalette.setColor(QPalette::Text, scheme.foreground(KColorScheme::PositiveText).color());
371  QPalette wrongPalette = QApplication::palette();
372  c = m_themedBackgroundRenderer->fontColor("Wrong", scheme.foreground(KColorScheme::NegativeText).color());
373  wrongPalette.setColor(QPalette::WindowText, c);
374  wrongPalette.setColor(QPalette::Text, scheme.foreground(KColorScheme::NegativeText).color());
375 
376  m_modeWidget->setResultPalettes(correctPalette, wrongPalette);
377  }
378 }
379 
380 void GuiFrontend::setTheme()
381 {
382  m_themedBackgroundRenderer->setTheme(Prefs::theme());
383  updateFontColors();
384  updateBackground();
385  m_widget->setContentsMargins(m_themedBackgroundRenderer->contentMargins());
386  m_ui->boxesWidget->setRenderer(m_themedBackgroundRenderer);
387  m_ui->statusToggle->setRenderer(m_themedBackgroundRenderer);
388 }
389 
390 #include "guifrontend.moc"
Practice::GuiFrontend::setResultState
virtual void setResultState(ResultState resultState)
The result state indicated whether a word is counted as correct (and grades are raised) and can be ch...
Definition: guifrontend.cpp:275
Practice::ComparisonModeWidget
Definition: comparisonmodewidget.h:27
Practice::AbstractModeWidget::setQuestion
virtual void setQuestion(const QVariant &question)=0
Practice::GuiFrontend::setFeedback
virtual void setFeedback(const QVariant &feedback)
Definition: guifrontend.cpp:264
Practice::GuiFrontend::toggleResultState
void toggleResultState()
Definition: guifrontend.cpp:329
Practice::GuiFrontend::userInput
virtual QVariant userInput()
Enables access to the input of the user.
Definition: guifrontend.cpp:74
Practice::GuiFrontend::setSolutionSound
virtual void setSolutionSound(const KUrl &soundUrl)
Definition: guifrontend.cpp:259
Practice::AbstractModeWidget::showQuestion
virtual void showQuestion()=0
Practice::GuiFrontend::setSolutionImage
virtual void setSolutionImage(const KUrl &img)
Definition: guifrontend.cpp:225
QWidget
Practice::GuiFrontend::resultState
virtual ResultState resultState()
Definition: guifrontend.cpp:312
Practice::GuiFrontend::showSolution
void showSolution()
Definition: guifrontend.cpp:138
Practice::ThemedBackgroundRenderer::getScaledBackground
QPixmap getScaledBackground()
Definition: themedbackgroundrenderer.cpp:78
Practice::GuiFrontend::setSolution
virtual void setSolution(const QVariant &solution)
Definition: guifrontend.cpp:215
Practice::AbstractFrontend::QuestionState
Definition: abstractfrontend.h:40
Practice::ThemedBackgroundRenderer::contentMargins
QMargins contentMargins()
Definition: themedbackgroundrenderer.cpp:190
Practice::AbstractModeWidget::setSolutionSound
virtual void setSolutionSound(const KUrl &soundUrl)=0
Prefs::theme
static QString theme()
Get Theme to use for practice and welcome screen.
Definition: prefs.h:46
QObject
Practice::AbstractModeWidget
Definition: abstractwidget.h:26
Practice::AbstractFrontend::hintAction
void hintAction()
Practice::AbstractModeWidget::setSolution
virtual void setSolution(const QVariant &solution)=0
Practice::GuiFrontend::GuiFrontend
GuiFrontend(QWidget *parent=0)
Definition: guifrontend.cpp:35
Practice::ImageWidget::setScalingEnabled
void setScalingEnabled(bool scaling, bool onlyDownscaling=true)
Definition: imagewidget.cpp:224
Practice::GuiFrontend::showSetResultButtons
void showSetResultButtons(bool show)
Definition: guifrontend.cpp:169
Practice::GuiFrontend::showQuestion
void showQuestion()
Definition: guifrontend.cpp:129
Prefs::self
static Prefs * self()
Definition: prefs.cpp:17
Practice::ThemedBackgroundRenderer::fontColor
QColor fontColor(const QString &context, const QColor &fallback)
Definition: themedbackgroundrenderer.cpp:106
Practice::GuiFrontend::setFinishedWordsTotalWords
virtual void setFinishedWordsTotalWords(int finished, int total)
The status such as lesson or number of words has changed.
Definition: guifrontend.cpp:184
Practice::GuiFrontend::setQuestion
virtual void setQuestion(const QVariant &question)
Definition: guifrontend.cpp:199
Practice::ImageWidget::setKeepAspectRatio
void setKeepAspectRatio(Qt::AspectRatioMode mode)
Definition: imagewidget.cpp:230
Practice::GuiFrontend::showSynonym
void showSynonym()
Definition: guifrontend.cpp:151
Practice::GuiFrontend::eventFilter
bool eventFilter(QObject *object, QEvent *event)
Definition: guifrontend.cpp:177
Practice::AbstractModeWidget::setQuestionFont
virtual void setQuestionFont(const QFont &font)=0
Practice::AbstractFrontend::AnswerWrong
Definition: abstractfrontend.h:43
Practice::AbstractFrontend::MixedLetters
Definition: abstractfrontend.h:32
Practice::AbstractModeWidget::setSynonym
virtual void setSynonym(const QString &entry)=0
Practice::GuiFrontend::setSolutionPronunciation
virtual void setSolutionPronunciation(const QString &pronunciationText)
Definition: guifrontend.cpp:254
Practice::AbstractModeWidget::setSolutionPronunciation
virtual void setSolutionPronunciation(const QString &pronunciationText)=0
Practice::AbstractFrontend::ResultState
ResultState
Definition: abstractfrontend.h:39
Practice::ThemedBackgroundRenderer::addRect
void addRect(const QString &name, const QRect &rect)
Definition: themedbackgroundrenderer.cpp:69
Practice::GuiFrontend::setSolutionFont
virtual void setSolutionFont(const QFont &font)
Definition: guifrontend.cpp:235
Practice::ImageWidget::setPixmap
void setPixmap(const QPixmap &pixmap)
Definition: imagewidget.cpp:200
Practice::AbstractModeWidget::setFeedbackState
virtual void setFeedbackState(AbstractFrontend::ResultState feedbackState)=0
Practice::AbstractModeWidget::setQuestionPronunciation
virtual void setQuestionPronunciation(const QString &pronunciationText)=0
Practice::AbstractModeWidget::setResultState
virtual void setResultState(AbstractFrontend::ResultState resultState)=0
Practice::AbstractModeWidget::userInput
virtual QVariant userInput()=0
Practice::AbstractFrontend::Comparison
Definition: abstractfrontend.h:36
multiplechoicemodewidget.h
Practice::WrittenPracticeWidget
Definition: writtenpracticewidget.h:27
Practice::ThemedBackgroundRenderer::setTheme
void setTheme(const QString &theme)
Definition: themedbackgroundrenderer.cpp:50
Practice::AbstractModeWidget::setSolutionFont
virtual void setSolutionFont(const QFont &font)=0
Practice::FlashCardModeWidget
Definition: flashcardmodewidget.h:31
Practice::GuiFrontend::setSynonym
virtual void setSynonym(const QString &entry)
set a new synonym that should be shown
Definition: guifrontend.cpp:146
Practice::AbstractFrontend::skipAction
void skipAction()
Practice::ThemedBackgroundRenderer
Definition: themedbackgroundrenderer.h:30
Practice::AbstractModeWidget::showSolution
virtual void showSolution()=0
Practice::MultiplechoiceModeWidget
Definition: multiplechoicemodewidget.h:29
Practice::AbstractFrontend::FlashCard
Definition: abstractfrontend.h:31
Practice::AbstractFrontend::AnswerSynonym
Definition: abstractfrontend.h:42
Practice::AbstractFrontend::AnswerCorrect
Definition: abstractfrontend.h:41
Practice::GuiFrontend::setFeedbackState
virtual void setFeedbackState(ResultState feedbackState)
The feedback state tells the user if the currently entered word is correct (independent of whether th...
Definition: guifrontend.cpp:269
writtenpracticewidget.h
Practice::AbstractFrontend::continueAction
void continueAction()
Practice::AbstractFrontend::Mode
Mode
Definition: abstractfrontend.h:29
guifrontend.h
flashcardmodewidget.h
Practice::ThemedBackgroundRenderer::updateBackground
void updateBackground()
Definition: themedbackgroundrenderer.cpp:119
Practice::AbstractFrontend::Conjugation
Definition: abstractfrontend.h:35
Practice::ThemedBackgroundRenderer::getPixmapForId
QPixmap getPixmapForId(const QString &id, QSize size=QSize())
Definition: themedbackgroundrenderer.cpp:168
Practice::AbstractModeWidget::setQuestionSound
virtual void setQuestionSound(const KUrl &soundUrl)=0
conjugationmodewidget.h
Practice::AbstractModeWidget::setFeedback
virtual void setFeedback(const QVariant &feedback)=0
kgametheme.h
comparisonmodewidget.h
Practice::AbstractModeWidget::setHint
virtual void setHint(const QVariant &hint)=0
Practice::GuiFrontend::backgroundChanged
void backgroundChanged(const QPixmap &pixmap)
Definition: guifrontend.cpp:164
Practice::MixedLettersModeWidget
Definition: mixedlettersmodewidget.h:31
Practice::AbstractFrontend
Definition: abstractfrontend.h:25
Practice::GuiFrontend::setHint
virtual void setHint(const QVariant &hint)
Definition: guifrontend.cpp:194
Practice::GuiFrontend::setLessonName
void setLessonName(const QString &lessonName)
update lesson label
Definition: guifrontend.cpp:124
Practice::GuiFrontend::setQuestionPronunciation
virtual void setQuestionPronunciation(const QString &pronunciationText)
Definition: guifrontend.cpp:205
Practice::GuiFrontend::setQuestionFont
virtual void setQuestionFont(const QFont &font)
Definition: guifrontend.cpp:230
Practice::ImageWidget::setFadingEnabled
void setFadingEnabled(bool fading)
Definition: imagewidget.cpp:235
Practice::GuiFrontend::setBoxes
void setBoxes(grade_t currentBox, grade_t newBoxIfCorrect, grade_t newBoxIfWrong)
Definition: guifrontend.cpp:156
Practice::ImageWidget
Definition: imagewidget.h:23
Practice::ConjugationModeWidget
Definition: conjugationmodewidget.h:28
Practice::AbstractModeWidget::showSynonym
virtual void showSynonym()=0
Practice::ThemedBackgroundRenderer::clearRects
void clearRects()
Definition: themedbackgroundrenderer.cpp:63
mixedlettersmodewidget.h
Practice::GuiFrontend::setQuestionSound
virtual void setQuestionSound(const KUrl &soundUrl)
Definition: guifrontend.cpp:210
Practice::AbstractModeWidget::setResultPalettes
virtual void setResultPalettes(const QPalette &correctPalette, const QPalette &wrongPalette)
Definition: abstractwidget.cpp:24
themedbackgroundrenderer.h
Practice::AbstractFrontend::Written
Definition: abstractfrontend.h:34
Practice::GuiFrontend::setQuestionImage
virtual void setQuestionImage(const KUrl &img)
Definition: guifrontend.cpp:220
Practice::GuiFrontend::widget
QWidget * widget()
Definition: guifrontend.cpp:79
Practice::GuiFrontend::setMode
void setMode(Mode mode)
Definition: guifrontend.cpp:84
Practice::AbstractFrontend::MultipleChoice
Definition: abstractfrontend.h:33
Practice::GuiFrontend::~GuiFrontend
virtual ~GuiFrontend()
Definition: guifrontend.cpp:69
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:42:05 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
  • kstars
  • libkdeedu
  •   keduvocdocument
  • 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