moved kdeaccessibility kdeaddons kdeadmin kdeartwork kdebindings kdeedu kdegames...
[kdeedu.git] / kalzium / src / molcalc_impl.h
blob526e3b7ba6574aea861968e3ba33798ed13c69c4
1 #ifndef MOLCALC_IMPL_H
2 #define MOLCALC_IMPL_H
3 /***************************************************************************
4 * Copyright (C) 2003 by Carsten Niehaus *
5 * cniehaus@kde.org *
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 * This program is distributed in the hope that it will be useful, *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
15 * GNU General Public License for more details. *
16 * *
17 * You should have received a copy of the GNU General Public License *
18 * along with this program; if not, write to the *
19 * Free Software Foundation, Inc., *
20 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
21 ***************************************************************************/
24 #include "molcalcbase.h"
25 #include "element.h"
27 #include <qmap.h>
29 /**
30 * @author Carsten Niehaus
32 class MolcalcImpl : public MolcalcDialog
34 Q_OBJECT
35 public:
36 /**
37 * Constructor
38 * @param el is the element which data will be used
40 MolcalcImpl( QWidget *parent = 0, const char *name = 0, bool modal = FALSE);
42 private:
43 double m_weight;
44 QValueList<Element*> m_elements;
46 enum KIND
48 ADD = 0,
49 REMOVE = 1
52 void updateData( int number, KIND kind );
54 QString composition( QMap<Element*,int> );
56 /**
57 * recalcualtes the weight
59 void recalculate();
61 void updateUI();
63 public slots:
64 void slotButtonClicked( int buttonnumber );
66 void slotMinusToggled(bool on);
68 void slotPlusToggled(bool on);
72 #endif // MOLCALC_IMPL_H