moved kdeaccessibility kdeaddons kdeadmin kdeartwork kdebindings kdeedu kdegames...
[kdeedu.git] / kalzium / src / kalzium.h
blobcb00f198551a886df3eb5b4868b89bde2b332ca4
1 /***************************************************************************
2 copyright : (C) 2003, 2004 by Carsten Niehaus
3 email : cniehaus@kde.org
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 #ifndef _KALZIUM_H_
14 #define _KALZIUM_H_
16 #ifdef HAVE_CONFIG_H
17 #include <config.h>
18 #endif
20 #include "pse.h"
21 #include <kmainwindow.h>
23 class KSelectAction;
24 class QuizsettingsDlg;
25 class SliderWidget;
26 class QVBoxLayout;
27 class TempSlider;
28 class InformationWidget;
30 /**
31 * @short Application Main Window
32 * @author Carsten Niehaus <cniehaus@kde.org>
33 * @version 1.1
35 class Kalzium : public KMainWindow
37 Q_OBJECT
38 public:
39 /**
40 * Default Constructor
42 Kalzium();
44 /**
45 * Default Destructor
47 virtual ~Kalzium();
49 KalziumDataObject* data() const;
51 class privatedata;
52 friend class privatedata;
53 privatedata* pd;
55 private:
56 /**
57 * the date which the pSliderWidget will start with
59 int date;
61 InformationWidget *m_info;
63 /**
64 * this Pointer points to the current PSE. The pointer
65 * is updated every time the users chooses a new
66 * PSE
68 PSE *m_PSE;
70 /**
71 *initialize the Statusbar
72 */
73 void setupStatusBar();
75 /**
76 *initialize actions
77 */
78 void setupActions();
80 /**
81 *display text in the statusbar item at index int
83 void slotStatusBar(const QString& text, int id);
85 /**
86 *diplay the energy unit in the Statusbar
88 void displayEnergie();
90 /**
91 * all KActions Kalzium uses
93 KSelectAction *schema_action;
94 KSelectAction *look_action;
95 KSelectAction *numeration_action;
96 KAction *m_pTimelineAction,
97 *m_pPlotAction,
98 *m_pSOMAction,
99 *m_pCalcAction,
100 *m_pLengendAction,
101 *m_pLearningmodeAction;
104 * the layout of the central Widget ( CentralWidget )
106 QVBoxLayout *m_pCentralLayout;
108 private slots:
110 * opens the information dialog for the element @p number
112 void openInformationDialog( int number );
115 * this slot switches Kalzium to the selected colorscheme
117 void slotShowScheme(int);
119 void slotShowLegend();
121 void slotStateOfMatter();
123 void slotSwitchtoNumeration(int);
125 void slotPlotData();
127 void slotCalculate();
129 void slotLearningmode();
132 * this slot activates the timeline.
134 void slotShowTimeline();
136 void slotUpdateSettings();
139 * This slot switches Kalzium to the selected PSE
140 * @param simple If true the PSE will be simple
142 void slotSwitchtoPSE(int index);
145 * These slots are for the standardactions
147 void showSettingsDialog();
151 * @short A private data class Kalzium uses
152 * @author Carsten Niehaus <cniehaus@kde.org>
153 * @version 1.0
155 class Kalzium::privatedata
157 public:
158 Kalzium *k;
159 KalziumDataObject *kalziumData;
161 privatedata( Kalzium *parent ) : k( parent ){};
165 #endif // _KALZIUM_H_