/* -*- C++ -*-

Copyright (C) 2000-2001 Francesco Bresciani <fbresciani@users.sourceforge.net>
This file is part of Kemistry

Kemistry 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, or (at your option)
any later version.

Kemistry is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Kemistry; see the file COPYING.  If not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*/


// $Id: kmolcalcwidget.h,v 1.2 2002/10/19 08:46:27 fbresciani Exp $


#ifndef KMOLCALCWIDGET_H
#define KMOLCALCWIDGET_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include "kmolcalcparser.h"
#include "kmolcalcwidgetbase.h"

class KMolCalcWidget : public KMolCalcWidgetBase
{
Q_OBJECT

public:
	KMolCalcWidget(QWidget *parent);
	~KMolCalcWidget();

public slots:
	virtual  void slotCompute();
	virtual  void slotEditor();
	virtual  void slotLoadFileCompute();
	virtual  void slotClear();

private:
	KMolCalcParser _parser;
	
	void displayResults(const QString& formula, double mass,
		const QMap<QString, double>& percent);
	void displayResultsFile(const QString& url, double mass,
		const QMap<QString, double>&percent, 
		const QMap<QString, double> &count);

	void errorMessage(const QString& message);

	void writeConfig();
	void readConfig();
};

#endif // KMOLCALCWIDGET_H


