#ifndef QCD_CORE_H #define QCD_CORE_H #include #include #include "piobject.h" #include "cdutils_types.h" class QCDCore; class __QCore_Initializer__ { public: __QCore_Initializer__(); ~__QCore_Initializer__(); static int count_; static QCDCore * __instance__; }; class QCDCore: public QObject, public PIObject { Q_OBJECT PIOBJECT(QCDCore) friend class __QCore_Initializer__; public: static QCDCore * instance() {return __QCore_Initializer__::__instance__;} int bindWindow(QWidget * wnd); int bindWidgets(QList wl); bool bindWidget(QWidget * w); bool bindWidget(QWidget * w, const CDUtils::CDType k); int unbindWindow(QWidget * wnd); int unbindWidgets(QList wl); bool unbindWidget(QWidget * w); void unbindAllWidgets(); private: QCDCore(); ~QCDCore(); void bindView(QWidget * v); EVENT_HANDLER(void, K_ChangedGlobal); QMultiMap > binded_widgets; bool updating; private slots: void slotBool(bool v); void slotInt(int v); void slotDouble(double v); void slotText(QString v); public slots: void updateBindedWidgets(); signals: void updateViewRequest(); }; static __QCore_Initializer__ __QCore_initializer__; #endif // QCD_CORE_H