\section{\class{wxClipboard}}\label{wxclipboard}

A class for manipulating the clipboard. Note that this is not compatible with the
clipboard class from wxWindows 1.xx, which has the same name but a different implementation.

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
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.

For example:

\begin{verbatim}
  // 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);
    wxTheClipboard->Close();
  }

  // Read some text
  if (wxTheClipboard->Open() && wxTheClipboard->IsSupportedFormat(wxDF_TEXT))
  {
    wxTextDataObject object;
    wxTheClipboard->GetData(& object);
    wxTheClipboard->Close();

    wxMessageBox(object.GetText());
  }
\end{verbatim}

\wxheading{Derived from}

\helpref{wxObject}{wxobject}

\wxheading{See also}

\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDataObject}{wxdataobject}

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxClipboard::wxClipboard}

\func{}{wxClipboard}{\void}

Constructor.

\membersection{wxClipboard::\destruct{wxClipboard}}

\func{}{\destruct{wxClipboard}}{\void}

Destructor.

\membersection{wxClipboard::Clear}\label{wxclipboardclear}

\func{void}{Clear}{\void}

Clears the global clipboard object and the system's clipboard if possible.

\membersection{wxClipboard::Close}\label{wxclipboardclose}

\func{bool}{Close}{\void}

Call this function to close the clipboard, having opened it with \helpref{wxClipboard::Close}{wxclipboardclose}.

\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}

\func{bool}{IsSupportedFormat}{\param{wxDataFormat}{ format}, \param{const wxString\&}{ id = ""}}

Returns TRUE if the given format is available on the clipboard.

\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.}

\membersection{wxClipboard::Open}\label{wxclipboardopen}

\func{bool}{Open}{\void}

Call this function to open the clipboard before calling \helpref{wxClipboard::SetData}{wxclipboardsetdata} 
and \helpref{wxClipboard::GetData}{wxclipboardgetdata}.

Call \helpref{wxClipboard::Close}{wxclipboardclose} when you have finished with the clipboard. You
should keep the clipboard open for only a very short time.

\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.

