00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef QBOOLSIGNAL_H
00022 #define QBOOLSIGNAL_H
00023
00024 #include <QObject>
00025 #include "qimsysglobal.h"
00026
00027 class QIMSYS_EXPORT QBoolSignal : public QObject
00028 {
00029 Q_OBJECT
00030 public:
00031 QBoolSignal(QObject *sender, const char *signal, bool value, QObject *parent = 0);
00032
00033 bool value() const;
00034 signals:
00035 void on();
00036 void off();
00037
00038 private slots:
00039 void changed(bool on);
00040
00041 private:
00042 bool _value;
00043 };
00044
00045 class QIMSYS_EXPORT QBoolsSignal : public QObject
00046 {
00047 Q_OBJECT
00048 public:
00049 enum Operator {
00050 And,
00051 Or,
00052 };
00053 QBoolsSignal(QBoolSignal *b1, QBoolSignal *b2, Operator op = And, QObject *parent = 0);
00054
00055 bool value() const;
00056 signals:
00057 void on();
00058 void off();
00059
00060 private slots:
00061 void changed();
00062
00063 private:
00064 QBoolSignal *_b1;
00065 QBoolSignal *_b2;
00066 Operator _op;
00067 bool _value;
00068 };
00069
00070
00071 #endif // QBOOLSIGNAL_H