Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# ntqaction.h

This is the verbatim text of the ntqaction.h include file. It is provided only for illustration; the copyright remains with Trolltech.

    /****************************************************************************
    ** $Id: qt/ntqaction.h   3.3.8   edited Jan 11 14:46 $
    **
    ** Definition of TQAction class
    **
    ** Created : 000000
    **
    ** Copyright (C) 2005-2007 Trolltech ASA.  All rights reserved.
    **
    ** This file is part of the widgets module of the TQt GUI Toolkit.
    **
    ** This file may be used under the terms of the GNU General Public
    ** License versions 2.0 or 3.0 as published by the Free Software
    ** Foundation and appearing in the file LICENSE.GPL included in the
    ** packaging of this file. Alternatively you may (at your option) use any
    ** later version of the GNU General Public License if such license has
    ** been publicly approved by Trolltech ASA (or its successors, if any)
    ** and the KDE Free TQt Foundation.
    **
    ** Please review the following information to ensure GNU General
    ** Public Licensing requirements will be met:
    ** http://trolltech.com/products/qt/licenses/licensing/opensource/.
    ** If you are unsure which license is appropriate for your use, please
    ** review the following information:
    ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
    ** or contact the sales department at sales@trolltech.com.
    **
    ** This file may be used under the terms of the Q Public License as
    ** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
    ** included in the packaging of this file.  Licensees holding valid TQt
    ** Commercial licenses may use this file in accordance with the TQt
    ** Commercial License Agreement provided with the Software.
    **
    ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
    ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
    ** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
    ** herein.
    **
    **********************************************************************/

    #ifndef TQACTION_H
    #define TQACTION_H

    #ifndef QT_H
    #include "ntqobject.h"
    #include "ntqiconset.h"
    #include "ntqstring.h"
    #include "ntqkeysequence.h"
    #endif // QT_H

    #ifndef TQT_NO_ACTION

    class TQActionPrivate;
    class TQActionGroupPrivate;
    class TQStatusBar;
    class TQPopupMenu;
    class TQToolTipGroup;

    class TQ_EXPORT TQAction : public TQObject
    {
        TQ_OBJECT
        TQ_PROPERTY( bool toggleAction READ isToggleAction WRITE setToggleAction)
        TQ_PROPERTY( bool on READ isOn WRITE setOn )
        TQ_PROPERTY( bool enabled READ isEnabled WRITE setEnabled )
        TQ_PROPERTY( TQIconSet iconSet READ iconSet WRITE setIconSet )
        TQ_PROPERTY( TQString text READ text WRITE setText )
        TQ_PROPERTY( TQString menuText READ menuText WRITE setMenuText )
        TQ_PROPERTY( TQString toolTip READ toolTip WRITE setToolTip )
        TQ_PROPERTY( TQString statusTip READ statusTip WRITE setStatusTip )
        TQ_PROPERTY( TQString whatsThis READ whatsThis WRITE setWhatsThis )
    #ifndef TQT_NO_ACCEL
        TQ_PROPERTY( TQKeySequence accel READ accel WRITE setAccel )
    #endif
        TQ_PROPERTY( bool visible READ isVisible WRITE setVisible )

    public:
        TQAction( TQObject* parent, const char* name = 0 );
    #ifndef TQT_NO_ACCEL
        TQAction( const TQString& menuText, TQKeySequence accel,
    	     TQObject* parent, const char* name = 0 );
        TQAction( const TQIconSet& icon, const TQString& menuText, TQKeySequence accel,
    	     TQObject* parent, const char* name = 0 );

        TQAction( const TQString& text, const TQIconSet& icon, const TQString& menuText, TQKeySequence accel,
    	     TQObject* parent, const char* name = 0, bool toggle = FALSE ); // obsolete
        TQAction( const TQString& text, const TQString& menuText, TQKeySequence accel, TQObject* parent,
    	     const char* name = 0, bool toggle = FALSE ); // obsolete
    #endif
        TQAction( TQObject* parent, const char* name , bool toggle ); // obsolete
        ~TQAction();

        virtual void setIconSet( const TQIconSet& );
        TQIconSet iconSet() const;
        virtual void setText( const TQString& );
        TQString text() const;
        virtual void setMenuText( const TQString& );
        TQString menuText() const;
        virtual void setToolTip( const TQString& );
        TQString toolTip() const;
        virtual void setStatusTip( const TQString& );
        TQString statusTip() const;
        virtual void setWhatsThis( const TQString& );
        TQString whatsThis() const;
    #ifndef TQT_NO_ACCEL
        virtual void setAccel( const TQKeySequence& key );
        TQKeySequence accel() const;
    #endif
        virtual void setToggleAction( bool );

        bool isToggleAction() const;
        bool isOn() const;
        bool isEnabled() const;
        bool isVisible() const;
        virtual bool addTo( TQWidget* );
        virtual bool removeFrom( TQWidget* );

    protected:
        virtual void addedTo( TQWidget *actionWidget, TQWidget *container );
        virtual void addedTo( int index, TQPopupMenu *menu );

    public slots:
        void activate();
        void toggle();
        virtual void setOn( bool );
        virtual void setEnabled( bool );
        void setDisabled( bool );
        void setVisible( bool );

    signals:
        void activated();
        void toggled( bool );

    private slots:
        void internalActivation();
        void toolButtonToggled( bool );
        void objectDestroyed();
        void menuStatusText( int id );
        void showStatusText( const TQString& );
        void clearStatusText();

    private:
        void init();

        friend class TQActionGroup;
        friend class TQActionGroupPrivate;
        TQActionPrivate* d;

    #if defined(TQ_DISABLE_COPY)  // Disabled copy constructor and operator=
        TQAction( const TQAction & );
        TQAction &operator=( const TQAction & );
    #endif
    };

    class TQ_EXPORT TQActionGroup : public TQAction
    {
        TQ_OBJECT
        TQ_PROPERTY( bool exclusive READ isExclusive WRITE setExclusive )
        TQ_PROPERTY( bool usesDropDown READ usesDropDown WRITE setUsesDropDown )

    public:
        TQActionGroup( TQObject* parent, const char* name = 0 );
        TQActionGroup( TQObject* parent, const char* name , bool exclusive  ); // obsolete
        ~TQActionGroup();
        void setExclusive( bool );
        bool isExclusive() const;
        void add( TQAction* a);
        void addSeparator();
        bool addTo( TQWidget* );
        bool removeFrom( TQWidget* );
        void setEnabled( bool );
        void setToggleAction( bool toggle );
        void setOn( bool on );

        void setUsesDropDown( bool enable );
        bool usesDropDown() const;

        void setIconSet( const TQIconSet& );
        void setText( const TQString& );
        void setMenuText( const TQString& );
        void setToolTip( const TQString& );
        void setWhatsThis( const TQString& );

    protected:
        void childEvent( TQChildEvent* );
        virtual void addedTo( TQWidget *actionWidget, TQWidget *container, TQAction *a );
        virtual void addedTo( int index, TQPopupMenu *menu, TQAction *a );
        virtual void addedTo( TQWidget *actionWidget, TQWidget *container );
        virtual void addedTo( int index, TQPopupMenu *menu );

    signals:
        void selected( TQAction* );

    private slots:
        void childToggled( bool );
        void childDestroyed();
        void internalComboBoxActivated( int );
        void internalComboBoxHighlighted( int );
        void internalToggle( TQAction* );
        void objectDestroyed();

    private:
        TQActionGroupPrivate* d;

    #ifndef TQT_NO_COMPAT
    public:
        void insert( TQAction* a ) { add( a ); }
    #endif

    private:
    #if defined(TQ_DISABLE_COPY)  // Disabled copy constructor and operator=
        TQActionGroup( const TQActionGroup & );
        TQActionGroup &operator=( const TQActionGroup & );
    #endif
    };

    #endif

    #endif