/* -*- 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

*/


#ifndef MMCALCEDITOR_H
#define MMCALCEDITOR_H

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

#include "kmolcalcparser.h"
#include "kmolcalceditorbase.h"

#include <kdialogbase.h>

class KMolCalcEditor : public KMolCalcEditorBase
{
  Q_OBJECT

public:
  KMolCalcEditor(QWidget *parent = 0);

public slots:
  virtual void slotApplyChanges();
  virtual void slotNewAtom();
  virtual void slotNewGroup();
  virtual void slotRemove();
  virtual void slotItemSelected(const QString&);

private:
  KMolCalcParser* _parser;
  bool _editNew;
  QString _symbolEdited;

private:
  void fillListBox();
  bool overwriteItem(const QString& symbol);
};

class KMolCalcEditorDlg : public KDialogBase
{
public:
  KMolCalcEditorDlg(QWidget *parent = 0);
};


#endif
