#ifndef CDDIRECTK_TYPE_DIALOG_H
#define CDDIRECTK_TYPE_DIALOG_H

#include <QDialog>
#include "ui_cddirectk_type_dialog.h"


class CDDirectKTypeDialog: public QDialog, public Ui::CDDirectKTypeDialog
{
	Q_OBJECT
public:
	explicit CDDirectKTypeDialog(QWidget * parent = 0);
	~CDDirectKTypeDialog();

	struct TypeInfo {
		TypeInfo(int type_ = -1);
		QWidget * create();
		int type;
		QVector<double> params_d;
		QVector<QString> params_s;
	};

	TypeInfo getType() const;

private:

public slots:

private slots:

signals:

};

inline QDataStream & operator <<(QDataStream & s, const CDDirectKTypeDialog::TypeInfo & v) {
	s << v.type << v.params_d << v.params_s;
	return s;
}
inline QDataStream & operator >>(QDataStream & s, CDDirectKTypeDialog::TypeInfo & v) {
	s >> v.type >> v.params_d >> v.params_s;
	return s;
}

#endif // CDDIRECTK_TYPE_DIALOG_H
