summaryrefslogtreecommitdiffstats
path: root/doc/man/man3/qclipboard.3qt
blob: fb91a217a29d0dca526802fdebb21bf691cef339 (plain)
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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
'\" t
.TH QClipboard 3qt "2 February 2007" "Trolltech AS" \" -*- nroff -*-
.\" Copyright 1992-2007 Trolltech ASA.  All rights reserved.  See the
.\" license file included in the distribution for a complete license
.\" statement.
.\"
.ad l
.nh
.SH NAME
QClipboard \- Access to the window system clipboard
.SH SYNOPSIS
\fC#include <qclipboard.h>\fR
.PP
Inherits QObject.
.PP
.SS "Public Members"
.in +1c
.ti -1c
.BI "enum \fBMode\fR { Clipboard, Selection }"
.br
.ti -1c
.BI "void \fBclear\fR ( Mode mode )"
.br
.ti -1c
.BI "void \fBclear\fR ()"
.br
.ti -1c
.BI "bool \fBsupportsSelection\fR () const"
.br
.ti -1c
.BI "bool \fBownsSelection\fR () const"
.br
.ti -1c
.BI "bool \fBownsClipboard\fR () const"
.br
.ti -1c
.BI "void setSelectionMode ( bool enable )  \fI(obsolete)\fR"
.br
.ti -1c
.BI "bool selectionModeEnabled () const  \fI(obsolete)\fR"
.br
.ti -1c
.BI "QString \fBtext\fR ( Mode mode ) const"
.br
.ti -1c
.BI "QString \fBtext\fR ( QCString & subtype, Mode mode ) const"
.br
.ti -1c
.BI "void \fBsetText\fR ( const QString & text, Mode mode )"
.br
.ti -1c
.BI "QMimeSource * \fBdata\fR ( Mode mode ) const"
.br
.ti -1c
.BI "void \fBsetData\fR ( QMimeSource * src, Mode mode )"
.br
.ti -1c
.BI "QImage \fBimage\fR ( Mode mode ) const"
.br
.ti -1c
.BI "QPixmap \fBpixmap\fR ( Mode mode ) const"
.br
.ti -1c
.BI "void \fBsetImage\fR ( const QImage & image, Mode mode )"
.br
.ti -1c
.BI "void \fBsetPixmap\fR ( const QPixmap & pixmap, Mode mode )"
.br
.ti -1c
.BI "QString \fBtext\fR () const"
.br
.ti -1c
.BI "QString \fBtext\fR ( QCString & subtype ) const"
.br
.ti -1c
.BI "void \fBsetText\fR ( const QString & text )"
.br
.ti -1c
.BI "QMimeSource * \fBdata\fR () const"
.br
.ti -1c
.BI "void \fBsetData\fR ( QMimeSource * src )"
.br
.ti -1c
.BI "QImage \fBimage\fR () const"
.br
.ti -1c
.BI "QPixmap \fBpixmap\fR () const"
.br
.ti -1c
.BI "void \fBsetImage\fR ( const QImage & image )"
.br
.ti -1c
.BI "void \fBsetPixmap\fR ( const QPixmap & pixmap )"
.br
.in -1c
.SS "Signals"
.in +1c
.ti -1c
.BI "void \fBselectionChanged\fR ()"
.br
.ti -1c
.BI "void \fBdataChanged\fR ()"
.br
.in -1c
.SH DESCRIPTION
The QClipboard class provides access to the window system clipboard.
.PP
The clipboard offers a simple mechanism to copy and paste data between applications.
.PP
QClipboard supports the same data types that QDragObject does, and uses similar mechanisms. For advanced clipboard usage read the drag-and-drop documentation.
.PP
There is a single QClipboard object in an application, and you can access it using QApplication::clipboard().
.PP
Example:
.PP
.nf
.br
    QClipboard *cb = QApplication::clipboard();
.br
.br
    // Copy text from the clipboard (paste)
.br
    QString text = cb->text(QClipboard::Clipboard);
.br
    if ( !text.isNull() )
.br
        qDebug( "The clipboard contains: " + text );
.br
.br
    // Copy text into the clipboard
.br
    cb->setText( "This text can be pasted by other programs",
.br
                 QClipboard::Clipboard );
