summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/src/widgets/tqbutton.h
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 15:17:53 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 15:17:53 -0500
commitdda8474928bd7276e1fad8fb7a601e7c83ff2bc2 (patch)
tree7f83910598b33b12730035f086df20b5a53ab99c /tqtinterface/qt4/src/widgets/tqbutton.h
parent6260b6178868c03aab1644bf93b0ef043654bdb0 (diff)
downloadexperimental-dda8474928bd7276e1fad8fb7a601e7c83ff2bc2.tar.gz
experimental-dda8474928bd7276e1fad8fb7a601e7c83ff2bc2.zip
Added TQt4 HEAD
Diffstat (limited to 'tqtinterface/qt4/src/widgets/tqbutton.h')
-rw-r--r--tqtinterface/qt4/src/widgets/tqbutton.h235
1 files changed, 235 insertions, 0 deletions
diff --git a/tqtinterface/qt4/src/widgets/tqbutton.h b/tqtinterface/qt4/src/widgets/tqbutton.h
new file mode 100644
index 0000000..f75de1a
--- /dev/null
+++ b/tqtinterface/qt4/src/widgets/tqbutton.h
@@ -0,0 +1,235 @@
+/****************************************************************************
+**
+** Definition of TQButton widget class
+**
+** Created : 940206
+**
+** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
+**
+** 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 files LICENSE.GPL2
+** and LICENSE.GPL3 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 TQBUTTON_H
+#define TQBUTTON_H
+
+#ifndef TQT_H
+#include "tqwidget.h"
+#include "tqkeysequence.h"
+#endif // TQT_H
+
+#ifndef TQT_NO_BUTTON
+
+
+class TQButtonGroup;
+class TQToolBar;
+class TQButtonData;
+
+class TQ_EXPORT TQButton : public TQWidget
+{
+ Q_OBJECT
+ TQ_OBJECT
+ TQ_ENUMS( ToggleType ToggleState )
+ Q_PROPERTY( TQString text READ text WRITE setText )
+ Q_PROPERTY( TQPixmap pixmap READ pixmap WRITE setPixmap )
+ Q_PROPERTY( TQKeySequence accel READ accel WRITE setAccel )
+ Q_PROPERTY( bool toggleButton READ isToggleButton )
+ Q_PROPERTY( ToggleType toggleType READ toggleType )
+ Q_PROPERTY( bool down READ isDown WRITE setDown DESIGNABLE false )
+ Q_PROPERTY( bool on READ isOn )
+ Q_PROPERTY( ToggleState toggleState READ state )
+ Q_PROPERTY( bool autoResize READ autoResize WRITE setAutoResize DESIGNABLE false )
+ Q_PROPERTY( bool autoRepeat READ autoRepeat WRITE setAutoRepeat )
+ Q_PROPERTY( bool exclusiveToggle READ isExclusiveToggle )
+
+public:
+ TQButton( TQWidget* tqparent=0, const char* name=0, WFlags f=0 );
+ ~TQButton();
+
+ TQString text() const;
+ virtual void setText( const TQString &);
+ const TQPixmap *pixmap() const;
+ virtual void setPixmap( const TQPixmap & );
+
+#ifndef TQT_NO_ACCEL
+ TQKeySequence accel() const;
+ virtual void setAccel( const TQKeySequence& );
+#endif
+
+ bool isToggleButton() const;
+
+ enum ToggleType { SingleShot, Toggle, Tristate };
+ ToggleType toggleType() const;
+
+ virtual void setDown( bool );
+ bool isDown() const;
+
+ bool isOn() const;
+
+ enum ToggleState { Off, NoChange, On };
+ ToggleState state() const;
+
+#ifndef TQT_NO_COMPAT
+ bool autoResize() const;
+ void setAutoResize( bool );
+#endif
+
+ bool autoRepeat() const;
+ virtual void setAutoRepeat( bool );
+ bool isExclusiveToggle() const;
+
+ TQButtonGroup *group() const;
+
+public Q_SLOTS:
+ void animateClick();
+ void toggle();
+
+Q_SIGNALS:
+ void pressed();
+ void released();
+ void clicked();
+ void toggled( bool );
+ void stateChanged( int );
+
+protected:
+ void setToggleButton( bool );
+ virtual void setToggleType( ToggleType );
+ void setOn( bool );
+ virtual void setState( ToggleState );
+
+ virtual bool hitButton( const TQPoint &pos ) const;
+ virtual void drawButton( TQPainter * );
+ virtual void drawButtonLabel( TQPainter * );
+
+ void keyPressEvent( TQKeyEvent *);
+ void keyReleaseEvent( TQKeyEvent *);
+ void mousePressEvent( TQMouseEvent * );
+ void mouseReleaseEvent( TQMouseEvent * );
+ void mouseMoveEvent( TQMouseEvent * );
+ void paintEvent( TQPaintEvent * );
+ void focusInEvent( TQFocusEvent * );
+ void focusOutEvent( TQFocusEvent * );
+
+ void enabledChange( bool );
+
+private Q_SLOTS:
+ void animateTimeout();
+ void autoRepeatTimeout();
+ void emulateClick();
+
+private:
+ TQString btext;
+ TQPixmap *bpixmap;
+ uint toggleTyp : 2;
+ uint buttonDown : 1;
+ uint stat : 2;
+ uint mlbDown : 1;
+ uint autoresize : 1;
+ uint animation : 1;
+ uint repeat : 1;
+ TQButtonData *d;
+
+ friend class TQButtonGroup;
+ friend class TQToolBar;
+ void ensureData();
+ virtual void setGroup( TQButtonGroup* );
+ TQTimer *timer();
+ void nextState();
+
+private: // Disabled copy constructor and operator=
+#if defined(TQ_DISABLE_COPY)
+ TQButton( const TQButton & );
+ TQButton &operator=( const TQButton & );
+#endif
+};
+
+
+inline TQString TQButton::text() const
+{
+ return btext;
+}
+
+inline const TQPixmap *TQButton::pixmap() const
+{
+ return bpixmap;
+}
+
+inline bool TQButton::isToggleButton() const
+{
+ return toggleTyp != SingleShot;
+}
+
+inline bool TQButton::isDown() const
+{
+ return buttonDown;
+}
+
+inline bool TQButton::isOn() const
+{
+ return stat != Off;
+}
+
+#ifndef TQT_NO_COMPAT
+inline bool TQButton::autoResize() const
+{
+ return autoresize;
+}
+#endif
+
+inline bool TQButton::autoRepeat() const
+{
+ return repeat;
+}
+
+inline TQButton::ToggleState TQButton::state() const
+{
+ return ToggleState(stat);
+}
+
+inline void TQButton::setToggleButton( bool b )
+{
+ setToggleType( b ? Toggle : SingleShot );
+}
+
+inline void TQButton::setOn( bool y )
+{
+ setState( y ? On : Off );
+}
+
+inline TQButton::ToggleType TQButton::toggleType() const
+{
+ return ToggleType(toggleTyp);
+}
+
+
+#endif // TQT_NO_BUTTON
+
+#endif // TQBUTTON_H