X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dc86cb34c3a8f141686339f1285cf259dec5faaa..2d120f8391920145647ec10e84629bc21fa9f1bb:/include/wx/gtk/clipbrd.h diff --git a/include/wx/gtk/clipbrd.h b/include/wx/gtk/clipbrd.h index aa46abbb00..ace437d5d9 100644 --- a/include/wx/gtk/clipbrd.h +++ b/include/wx/gtk/clipbrd.h @@ -16,23 +16,21 @@ #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" //----------------------------------------------------------------------------- // classes //----------------------------------------------------------------------------- class wxClipboard; - -//----------------------------------------------------------------------------- -// global functions -//----------------------------------------------------------------------------- - -void wxInitClipboard(); -void wxDoneClipboard(); +class wxClipboardModule; //----------------------------------------------------------------------------- // global data @@ -44,7 +42,7 @@ extern wxClipboard* wxTheClipboard; // wxClipboard //----------------------------------------------------------------------------- -class wxClipboard: public wxObject +class wxClipboard: public wxObject { DECLARE_DYNAMIC_CLASS(wxClipboard) @@ -53,19 +51,60 @@ public: wxClipboard(); ~wxClipboard(); - virtual void SetData( wxDataObject *data ); - virtual void *GetData( wxDataFormat format, size_t *length ); - virtual bool IsAvailable( wxDataFormat format ); + // open the clipboard before SetData() and GetData() + virtual bool Open(); + + // close the clipboard after SetData() and GetData() + virtual void Close(); + + // can be called several times + virtual bool SetData( wxDataObject *data ); + + // format available on the clipboard ? + // supply ID if private format, the same as wxPrivateDataObject::SetId() + virtual bool IsSupportedFormat( wxDataFormat format, const wxString &id = "" ); + + // 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(); // implementation + + GdkAtom GetTargetAtom( wxDataFormat format, const wxString &id = "" ); + + bool m_open; + + bool m_ownsClipboard; + bool m_ownsPrimarySelection; - wxDataObject *m_data; - char *m_sentString, - *m_receivedString; - void *m_receivedTargets; - size_t m_receivedLength; - GtkWidget *m_clipboardWidget; + wxList m_dataObjects; + GtkWidget *m_clipboardWidget; + + bool m_formatSupported; + GdkAtom m_targetRequested; + + wxDataObject *m_receivedData; }; +//----------------------------------------------------------------------------- +// wxClipboardModule +//----------------------------------------------------------------------------- + +class wxClipboardModule: public wxModule +{ + DECLARE_DYNAMIC_CLASS(wxClipboardModule) + +public: + wxClipboardModule() {} + bool OnInit(); + void OnExit(); +}; + +#endif + + // wxUSE_CLIPBOARD + #endif // __GTKCLIPBOARDH__