00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00020
00021 #ifndef GLOBALBASE_H
00022 #define GLOBALBASE_H
00023
00025
00027 class QDomElement;
00028 class QString;
00029
00031 #include <globalwidget.h>
00032
00033
00035 class GlobalBase : public GlobalWidget
00036 {
00037 Q_OBJECT
00038
00039 public:
00040 GlobalBase(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0);
00041 ~GlobalBase();
00042
00044 enum Calculation{SinglePointEnergy, EnergyAndForces, GeometryOptimization, Frequencies};
00045 enum Buur{NoBuur, PC, SM};
00046 enum Run{Xbrabo, Script, Queue};
00047
00048 void setDefaultName(const QString name);
00049 unsigned int calculationType() const;
00050 unsigned int buurType() const;
00051 bool extendedFormat() const;
00052 QString description() const;
00053 QString name() const;
00054 QString directory() const;
00055 unsigned int runType() const;
00056 unsigned int queue() const;
00057 void allowChanges(const bool status);
00058
00059 void loadCML(const QDomElement* root);
00060 void saveCML(QDomElement* root);
00061
00062 public slots:
00063 void reset();
00064
00065 protected slots:
00066 void accept();
00067 void reject();
00068
00069 private slots:
00070 void setChanged(const bool state = true);
00071 void correctType(int index);
00072 void chooseDir();
00073
00074 private:
00076 void makeConnections();
00077 void init();
00078 void saveWidgets();
00079 void restoreWidgets();
00080
00082 struct WidgetData
00085 {
00086 unsigned int type;
00087 bool useBuur;
00088 unsigned int buurType;
00089 bool useXF;
00090 QString description;
00091 QString name;
00092 QString directory;
00093 unsigned int runType;
00094 unsigned int queue;
00095 };
00096
00097 WidgetData data;
00098 QString defaultName;
00099 bool widgetChanged;
00100 };
00101
00102 #endif
00103