X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b527aac54a829ba2ad77d8fb8609cd54eb8ef5d7..8dc9904630c28707c828328e997ec46639aca757:/include/wx/gtk1/clipbrd.h diff --git a/include/wx/gtk1/clipbrd.h b/include/wx/gtk1/clipbrd.h index b8d488a747..d940100715 100644 --- a/include/wx/gtk1/clipbrd.h +++ b/include/wx/gtk1/clipbrd.h @@ -4,7 +4,7 @@ // Author: Robert Roebling // Id: $Id$ // Copyright: (c) 1998 Robert Roebling -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -16,10 +16,13 @@ #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/dnd.h" // for wxDataObject #include "wx/module.h" //----------------------------------------------------------------------------- @@ -39,40 +42,55 @@ extern wxClipboard* wxTheClipboard; // wxClipboard //----------------------------------------------------------------------------- -class wxClipboard: public wxObject +class wxClipboard : public wxObject { - DECLARE_DYNAMIC_CLASS(wxClipboard) + DECLARE_DYNAMIC_CLASS(wxClipboard) public: - - wxClipboard(); - ~wxClipboard(); - - virtual void SetData( wxDataObject *data ); - - virtual bool IsSupportedFormat( wxDataFormat format ); - virtual bool ObtainData( wxDataFormat format ); - - // call these after ObtainData() - virtual size_t GetDataSize() const; - virtual void GetDataHere( void *data ) const; - - // clears wxTheClipboard and the system's clipboard if possible - virtual void Clear(); - - // implementation - - wxDataObject *m_data; - char *m_sentString, - *m_receivedString; - void *m_receivedTargets; - GtkWidget *m_clipboardWidget; - - bool m_formatSupported; - GdkAtom m_targetRequested; - - size_t m_receivedSize; - char *m_receivedData; + wxClipboard(); + ~wxClipboard(); + + // open the clipboard before SetData() and GetData() + virtual bool Open(); + + // close the clipboard after SetData() and GetData() + virtual void Close(); + + // set the clipboard data. all other formats will be deleted. + virtual bool SetData( wxDataObject *data ); + + // add to the clipboard data. + virtual bool AddData( wxDataObject *data ); + + // ask if data in correct format is available + virtual bool IsSupported( 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. + inline void UsePrimarySelection(bool primary = TRUE) { m_usePrimary = primary; } + + // implementation + + bool m_open; + + bool m_ownsClipboard; + bool m_ownsPrimarySelection; + + wxDataBroker *m_dataBroker; + 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; }; //----------------------------------------------------------------------------- @@ -82,13 +100,16 @@ public: class wxClipboardModule: public wxModule { DECLARE_DYNAMIC_CLASS(wxClipboardModule) - + public: wxClipboardModule() {} bool OnInit(); void OnExit(); }; +#endif + + // wxUSE_CLIPBOARD #endif // __GTKCLIPBOARDH__