To use the clipboard, you call member functions of the global {\bf wxTheClipboard} object.
Call \helpref{wxClipboard::Open}{wxclipboardopen} to get ownership of the clipboard. If this operation returns TRUE, you
-now own the clipboard. Call \helpref{wxClipboard::SetData}{wxclipboardsetdata} to put data
+now own the clipboard. Call \helpref{wxClipboard::AddData}{wxclipboardadddata} to put data
on the clipboard (one or more times), or \helpref{wxClipboard::GetData}{wxclipboardgetdata} to
retrieve data from the clipboard. Call \helpref{wxClipboard::Close}{wxclipboardclose} to close
the clipboard and relinquish ownership. You should keep the clipboard open only momentarily.
// Write some text to the clipboard
if (wxTheClipboard->Open())
{
- // This object is held by the clipboard, so do not delete it in the app.
- wxTextDataObject* object = new wxTextDataObject("Some text");
- wxTheClipboard->SetData(& object);
+ // This data objects are held by the clipboard,
+ // so do not delete them in the app.
+ wxTheClipboard->AddData( new wxTextDataObject("Some text") );
wxTheClipboard->Close();
}
// Read some text
- if (wxTheClipboard->Open() && wxTheClipboard->IsSupportedFormat(wxDF_TEXT))
+ if (wxTheClipboard->Open())
{
- wxTextDataObject object;
- wxTheClipboard->GetData(& object);
+ if (wxTheClipboard->IsSupported( "STRING" ))
+ {
+ wxTextDataObject data;
+ wxTheClipboard->GetData( &data );
+ wxMessageBox( data.GetText() );
+ }
wxTheClipboard->Close();
-
- wxMessageBox(object.GetText());
}
\end{verbatim}
\helpref{wxObject}{wxobject}
+\wxheading{Include files}
+
+<wx/clipbrd.h>
+
\wxheading{See also}
\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDataObject}{wxdataobject}
Destructor.
+\membersection{wxClipboard::AddData}\label{wxclipboardadddata}
+
+\func{bool}{AddData}{\param{wxDataObject*}{ data}}
+
+Call this function to add a data object to the clipboard. This function can be called several times
+to put different formats on the clipboard.
+
\membersection{wxClipboard::Clear}\label{wxclipboardclear}
\func{void}{Clear}{\void}
\func{bool}{Close}{\void}
-Call this function to close the clipboard, having opened it with \helpref{wxClipboard::Close}{wxclipboardclose}.
+Call this function to close the clipboard, having opened it with \helpref{wxClipboard::Open}{wxclipboardopen}.
\membersection{wxClipboard::GetData}\label{wxclipboardgetdata}
\func{bool}{GetData}{\param{wxDataObject*}{ data}}
Call this function to fill {\it data} with data on the clipboard, if available in the required
-format.
-
-\membersection{wxClipboard::IsSupportedFormat}\label{wxclipboardissupportedformat}
+format. Returns TRUE on success.
-\func{bool}{IsSupportedFormat}{\param{wxDataFormat}{ format}, \param{const wxString\&}{ id = ""}}
+\membersection{wxClipboard::IsSupported}\label{wxclipboardissupported}
-Returns TRUE if the given format is available on the clipboard.
+\func{bool}{IsSupported}{\param{wxDataFormat}{ format}}
-\wxheading{Parameters}
-
-\docparam{format}{The format. See \helpref{wxDataObject}{wxdataobject} for a list of formats.}
-
-\docparam{id}{ If {\it format} is wxDF\_PRIVATE, {\it id} is the identifier of the private data format.}
+Returns TRUE if the format of the given data object is available on the clipboard.
\membersection{wxClipboard::Open}\label{wxclipboardopen}
Call \helpref{wxClipboard::Close}{wxclipboardclose} when you have finished with the clipboard. You
should keep the clipboard open for only a very short time.
+Returns TRUE on success. This should be tested (as in the sample shown above).
+
\membersection{wxClipboard::SetData}\label{wxclipboardsetdata}
\func{bool}{SetData}{\param{wxDataObject*}{ data}}
-Call this function to set a data object to the clipboard. This function can be called several times
-to put different formats on the clipboard.
+Call this function to set the data object to the clipboard. This function will
+clear all previous contents in the clipboard, so calling it several times
+does not make any sense.
+
+\membersection{wxClipboard::UsePrimarySelection}\label{wxclipboarduseprimary}
+
+\func{void}{UsePrimarySelection}{\param{bool}{ primary = TRUE}}
+
+On platforms supporting it (currently only GTK), selects the so called
+PRIMARY SELECTION as the clipboard as opposed to the normal clipboard,
+if {\it primary} is TRUE.
+