QSignal(3qt)

NAME
QSignal - Can be used to send signals without parameters

#include <qsignal.h>

  Public Members
QSignal ( QObject * parent=0, const char * name=0 )
~QSignal ()
const char* name () const
virtual void setName ( const char * name )
bool connect ( const QObject * receiver, const char * member )
bool disconnect ( const QObject * receiver, const char * member=0 )
bool isBlocked () const
void block ( bool b )
void activate ()
void setParameter ( int value )
int parameter () const

DESCRIPTION
The QSignal class can be used to send signals without parameters.

QSignal is a simple extension of QObject that can send plain signals without parameters. If you want to send signals from a class that does not inherit QObject, you can create an internal QSignal object to emit the signal. You must also provide a function that connects the signal to an outside object slot. This is how we have implemented signals in the QMenuData class, which is not a QObject.

In general, we recommend inheriting QObject instead. QObject provides much more functionality.

Note that QObject is a private base class of QSignal, i.e. you cannot call any QObject member functions from a QSignal object.

Example:

    #include <qsignal.h>
    class MyClass
    {
    public:
        MyClass();
       ~MyClass();
        void doSomething();
        void connect( QObject *receiver, const char *member );
    private:
        QSignal *sig;
    };
    MyClass::MyClass()
    {
        sig = new QSignal;
    }
    MyClass::~MyClass()
    {
        delete sig;
    }
    void MyClass::doSomething()
    {
        // ... does something
        sig->activate();        // activates the signal
    }
    void MyClass::connect( QObject *receiver, const char *member )
    {
        sig->connect( receiver, member );
    }

MEMBER FUNCTION DOCUMENTATION

QSignal::QSignal ( QObject * parent=0, const char * name=0 )
Constructs a signal object with the parent object parent and a name. These arguments are passed directly to QObject.

QSignal::~QSignal ()
Destructs the signal. All connections are removed, as is the case with all QObjects.

void QSignal::activate ()
Emits the signal.

See also isBlocked().

void QSignal::block ( bool b )
Blocks the signal if b is TRUE, or unblocks the signal if b is FALSE.

An activated signal disappears into hyperspace if it is blocked.

See also isBlocked(), activate() and QObject::blockSignals().

bool QSignal::connect ( const QObject * receiver, const char * member )
Connects the signal to member in object receiver.

See also disconnect() and QObject::connect().

bool QSignal::disconnect ( const QObject * receiver, const char * member=0 )
Disonnects the signal from member in object receiver.

See also connect() and QObject::disconnect().

bool QSignal::isBlocked () const
Returns TRUE if the signal is blocked, or FALSE if it is not blocked.

The signal is not blocked by default.

See also block() and QObject::signalsBlocked().

const char * QSignal::name () const
Returns the name of this signal object.

Since QObject is a private base class, we have added this function, which calls QObject::name().

int QSignal::parameter () const
Returns the signal's parameter.

void QSignal::setName ( const char * name ) [virtual]
Sets the name of this signal object to name.

Since QObject is a private base class, we have added this function, which calls QObject::setName().

Reimplemented from QObject.

void QSignal::setParameter ( int value )
Sets the signal's parameter to value

SEE ALSO
http://doc.trolltech.com/qsignal.html http://www.trolltech.com/faq/tech.html

COPYRIGHT
Copyright 1992-2001 Trolltech AS, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.

AUTHOR
Generated automatically from the source code.

BUGS
If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports make our job much simpler. Thank you.

In case of content or formattting problems with this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qsignal.3qt) and the Qt version (2.3.5).