Revision 1 (by moose, 2006/03/06 10:35:57) Initial Import
#ifndef SciQSettings_H_GUARD
#define SciQSettings_H_GUARD

#include <QSettings>
#include <QMultiHash>

class SciQSettings : public QSettings {
	Q_OBJECT

	struct Method {
		Method(QObject *o, QString sig);
		~Method();
		void invoke(SciQSettings *qs, QString key);

		private:
			QObject *iobj;
			QString methname;
			QString argtype;
	};

	public:
		SciQSettings(SciQSettings *p, QObject *op);
		SciQSettings(QObject *p = 0);
		~SciQSettings();

		void setValue ( const QString & key, const QVariant & value );
		void registerMethod(QString key, QObject *o, QString sig);
	private:
		QMultiHash<QString, Method *> mapping;
};

#endif /* SciQSettings_H_GUARD */