X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/26f86486b088495eeff542ec7d43caf78601fac1..d7e918b594dccaada636fb2dd99081bc89e99db6:/include/wx/gtk/clipbrd.h diff --git a/include/wx/gtk/clipbrd.h b/include/wx/gtk/clipbrd.h index 913379cac7..6f9083dde2 100644 --- a/include/wx/gtk/clipbrd.h +++ b/include/wx/gtk/clipbrd.h @@ -7,48 +7,18 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +#ifndef _WX_GTK_CLIPBOARD_H_ +#define _WX_GTK_CLIPBOARD_H_ -#ifndef __GTKCLIPBOARDH__ -#define __GTKCLIPBOARDH__ - -#ifdef __GNUG__ -#pragma interface -#endif - -#include "wx/defs.h" - -#if wxUSE_CLIPBOARD - -#include "wx/object.h" -#include "wx/list.h" -#include "wx/dataobj.h" -#include "wx/control.h" -#include "wx/module.h" - -//----------------------------------------------------------------------------- -// classes -//----------------------------------------------------------------------------- - -class wxClipboard; -class wxClipboardModule; - -//----------------------------------------------------------------------------- -// global data -//----------------------------------------------------------------------------- - -extern wxClipboard* wxTheClipboard; - -//----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- // wxClipboard -//----------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- -class wxClipboard : public wxObject +class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase { - DECLARE_DYNAMIC_CLASS(wxClipboard) - public: wxClipboard(); - ~wxClipboard(); + virtual ~wxClipboard(); // open the clipboard before SetData() and GetData() virtual bool Open(); @@ -56,6 +26,9 @@ public: // close the clipboard after SetData() and GetData() virtual void Close(); + // 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 ); @@ -63,47 +36,36 @@ public: virtual bool AddData( wxDataObject *data ); // ask if data in correct format is available - virtual bool IsSupported( wxDataObject &data ); + virtual bool IsSupported( const wxDataFormat& format ); // fill data with data on the clipboard (if available) - virtual bool GetData( wxDataObject &data ); + virtual bool GetData( wxDataObject& data ); // clears wxTheClipboard and the system's clipboard if possible virtual void Clear(); - // implementation - + // If primary == TRUE, use primary selection in all further ops, + // primary == FALSE resets it. + virtual void UsePrimarySelection(bool primary = TRUE) + { m_usePrimary = primary; } + + // implementation from now on bool m_open; - bool m_ownsClipboard; bool m_ownsPrimarySelection; + wxDataObject *m_data; - wxDataBroker *m_dataBroker; - GtkWidget *m_clipboardWidget; + GtkWidget *m_clipboardWidget; /* for getting and offering data */ + GtkWidget *m_targetsWidget; /* for getting list of supported formats */ + bool m_waiting; /* querying data or formats is asynchronous */ bool m_formatSupported; GdkAtom m_targetRequested; + bool m_usePrimary; + wxDataObject *m_receivedData; - wxDataObject *m_receivedData; -}; - -//----------------------------------------------------------------------------- -// wxClipboardModule -//----------------------------------------------------------------------------- - -class wxClipboardModule: public wxModule -{ - DECLARE_DYNAMIC_CLASS(wxClipboardModule) - -public: - wxClipboardModule() {} - bool OnInit(); - void OnExit(); +private: + DECLARE_DYNAMIC_CLASS(wxClipboard) }; -#endif - - // wxUSE_CLIPBOARD - -#endif - // __GTKCLIPBOARDH__ +#endif // _WX_GTK_CLIPBOARD_H_