X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/83df96d63a52ebb08b9e32549dc255354b4a18d0..9d9ad67384e5dc658c4de46e49113c321489bf81:/include/wx/x11/clipbrd.h diff --git a/include/wx/x11/clipbrd.h b/include/wx/x11/clipbrd.h index 848bfe6565..981aab4690 100644 --- a/include/wx/x11/clipbrd.h +++ b/include/wx/x11/clipbrd.h @@ -1,84 +1,88 @@ ///////////////////////////////////////////////////////////////////////////// // Name: clipbrd.h // Purpose: Clipboard functionality. -// Author: Julian Smart -// Modified by: +// Author: Robert Roebling // Created: 17/09/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart +// Copyright: (c) Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef _WX_CLIPBRD_H_ -#define _WX_CLIPBRD_H_ +#ifndef __X11CLIPBOARDH__ +#define __X11CLIPBOARDH__ -#ifdef __GNUG__ -#pragma interface "clipbrd.h" +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) +#pragma interface #endif #if wxUSE_CLIPBOARD +#include "wx/object.h" #include "wx/list.h" +#include "wx/dataobj.h" +#include "wx/control.h" +#include "wx/module.h" -bool WXDLLEXPORT wxOpenClipboard(); -bool WXDLLEXPORT wxClipboardOpen(); -bool WXDLLEXPORT wxCloseClipboard(); -bool WXDLLEXPORT wxEmptyClipboard(); -bool WXDLLEXPORT wxIsClipboardFormatAvailable(wxDataFormat dataFormat); -bool WXDLLEXPORT wxSetClipboardData(wxDataFormat dataFormat, wxObject *obj, int width = 0, int height = 0); -wxObject* WXDLLEXPORT wxGetClipboardData(wxDataFormat dataFormat, long *len = NULL); -wxDataFormat WXDLLEXPORT wxEnumClipboardFormats(wxDataFormat dataFormat); -wxDataFormat WXDLLEXPORT wxRegisterClipboardFormat(char *formatName); -bool WXDLLEXPORT wxGetClipboardFormatName(wxDataFormat dataFormat, char *formatName, int maxCount); - -//----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- // wxClipboard -//----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- class wxClipboard : public wxClipboardBase { public: wxClipboard(); ~wxClipboard(); - + // open the clipboard before SetData() and GetData() virtual bool Open(); - + // close the clipboard after SetData() and GetData() virtual void Close(); - - // opened? - virtual bool IsOpened() const { return m_open; } - - // replaces the data on the clipboard with data + + // query whether the clipboard is opened + virtual bool IsOpened() const; + + // set the clipboard data. all other formats will be deleted. virtual bool SetData( wxDataObject *data ); - - // adds data to the clipboard + + // add to the clipboard data. virtual bool AddData( wxDataObject *data ); - - // format available on the clipboard ? + + // ask if data in correct format is available virtual bool IsSupported( const wxDataFormat& format ); - + // fill data with data on the clipboard (if available) virtual bool GetData( wxDataObject& data ); - + // clears wxTheClipboard and the system's clipboard if possible virtual void Clear(); - + + // If primary == TRUE, use primary selection in all further ops, + // primary == FALSE resets it. virtual void UsePrimarySelection(bool primary = TRUE) - { m_usePrimary = primary; } + { m_usePrimary = primary; } // implementation from now on - bool m_open; - wxList m_data; + bool m_ownsClipboard; + bool m_ownsPrimarySelection; + wxDataObject *m_data; + + WXWindow m_clipboardWidget; /* for getting and offering data */ + WXWindow m_targetsWidget; /* for getting list of supported formats */ + bool m_waiting; /* querying data or formats is asynchronous */ + + bool m_formatSupported; + Atom m_targetRequested; bool m_usePrimary; - + wxDataObject *m_receivedData; + private: DECLARE_DYNAMIC_CLASS(wxClipboard) }; -#endif // wxUSE_CLIPBOARD +#endif + // wxUSE_CLIPBOARD #endif -// _WX_CLIPBRD_H_ + // __X11CLIPBOARDH__