.br
.fi
.PP
QClipboard features some convenience functions to access common data types: setText() allows the exchange of Unicode text and setPixmap() and setImage() allows the exchange of QPixmaps and QImages between applications. The setData() function is the ultimate in flexibility: it allows you to add any QMimeSource into the clipboard. There are corresponding getters for each of these, e.g. text(), image() and pixmap().
.PP
You can clear the clipboard by calling clear().
.SH "Platform Specific Information"
<h4> X11 </h4>
.IP
.TP
The X11 Window System has the concept of a separate selection and clipboard. When text is selected, it is immediately available as the global mouse selection. The global mouse selection may later be copied to the clipboard. By convention, the middle mouse button is used to paste the global mouse selection.
.IP
.TP
X11 also has the concept of ownership; if you change the selection within a window, X11 will only notify the owner and the previous owner of the change, i.e. it will not notify all applications that the selection or clipboard data changed.
.IP
.TP
Lastly, the X11 clipboard is event driven, i.e. the clipboard will not function properly if the event loop is not running. Similarly, it is recommended that the contents of the clipboard are stored or retrieved in direct response to user-input events, e.g. mouse button or key presses and releases. You should not store or retrieve the clipboard contents in response to timer or non-user-input events.
.IP
.PP
<h4> Windows </h4>
.IP
.TP
Microsoft Windows does not support the global mouse selection; it only supports the global clipboard, e.g. Windows only adds text to the clipboard when an explicit copy or cut is made.
.IP
.TP
Windows does not have the concept of ownership; the clipboard is a fully global resource so all applications are notified of changes.
.IP
.PP
See the multiclip example in the \fIQt Designer\fR examples directory for an example of a multiplatform clipboard application that also demonstrates selection handling.
.PP
See also Environment Classes and Input/Output and Networking.
.SS "Member Type Documentation"
.SH "QClipboard::Mode"

.PP
This enum type is used to control which part of the system clipboard is used by QClipboard::data(), QClipboard::setData() and related functions.
.TP
\fCQClipboard::Clipboard\fR - indicates that data should be stored and retrieved from the global clipboard.
.TP
\fCQClipboard::Selection\fR - indicates that data should be stored and retrieved from the global mouse selection.
.PP
\fINote\fR: Support for Selection is provided only on systems with a global mouse selection (e.g. X11).
.PP
See also QClipboard::supportsSelection().
.SH MEMBER FUNCTION DOCUMENTATION
.SH "void QClipboard::clear ( Mode mode )"
Clear the clipboard contents.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, this function clears the the global clipboard contents. If \fImode\fR is QClipboard::Selection, this function clears the global mouse selection contents.
.PP
See also QClipboard::Mode and supportsSelection().
.SH "void QClipboard::clear ()"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
This function uses the QClipboard::clear() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
.SH "QMimeSource * QClipboard::data ( Mode mode ) const"
Returns a reference to a QMimeSource representation of the current clipboard data.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the data is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the data is retrieved from the global mouse selection.
.PP
See also setData().
.SH "QMimeSource * QClipboard::data () const"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
This function uses the QClipboard::data() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
.SH "void QClipboard::dataChanged ()\fC [signal]\fR"
This signal is emitted when the clipboard data is changed.
.SH "QImage QClipboard::image ( Mode mode ) const"
Returns the clipboard image, or returns a null image if the clipboard does not contain an image or if it contains an image in an unsupported image format.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the image is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the image is retrieved from the global mouse selection.
.PP
See also setImage(), pixmap(), data(), and QImage::isNull().
.SH "QImage QClipboard::image () const"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
This function uses the QClipboard::image() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
.SH "bool QClipboard::ownsClipboard () const"
Returns TRUE if this clipboard object owns the clipboard data; otherwise returns FALSE.
.SH "bool QClipboard::ownsSelection () const"
Returns TRUE if this clipboard object owns the mouse selection data; otherwise returns FALSE.
.SH "QPixmap QClipboard::pixmap ( Mode mode ) const"
Returns the clipboard pixmap, or null if the clipboard does not contain a pixmap. Note that this can lose information. For example, if the image is 24-bit and the display is 8-bit, the result is converted to 8 bits, and if the image has an alpha channel, the result just has a mask.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the pixmap is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the pixmap is retrieved from the global mouse selection.
.PP
See also setPixmap(), image(), data(), and QPixmap::convertFromImage().
.SH "QPixmap QClipboard::pixmap () const"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
This function uses the QClipboard::pixmap() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
.SH "void QClipboard::selectionChanged ()\fC [signal]\fR"
This signal is emitted when the selection is changed. This only applies to windowing systems that support selections, e.g. X11. Windows doesn't support selections.
.SH "bool QClipboard::selectionModeEnabled () const"
\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
.PP
Use the QClipboard::data(), QClipboard::setData() and related functions which take a QClipboard::Mode argument.
.PP
Returns the selection mode.
.PP
See also setSelectionMode() and supportsSelection().
.SH "void QClipboard::setData ( QMimeSource * src, Mode mode )"
Sets the clipboard data to \fIsrc\fR. Ownership of the data is transferred to the clipboard. If you want to remove the data either call clear() or call setData() again with new data.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the data is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the data is retrieved from the global mouse selection.
.PP
The QDragObject subclasses are reasonable objects to put into the clipboard (but do not try to call QDragObject::drag() on the same object). Any QDragObject placed in the clipboard should have a parent of 0. Do not put QDragMoveEvent or QDropEvent subclasses in the clipboard, as they do not belong to the event handler which receives them.
.PP
The setText(), setImage() and setPixmap() functions are simpler wrappers for setting text, image and pixmap data respectively.
.PP
See also data().
.SH "void QClipboard::setData ( QMimeSource * src )"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
This function uses the QClipboard::setData() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
.SH "void QClipboard::setImage ( const QImage & image, Mode mode )"
Copies \fIimage\fR into the clipboard.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the image is stored in the global clipboard. If \fImode\fR is QClipboard::Selection, the data is stored in the global mouse selection.
.PP
This is shorthand for:
.PP
.nf
.br
        setData( new QImageDrag(image), mode )
