You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeedu/kbruch/src/mainqtwidget.h

147 lines
4.0 KiB

/***************************************************************************
mainqtwidget.h - The main TQt/KDE window
-------------------
begin : Tue Mar 16 00:00:00 CET 2003
copyright : (C) 2003-2004 by Sebastian Stein
email : seb.kde@hpfsc.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef MAINTQTWIDGET_H
#define MAINTQTWIDGET_H
#include <kmainwindow.h>
class KJanusWidget;
class KWidgetAction;
class TQLabel;
class ExerciseCompare;
class ExerciseConvert;
class ExerciseFactorize;
class StatisticsView;
class TaskView;
/** Constructs the main window and presents the user interface.
* The window is seperated into 2 sections. In the left section is the
* statistic view and in the right section the task view.
* \author Sebastian Stein
* \author Eva Brucherseifer
**/
class MainQtWidget : public KMainWindow
{
Q_OBJECT
TQ_OBJECT
public:
/** constructor */
MainQtWidget();
/** destructor */
~MainQtWidget();
private:
/** read the config file */
void readOptions();
/** read the config file */
void writeOptions();
/** pointing to the statistics view */
StatisticsView * m_statview;
/** the iconlist for the different exercises */
KJanusWidget * m_exercises;
/** pointing to the exercise solving a task with fractions; added as page
* to the iconlist */
TaskView * m_taskview;
/** pointing to the exercise comparing ratios; added as page to the
* iconlist */
ExerciseCompare * m_exerciseCompare;
/** pointing to the exercise convert rational number; added as page to the
* iconlist */
ExerciseConvert * m_exerciseConvert;
/** pointing to the exercise factorize a given number; added as page to
* the iconlist */
ExerciseFactorize * m_exerciseFactorize;
bool m_addSub;
bool m_mulDiv;
unsigned int m_nrRatios;
unsigned int m_maxMainDenominator;
void setupActions();
TQComboBox * m_NrOfTermsBox;
TQLabel * m_NrOfTermsLabel;
KWidgetAction * m_NrOfTermsBoxAction;
KWidgetAction * m_NrOfTermsLabelAction;
TQComboBox * m_MaxMainDenominatorBox;
TQLabel * m_MaxMainDenominatorLabel;
KWidgetAction * m_MaxMainDenominatorBoxAction;
KWidgetAction * m_MaxMainDenominatorLabelAction;
TQComboBox * m_OperationBox;
TQLabel * m_OperationLabel;
KWidgetAction * m_OperationBoxAction;
KWidgetAction * m_OperationLabelAction;
KAction * m_NewTaskAction;
private slots:
/**
* called to force generation of a new task
*/
void NewTask();
/**
* called when the user changes the number of terms in the ComboBox
*/
void NrOfTermsBoxSlot();
/**
*called, when the user changes the max. size of the main denominator in
* the ComboBox
*/
void MaxMainDenominatorBoxSlot();
/**
* called, when the user changes the wished task's operations
*/
void OperationBoxSlot();
/**
* calls the settings dialog
*/
void slotPrefs();
/**
* makes sure, all parts of the UI update to new settings
*/
void slotApplySettings();
/**
* called just before another page is shown
*/
void slotAboutToShowPage(TQWidget * page);
protected:
/** Function is called when user calls termination.
* Used to save the current statistics and settings before exiting.
**/
bool queryExit();
};
#endif // MainQtWidget