]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/clipbrd.tex
Remove double entry of wxTrackable
[wxWidgets.git] / docs / latex / wx / clipbrd.tex
1 \section{\class{wxClipboard}}\label{wxclipboard}
2
3 A class for manipulating the clipboard. Note that this is not compatible with the
4 clipboard class from wxWidgets 1.xx, which has the same name but a different implementation.
5
6 To use the clipboard, you call member functions of the global {\bf wxTheClipboard} object.
7
8 See also the \helpref{wxDataObject overview}{wxdataobjectoverview} for further information.
9
10 Call \helpref{wxClipboard::Open}{wxclipboardopen} to get ownership of the clipboard. If this operation returns true, you
11 now own the clipboard. Call \helpref{wxClipboard::SetData}{wxclipboardsetdata} to put data
12 on the clipboard, or \helpref{wxClipboard::GetData}{wxclipboardgetdata} to
13 retrieve data from the clipboard. Call \helpref{wxClipboard::Close}{wxclipboardclose} to close
14 the clipboard and relinquish ownership. You should keep the clipboard open only momentarily.
15
16 For example:
17
18 \begin{verbatim}
19 // Write some text to the clipboard
20 if (wxTheClipboard->Open())
21 {
22 // This data objects are held by the clipboard,
23 // so do not delete them in the app.
24 wxTheClipboard->SetData( new wxTextDataObject("Some text") );
25 wxTheClipboard->Close();
26 }
27
28 // Read some text
29 if (wxTheClipboard->Open())
30 {
31 if (wxTheClipboard->IsSupported( wxDF_TEXT ))
32 {
33 wxTextDataObject data;
34 wxTheClipboard->GetData( data );
35 wxMessageBox( data.GetText() );
36 }
37 wxTheClipboard->Close();
38 }
39 \end{verbatim}
40
41 \wxheading{Derived from}
42
43 \helpref{wxObject}{wxobject}
44
45 \wxheading{Include files}
46
47 <wx/clipbrd.h>
48
49 \wxheading{Library}
50
51 \helpref{wxCore}{librarieslist}
52
53 \wxheading{See also}
54
55 \helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDataObject}{wxdataobject}
56
57 \latexignore{\rtfignore{\wxheading{Members}}}
58
59
60 \membersection{wxClipboard::wxClipboard}\label{wxclipboardctor}
61
62 \func{}{wxClipboard}{\void}
63
64 Constructor.
65
66
67 \membersection{wxClipboard::\destruct{wxClipboard}}\label{wxclipboarddtor}
68
69 \func{}{\destruct{wxClipboard}}{\void}
70
71 Destructor.
72
73
74 \membersection{wxClipboard::AddData}\label{wxclipboardadddata}
75
76 \func{bool}{AddData}{\param{wxDataObject*}{ data}}
77
78 Call this function to add the data object to the clipboard. You may call
79 this function repeatedly after having cleared the clipboard using \helpref{wxClipboard::Clear}{wxclipboardclear}.
80
81 After this function has been called, the clipboard owns the data, so do not delete
82 the data explicitly.
83
84 \wxheading{See also}
85
86 \helpref{wxClipboard::SetData}{wxclipboardsetdata}
87
88
89 \membersection{wxClipboard::Clear}\label{wxclipboardclear}
90
91 \func{void}{Clear}{\void}
92
93 Clears the global clipboard object and the system's clipboard if possible.
94
95
96 \membersection{wxClipboard::Close}\label{wxclipboardclose}
97
98 \func{void}{Close}{\void}
99
100 Call this function to close the clipboard, having opened it with \helpref{wxClipboard::Open}{wxclipboardopen}.
101
102
103 \membersection{wxClipboard::Flush}\label{wxclipboardflush}
104
105 \func{bool}{Flush}{\void}
106
107 Flushes the clipboard: this means that the data which is currently on
108 clipboard will stay available even after the application exits (possibly
109 eating memory), otherwise the clipboard will be emptied on exit.
110 Returns false if the operation is unsuccessful for any reason.
111
112
113 \membersection{wxClipboard::GetData}\label{wxclipboardgetdata}
114
115 \func{bool}{GetData}{\param{wxDataObject\&}{ data}}
116
117 Call this function to fill {\it data} with data on the clipboard, if available in the required
118 format. Returns true on success.
119
120
121 \membersection{wxClipboard::IsOpened}\label{wxclipboardisopened}
122
123 \constfunc{bool}{IsOpened}{\void}
124
125 Returns true if the clipboard has been opened.
126
127
128 \membersection{wxClipboard::IsSupported}\label{wxclipboardissupported}
129
130 \func{bool}{IsSupported}{\param{const wxDataFormat\&}{ format}}
131
132 Returns true if there is data which matches the data format of the given data object currently {\bf available} (IsSupported sounds like a misnomer, FIXME: better deprecate this name?) on the clipboard.
133
134
135 \membersection{wxClipboard::IsUsingPrimarySelection}\label{wxclipboardisusingprimaryselection}
136
137 \constfunc{bool}{IsUsingPrimarySelection}{\void}
138
139 Returns \true if we are using the primary selection, \false if clipboard one.
140 See \helpref{UsePrimarySelection}{wxclipboarduseprimary} for more information.
141
142
143 \membersection{wxClipboard::Open}\label{wxclipboardopen}
144
145 \func{bool}{Open}{\void}
146
147 Call this function to open the clipboard before calling \helpref{wxClipboard::SetData}{wxclipboardsetdata}
148 and \helpref{wxClipboard::GetData}{wxclipboardgetdata}.
149
150 Call \helpref{wxClipboard::Close}{wxclipboardclose} when you have finished with the clipboard. You
151 should keep the clipboard open for only a very short time.
152
153 Returns true on success. This should be tested (as in the sample shown above).
154
155
156 \membersection{wxClipboard::SetData}\label{wxclipboardsetdata}
157
158 \func{bool}{SetData}{\param{wxDataObject*}{ data}}
159
160 Call this function to set the data object to the clipboard. This function will
161 clear all previous contents in the clipboard, so calling it several times
162 does not make any sense.
163
164 After this function has been called, the clipboard owns the data, so do not delete
165 the data explicitly.
166
167 \wxheading{See also}
168
169 \helpref{wxClipboard::AddData}{wxclipboardadddata}
170
171
172 \membersection{wxClipboard::UsePrimarySelection}\label{wxclipboarduseprimary}
173
174 \func{void}{UsePrimarySelection}{\param{bool}{ primary = true}}
175
176 On platforms supporting it (all X11-based ports), wxClipboard uses the
177 CLIPBOARD X11 selection by default. When this function is called with \true
178 argument, all subsequent clipboard operations will use PRIMARY selection until
179 this function is called again with \false.
180
181 On the other platforms, there is no PRIMARY selection and so all clipboard
182 operations will fail. This allows to implement the standard X11 handling of the
183 clipboard which consists in copying data to the CLIPBOARD selection only when
184 the user explicitly requests it (i.e. by selection \texttt{"Copy"} menu
185 command) but putting the currently selected text into the PRIMARY selection
186 automatically, without overwriting the normal clipboard contents with the
187 currently selected text on the other platforms.
188