00001 /*************************************************************************** 00002 newatombase.h - description 00003 ------------------- 00004 begin : Sun Jul 31 2005 00005 copyright : (C) 2005-2006 by Ben Swerts 00006 email : bswerts@users.sourceforge.net 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00020 00021 #ifndef NEWATOMBASE_H 00022 #define NEWATOMBASE_H 00023 00025 00026 // Xbrabo forward class declarations 00027 class AtomSet; 00028 00029 // Base class header file 00030 #include "newatomwidget.h" 00031 00033 class NewAtomBase : public NewAtomWidget 00034 { 00035 Q_OBJECT 00036 00037 public: 00038 NewAtomBase(AtomSet* atomset, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); // constructor 00039 ~NewAtomBase(); // destructor 00040 00041 signals: 00042 void atomAdded(); //< Is fired when an atom has been added 00043 00044 public slots: 00045 void updateAtomLimits(); // updates all widgets pertaining to the AtomSet 00046 00047 protected: 00048 void showEvent(QShowEvent* e); // updates everything when the dialog is shown 00049 00050 private slots: 00051 void addAtom(); // adds an atom depending on the status of the widgets 00052 void updateICAtoms(); // updates the IC labels from the reference atoms 00053 void updateSelectedAtom(int number);// updates the proerties of the selected atom type 00054 void checkAdd(); // check whether an atom can be added with the current status of the widgets 00055 00056 private: 00057 00059 AtomSet* atoms; 00060 }; 00061 00062 #endif 00063