File: qbutton-h.html

package info (click to toggle)
qt1g 1%3A1.45-1.1
  • links: PTS
  • area: non-free
  • in suites: potato
  • size: 17,436 kB
  • ctags: 20,174
  • sloc: cpp: 89,153; yacc: 1,273; ansic: 692; makefile: 479; lex: 326; sh: 150; perl: 94
file content (183 lines) | stat: -rw-r--r-- 4,791 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex,noarchive"><title>
Qt Toolkit - qbutton.h include file
</title><style type="text/css"><!--
h3.fn,span.fn { margin-left: 15%; text-indent: -15%; }
a:link { text-decoration: none; }
--></style>
</head><body bgcolor="#ffffff">

<a href=index.html><img width=122 height=65 src=qtlogo.jpg alt="Qt logo" align=left border=0></a>
<center><img src=dochead.gif width=472 height=27></center>
<br clear=all>

<h1 align=center>qbutton.h</h1><br clear="all">
This is the verbatim text of the qbutton.h include file.  It is is
provided only for illustration; the copyright
remains with Troll Tech.
<hr>
<pre>
/****************************************************************************
** &#36;Id&#58; qbutton.h,v 2.18.2.2 1998/08/21 19:13:24 hanord Exp $
**
** Definition of QButton widget class
**
** Created : 940206
**
** Copyright (C) 1992-1999 Troll Tech AS.  All rights reserved.
**
** This file is part of Qt Free Edition, version 1.45.
**
** See the file LICENSE included in the distribution for the usage
** and distribution terms, or http://www.troll.no/free-license.html.
**
** IMPORTANT NOTE: You may NOT copy this file or any part of it into
** your own programs or libraries.
**
** Please see http://www.troll.no/pricing.html for information about 
** Qt Professional Edition, which is this same library but with a
** license which allows creation of commercial/proprietary software.
**
*****************************************************************************/

#ifndef QBUTTON_H
#define QBUTTON_H

#ifndef QT_H
#include "qwidget.h"
#endif // QT_H


class QButtonGroup;                             // button group (qbuttongroup.h)
struct QButtonData;


class Q_EXPORT QButton : public QWidget                 // button class
{
    Q_OBJECT
public:
    QButton( QWidget *parent=0, const char *name=0 );
   ~QButton();

    const char *text() const;
    void        setText( const char * );
    const QPixmap *pixmap() const;
    void        setPixmap( const QPixmap &amp; );

    int         accel() const;
    void        setAccel( int );

    bool        isToggleButton() const;

    void        setDown( bool );
    bool        isDown() const;

    bool        isOn() const;

    bool        autoResize() const;
    void        setAutoResize( bool );

    bool        autoRepeat() const;
    void        setAutoRepeat( bool );

public slots:
    void        animateClick();
    void        toggle();

signals:
    void        pressed();
    void        released();
    void        clicked();
    void        toggled( bool );

protected:
    void        setToggleButton( bool );
    void        setOn( bool );

    virtual bool hitButton( const QPoint &amp;pos ) const;
    virtual void drawButton( QPainter * );
    virtual void drawButtonLabel( QPainter * );

    void        keyPressEvent( QKeyEvent *);
    void        mousePressEvent( QMouseEvent * );
    void        mouseReleaseEvent( QMouseEvent * );
    void        mouseMoveEvent( QMouseEvent * );
    void        paintEvent( QPaintEvent * );
    void        focusInEvent( QFocusEvent * );
    void        focusOutEvent( QFocusEvent * );

    void        enabledChange( bool );

private slots:
    void        animateTimeout();
    void        autoRepeatTimeout();

private:
    QString     btext;
    QPixmap    *bpixmap;
    uint        toggleBt        : 1;
    uint        buttonDown      : 1;
    uint        buttonOn        : 1;
    uint        mlbDown         : 1;
    uint        autoresize      : 1;
    uint        animation       : 1;
    uint        repeat          : 1;
    QButtonData *d;

    friend class QButtonGroup;
    void          ensureData();
    QButtonGroup *group() const;
    void          setGroup( QButtonGroup* );
    QTimer       *timer();
private:        // Disabled copy constructor and operator=
#if defined(Q_DISABLE_COPY)
    QButton( const QButton &amp; );
    QButton &amp;operator=( const QButton &amp; );
#endif
};


inline const char *QButton::text() const
{
    return btext;
}

inline const QPixmap *QButton::pixmap() const
{
    return bpixmap;
}

inline bool QButton::isToggleButton() const
{
    return toggleBt;
}

inline  bool QButton::isDown() const
{
    return buttonDown;
}

inline bool QButton::isOn() const
{
    return buttonOn;
}

inline bool QButton::autoResize() const
{
    return autoresize;
}

inline bool QButton::autoRepeat() const
{
    return repeat;
}


#endif // QBUTTON_H

</pre>
<p><address><hr><div align="center">
<table width="100%" cellspacing="0" border="0"><tr>
<td>Copyright  1999 Troll Tech<td><a href="trademarks.html">Trademarks</a>
<td align="right"><div align="right">Qt version 1.45</div>
</table></div></address></body></html>