.br
.fi
.PP
See also image(), setPixmap(), and setData().
.SH "void QClipboard::setImage ( const QImage & image )"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
This function uses the QClipboard::setImage() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
.SH "void QClipboard::setPixmap ( const QPixmap & pixmap, Mode mode )"
Copies \fIpixmap\fR into the clipboard. Note that this is slower than setImage() because it needs to convert the QPixmap to a QImage first.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the pixmap is stored in the global clipboard. If \fImode\fR is QClipboard::Selection, the pixmap is stored in the global mouse selection.
.PP
See also pixmap(), setImage(), and setData().
.SH "void QClipboard::setPixmap ( const QPixmap & pixmap )"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
This function uses the QClipboard::setPixmap() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
.SH "void QClipboard::setSelectionMode ( bool enable )"
\fBThis function is obsolete.\fR It is provided to keep old source working. We strongly advise against using it in new code.
.PP
Use the QClipboard::data(), QClipboard::setData() and related functions which take a QClipboard::Mode argument.
.PP
Sets the clipboard selection mode. If \fIenable\fR is TRUE, then subsequent calls to QClipboard::setData() and other functions which put data into the clipboard will put the data into the mouse selection, otherwise the data will be put into the clipboard.
.PP
See also supportsSelection() and selectionModeEnabled().
.SH "void QClipboard::setText ( const QString & text, Mode mode )"
Copies \fItext\fR into the clipboard as plain text.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the text is stored in the global clipboard. If \fImode\fR is QClipboard::Selection, the text is stored in the global mouse selection.
.PP
See also text() and setData().
.PP
Example: regexptester/regexptester.cpp.
.SH "void QClipboard::setText ( const QString & text )"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
This function uses the QClipboard::setText() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
.SH "bool QClipboard::supportsSelection () const"
Returns TRUE if the clipboard supports mouse selection; otherwise returns FALSE.
.PP
Example: regexptester/regexptester.cpp.
.SH "QString QClipboard::text ( Mode mode ) const"
Returns the clipboard text as plain text, or a null string if the clipboard does not contain any text.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the text is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the text is retrieved from the global mouse selection.
.PP
See also setText(), data(), and QString::operator!().
.SH "QString QClipboard::text ( QCString & subtype, Mode mode ) const"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
Returns the clipboard text in subtype \fIsubtype\fR, or a null string if the clipboard does not contain any text. If \fIsubtype\fR is null, any subtype is acceptable, and \fIsubtype\fR is set to the chosen subtype.
.PP
The \fImode\fR argument is used to control which part of the system clipboard is used. If \fImode\fR is QClipboard::Clipboard, the text is retrieved from the global clipboard. If \fImode\fR is QClipboard::Selection, the text is retrieved from the global mouse selection.
.PP
Common values for \fIsubtype\fR are "plain" and "html".
.PP
See also setText(), data(), and QString::operator!().
.SH "QString QClipboard::text () const"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
This function uses the QClipboard::text() function which takes a QClipboard::Mode argument. The value of the mode argument is determined by the return value of selectionModeEnabled(). If selectionModeEnabled() returns TRUE, the mode argument is QClipboard::Selection, otherwise the mode argument is QClipboard::Clipboard.
.SH "QString QClipboard::text ( QCString & subtype ) const"
This is an overloaded member function, provided for convenience. It behaves essentially like the above function.
.PP
Returns the clipboard text in subtype \fIsubtype\fR, or a null string
if the clipboard does not contain any text. This function uses the
QClipboard::text() function which takes a QClipboard::Mode
argument.  The value of the mode argument is determined by the
return value of selectionModeEnabled(). If selectionModeEnabled()
returns TRUE, the mode argument is QClipboard::Selection,
otherwise the mode argument is QClipboard::Clipboard.

.SH "SEE ALSO"
.BR http://doc.trolltech.com/qclipboard.html
.BR http://www.trolltech.com/faq/tech.html
.SH COPYRIGHT
Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com.  See the
license file included in the distribution for a complete license
statement.
.SH AUTHOR
Generated automatically from the source code.
.SH BUGS
If you find a bug in Qt, please report it as described in
.BR http://doc.trolltech.com/bughowto.html .
Good bug reports help us to help you. Thank you.
.P
The definitive Qt documentation is provided in HTML format; it is
located at $QTDIR/doc/html and can be read using Qt Assistant or with
a web browser. This man page is provided as a convenience for those
users who prefer man pages, although this format is not officially
supported by Trolltech. 
.P
If you find errors in this manual page, please report them to
.BR qt-bugs@trolltech.com .
Please include the name of the manual page (qclipboard.3qt) and the Qt
version (3.3.8).