/* * QtQuery.hpp * * Created on: Nov 8, 2010 * Author: heber */ #ifndef QTQUERY_HPP_ #define QTQUERY_HPP_ // include config.h #ifdef HAVE_CONFIG_H #include #endif #include #include "Qt4/QtDialog.hpp" #include "Parameters/Parameter.hpp" class QHBoxLayout; class QBoxLayout; class QDialogButtonBox; class QLabel; class QSpinBox; class QDoubleSpinBox; class QLineEdit; class QListWidget; class QPushButton; class QTableWidget; class QTextEdit; class QComboBox; class QCheckBox; class QFileDialog; // Forward declarations for plumbing template class QtQueryListPipe; class AtomQtQueryPipe; class AtomsQtQueryPipe; class BooleanQtQueryPipe; class RealSpaceMatrixQtQueryPipe; class DoubleQtQueryPipe; class DoublesQtQueryPipe; class ElementQtQueryPipe; class ElementsQtQueryPipe; class EmptyQtQueryPipe; class FileQtQueryPipe; class FilesQtQueryPipe; class IntQtQueryPipe; class MoleculeQtQueryPipe; class MoleculesQtQueryPipe; class StringQtQueryPipe; class StringsQtQueryPipe; class UnsignedIntQtQueryPipe; class UnsignedIntsQtQueryPipe; class VectorQtQueryPipe; class VectorsQtQueryPipe; class RandomNumberDistribution_ParametersQtQueryPipe; class QtDialog::AtomQtQuery : public QWidget, public Dialog::AtomQuery { Q_OBJECT public: AtomQtQuery(Parameter &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog); virtual ~AtomQtQuery(); virtual bool handle(); public slots: void onUpdate(int); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QComboBox *inputBox; QtDialog *dialog; AtomQtQueryPipe *pipe; }; class QtDialog::AtomsQtQuery : public QWidget, public Dialog::AtomsQuery { Q_OBJECT public: AtomsQtQuery(Parameter > &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog); virtual ~AtomsQtQuery(); virtual bool handle(); public slots: void onUpdate(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QLabel *inputLabel; QListWidget *inputList; QtDialog *dialog; AtomsQtQueryPipe *pipe; }; class QtDialog::BooleanQtQuery : public QWidget, public Dialog::BooleanQuery { Q_OBJECT public: BooleanQtQuery(Parameter &, std::string _title, QBoxLayout *_parent, QtDialog *_dialog); virtual ~BooleanQtQuery(); virtual bool handle(); public slots: void onUpdate(int); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QCheckBox *booleanCheckBox; QtDialog *dialog; BooleanQtQueryPipe *pipe; }; class QtDialog::RealSpaceMatrixQtQuery : public QWidget, public Dialog::RealSpaceMatrixQuery { Q_OBJECT public: RealSpaceMatrixQtQuery(Parameter &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog); virtual ~RealSpaceMatrixQtQuery(); virtual bool handle(); public slots: void onUpdate(int, int); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QTableWidget *inputTable; QtDialog *dialog; RealSpaceMatrixQtQueryPipe *pipe; }; class QtDialog::DoubleQtQuery : public QWidget, public Dialog::DoubleQuery { Q_OBJECT public: DoubleQtQuery(Parameter &, std::string title,QBoxLayout *_parent,QtDialog *_dialog); virtual ~DoubleQtQuery(); virtual bool handle(); public slots: void onUpdate(double); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QDoubleSpinBox *inputBox; QtDialog *dialog; DoubleQtQueryPipe *pipe; }; class QtDialog::DoublesQtQuery : public QWidget, public Dialog::DoublesQuery { Q_OBJECT public: DoublesQtQuery(Parameter > &, std::string title,QBoxLayout *_parent,QtDialog *_dialog); virtual ~DoublesQtQuery(); virtual bool handle(); public slots: void onUpdate(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QDoubleSpinBox *inputBox; QtDialog *dialog; QtQueryListPipe *pipe; }; class QtDialog::ElementQtQuery : public QWidget, public Dialog::ElementQuery { Q_OBJECT public: ElementQtQuery(Parameter &, std::string _title, QBoxLayout *_parent, QtDialog *_dialog); virtual ~ElementQtQuery(); virtual bool handle(); public slots: void onUpdate(int); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QComboBox *inputBox; QtDialog *dialog; ElementQtQueryPipe *pipe; }; class QtDialog::ElementsQtQuery : public QWidget, public Dialog::ElementsQuery { Q_OBJECT public: ElementsQtQuery(Parameter > &, std::string _title, QBoxLayout *_parent, QtDialog *_dialog); virtual ~ElementsQtQuery(); virtual bool handle(); public slots: void onUpdate(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QComboBox *inputBox; QtDialog *dialog; ElementsQtQueryPipe *pipe; }; class QtDialog::EmptyQtQuery : public Dialog::EmptyQuery { public: EmptyQtQuery(std::string _title, QBoxLayout *_parent, QtDialog *_dialog); virtual ~EmptyQtQuery(); virtual bool handle(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QtDialog *dialog; EmptyQtQueryPipe *pipe; }; class QtDialog::FileQtQuery : public QWidget, public Dialog::FileQuery { Q_OBJECT public: FileQtQuery(Parameter &, std::string _title, QBoxLayout *_parent, QtDialog *_dialog); virtual ~FileQtQuery(); virtual bool handle(); public slots: void onUpdate(); void showFileDialog(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *filenameLabel; QLineEdit *filenameLineEdit; QPushButton *filedialogButton; QFileDialog *theFileDialog; QtDialog *dialog; FileQtQueryPipe *pipe; }; class QtDialog::FilesQtQuery : public QWidget, public Dialog::FilesQuery { Q_OBJECT public: FilesQtQuery(Parameter > &, std::string _title, QBoxLayout *_parent, QtDialog *_dialog); virtual ~FilesQtQuery(); virtual bool handle(); void IntegerEntered(const QString&); void IntegerSelected(); void AddInteger(); void RemoveInteger(); public slots: void onUpdate(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QtDialog *dialog; QtQueryListPipe *pipe; }; class QtDialog::IntQtQuery : public QWidget, public Dialog::IntQuery { Q_OBJECT public: IntQtQuery(Parameter &, std::string _title,QBoxLayout *_parent,QtDialog *_dialog); virtual ~IntQtQuery(); virtual bool handle(); public slots: void onUpdate(int); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QSpinBox *inputBox; QtDialog *dialog; IntQtQueryPipe *pipe; }; class QtDialog::IntsQtQuery : public QWidget, public Dialog::IntsQuery { Q_OBJECT public: IntsQtQuery(Parameter > &, std::string _title,QBoxLayout *_parent,QtDialog *_dialog); virtual ~IntsQtQuery(); virtual bool handle(); void IntegerEntered(const QString&); void IntegerSelected(); void AddInteger(); void RemoveInteger(); public slots: void onUpdate(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QtDialog *dialog; QtQueryListPipe *pipe; }; class QtDialog::MoleculeQtQuery : public QWidget, public Dialog::MoleculeQuery { Q_OBJECT public: MoleculeQtQuery(Parameter &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog); virtual ~MoleculeQtQuery(); virtual bool handle(); public slots: void onUpdate(int); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QComboBox *inputBox; QtDialog *dialog; MoleculeQtQueryPipe *pipe; }; class QtDialog::MoleculesQtQuery : public QWidget, public Dialog::MoleculesQuery { Q_OBJECT public: MoleculesQtQuery(Parameter > &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog); virtual ~MoleculesQtQuery(); virtual bool handle(); public slots: void onUpdate(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QComboBox *inputBox; QtDialog *dialog; MoleculesQtQueryPipe *pipe; }; class QtDialog::StringQtQuery : public QWidget, public Dialog::StringQuery { Q_OBJECT public: StringQtQuery(Parameter &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog); virtual ~StringQtQuery(); virtual bool handle(); public slots: void onUpdate(const QString&); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QLineEdit *inputBox; QtDialog *dialog; StringQtQueryPipe *pipe; }; class QtDialog::StringsQtQuery : public QWidget, public Dialog::StringsQuery { Q_OBJECT public: StringsQtQuery(Parameter > &, std::string _title, QBoxLayout *_parent,QtDialog *_dialog); virtual ~StringsQtQuery(); virtual bool handle(); public slots: void onUpdate(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QLineEdit *inputBox; QtDialog *dialog; StringsQtQueryPipe *pipe; }; class QtDialog::UnsignedIntQtQuery : public QWidget, public Dialog::UnsignedIntQuery { Q_OBJECT public: UnsignedIntQtQuery(Parameter &, std::string _title,QBoxLayout *_parent,QtDialog *_dialog); virtual ~UnsignedIntQtQuery(); virtual bool handle(); public slots: void onUpdate(unsigned int); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QSpinBox *inputBox; QtDialog *dialog; UnsignedIntQtQueryPipe *pipe; }; class QtDialog::UnsignedIntsQtQuery : public QWidget, public Dialog::UnsignedIntsQuery { Q_OBJECT public: UnsignedIntsQtQuery(Parameter > &, std::string _title,QBoxLayout *_parent,QtDialog *_dialog); virtual ~UnsignedIntsQtQuery(); virtual bool handle(); void IntegerEntered(const QString&); void IntegerSelected(); void AddInteger(); void RemoveInteger(); public slots: void onUpdate(); private: QBoxLayout *parent; QBoxLayout *thisLayout; QLabel *titleLabel; QtDialog *dialog; QtQueryListPipe *pipe; }; class QtDialog::VectorQtQuery : public QWidget, public Dialog::VectorQuery { Q_OBJECT public: VectorQtQuery(Parameter &, std::string title,QBoxLayout *,QtDialog *); virtual ~VectorQtQuery(); virtual bool handle(); public slots: void onUpdateX(double); void onUpdateY(double); void onUpdateZ(double); private: QBoxLayout *parent; QBoxLayout *mainLayout; QLabel *titleLabel; QBoxLayout *subLayout; QBoxLayout *coordLayout; QLabel *coordLabel; QDoubleSpinBox *coordInputX; QDoubleSpinBox *coordInputY; QDoubleSpinBox *coordInputZ; QtDialog *dialog; VectorQtQueryPipe *pipe; }; class QtDialog::VectorsQtQuery : public QWidget, public Dialog::VectorsQuery { Q_OBJECT public: VectorsQtQuery(Parameter > &, std::string title,QBoxLayout *,QtDialog *); virtual ~VectorsQtQuery(); virtual bool handle(); public slots: void onUpdate(); private: QBoxLayout *parent; QBoxLayout *mainLayout; QLabel *titleLabel; QBoxLayout *subLayout; QBoxLayout *coordLayout; QLabel *coordLabel; QDoubleSpinBox *coordInput; QtDialog *dialog; VectorsQtQueryPipe *pipe; }; class QtDialog::RandomNumberDistribution_ParametersQtQuery : public QWidget, public Dialog::RandomNumberDistribution_ParametersQuery { Q_OBJECT public: RandomNumberDistribution_ParametersQtQuery(Parameter &, std::string title,QBoxLayout *,QtDialog *); virtual ~RandomNumberDistribution_ParametersQtQuery(); virtual bool handle(); public slots: void onUpdate(); private: QBoxLayout *parent; QHBoxLayout *thisLayout; QLabel *titleLabel; QTextEdit *inputBox; QPushButton *okButton; QtDialog *dialog; RandomNumberDistribution_ParametersQtQueryPipe *pipe; }; #endif /* QTQUERY_HPP_ */