From 33ec9ead7ce30bf9450b9048506f0bda49ba4791 Mon Sep 17 00:00:00 2001 From: cniehaus Date: Sun, 15 Sep 2002 17:09:54 +0000 Subject: Fell free to shoot me if I messed up CVS again... *fingercrossed* --- (limited to 'noncore/apps/oxygen/calcdlgui.cpp') diff --git a/noncore/apps/oxygen/calcdlgui.cpp b/noncore/apps/oxygen/calcdlgui.cpp new file mode 100644 index 0000000..e9b40d3 --- a/dev/null +++ b/noncore/apps/oxygen/calcdlgui.cpp @@ -0,0 +1,55 @@ +/*************************************************************************** + * * + * 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. * + * * + **************************************************************************/ +#include "oxygen.h" + +#include "calcdlgui.h" +#include "kmolcalc.h" +#include +#include +#include + +calcDlgUI::calcDlgUI() : CalcDlg() +{ + kmolcalc = new KMolCalc; + connect( calculate, SIGNAL( clicked() ), this, SLOT( calc() ) ); + connect( clear_fields, SIGNAL( clicked() ), this, SLOT( clear() ) ); +} + +void calcDlgUI::calc() +{ + QString compound( formula->text() ); + if ( compound.isEmpty() ) { + clear(); + return; + } + QString errors( kmolcalc->readFormula( compound ) ); + QString mw, ea; + double weight = kmolcalc->getWeight(); + if ( errors == "OK" ) { + mw.setNum( weight ); + ea = kmolcalc->getEmpFormula() + " :\n" + kmolcalc->getEA(); + } else { + mw = "???"; + ea = tr( "ERROR: \n" ) + errors + "\n"; + } + result->setText( mw ); + anal_display->setText( ea ); +} + +/** + * * Clear all text entry / result fields. + * */ +void calcDlgUI::clear() +{ + formula->clear(); + result->clear(); + anal_display->clear(); +} + + -- cgit v0.9.0.2