wxGTK/wxMSW syntax; added Ron Kuris' wxExecute patch git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			168 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			168 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        clipbrd.h
 | |
| // Purpose:     Clipboard functionality.
 | |
| //              Note: this functionality is under review, and
 | |
| //              is derived from wxWindows 1.xx code. Please contact
 | |
| //              the wxWindows developers for further information.
 | |
| // Author:      Julian Smart
 | |
| // Modified by:
 | |
| // Created:     17/09/98
 | |
| // RCS-ID:      $Id$
 | |
| // Copyright:   (c) Julian Smart
 | |
| // Licence:   	wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _WX_CLIPBRD_H_
 | |
| #define _WX_CLIPBRD_H_
 | |
| 
 | |
| #ifdef __GNUG__
 | |
| #pragma interface "clipbrd.h"
 | |
| #endif
 | |
| 
 | |
| #include "wx/defs.h"
 | |
| #include "wx/setup.h"
 | |
| 
 | |
| #include "wx/list.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 WXDLLEXPORT wxDataObject;
 | |
| class WXDLLEXPORT wxClipboard: public wxObject
 | |
| {
 | |
|   DECLARE_DYNAMIC_CLASS(wxClipboard)
 | |
| 
 | |
| public:
 | |
|  
 | |
|   wxClipboard();
 | |
|   ~wxClipboard();
 | |
| 
 | |
|   // 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 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();
 | |
| 
 | |
|  // implementation 
 | |
|  
 | |
|   bool              m_open;
 | |
|   wxList            m_data;
 | |
| };
 | |
| 
 | |
| /* The clipboard */
 | |
| WXDLLEXPORT_DATA(extern wxClipboard*) wxTheClipboard;
 | |
| 
 | |
| //-----------------------------------------------------------------------------
 | |
| // wxClipboardModule
 | |
| //-----------------------------------------------------------------------------
 | |
| 
 | |
| class wxClipboardModule: public wxModule
 | |
| {
 | |
|   DECLARE_DYNAMIC_CLASS(wxClipboardModule)
 | |
|   
 | |
| public:
 | |
|     wxClipboardModule() {}
 | |
|     bool OnInit();
 | |
|     void OnExit();
 | |
| };
 | |
| 
 | |
| // This is the old, 1.68 implementation
 | |
| #if 0
 | |
| 
 | |
| /* A clipboard client holds data belonging to the clipboard.
 | |
|    For plain text, a client is not necessary. */
 | |
| class WXDLLEXPORT wxClipboardClient : public wxObject
 | |
| {
 | |
|   DECLARE_ABSTRACT_CLASS(wxClipboardClient)
 | |
| 
 | |
|  public:
 | |
|   /* This list should be filled in with strings indicating the formats
 | |
|      this client can provide. Almost all clients will provide "TEXT".
 | |
|      Format names should be 4 characters long, so things will work
 | |
|      out on the Macintosh */
 | |
|   wxStringList formats;
 | |
| 
 | |
|   /* This method is called when the client is losing the selection. */
 | |
|   virtual void BeingReplaced() = 0;
 | |
| 
 | |
|   /* This method is called when someone wants the data this client is
 | |
|      supplying to the clipboard. "format" is a string indicating the
 | |
|      format of the data - one of the strings from the "formats"
 | |
|      list. "*size" should be filled with the size of the resulting
 | |
|      data. In the case of text, "*size" does not count the
 | |
|      NULL terminator. */
 | |
|   virtual char *GetData(char *format, long *size) = 0;
 | |
| };
 | |
| 
 | |
| /* ONE instance of this class: */
 | |
| class WXDLLEXPORT wxClipboard : public wxObject
 | |
| {
 | |
|   DECLARE_DYNAMIC_CLASS(wxClipboard)
 | |
| 
 | |
|  public:
 | |
|   wxClipboardClient *clipOwner;
 | |
|   char *cbString, *sentString, *receivedString;
 | |
|   void *receivedTargets;
 | |
|   long receivedLength;
 | |
| 
 | |
|   wxClipboard();
 | |
|   ~wxClipboard();
 | |
| 
 | |
|   /* Set the clipboard data owner. "time" comes from the event record. */
 | |
|   void SetClipboardClient(wxClipboardClient *, long time);
 | |
| 
 | |
|   /* Set the clipboard string; does not require a client. */
 | |
|   void SetClipboardString(char *, long time);
 | |
| 
 | |
|   /* Get data from the clipboard in the format "TEXT". */
 | |
|   char *GetClipboardString(long time);
 | |
| 
 | |
|   /* Get data from the clipboard */
 | |
|   char *GetClipboardData(char *format, long *length, long time);
 | |
| 
 | |
|   /* Get the clipboard client directly. Will be NULL if clipboard data
 | |
|      is a string, or if some other application owns the clipboard. 
 | |
|      This can be useful for shortcutting data translation, if the
 | |
|      clipboard user can check for a specific client. (This is used
 | |
|      by the wxMediaEdit class.) */
 | |
|   wxClipboardClient *GetClipboardClient();
 | |
| };
 | |
| 
 | |
| /* Initialize wxTheClipboard. Can be called repeatedly */
 | |
| void WXDLLEXPORT wxInitClipboard();
 | |
| 
 | |
| /* The clipboard */
 | |
| WXDLLEXPORT_DATA(extern wxClipboard*) wxTheClipboard;
 | |
| 
 | |
| #endif
 | |
|   // Old clipboard class
 | |
| 
 | |
| #endif
 | |
|     // _WX_CLIPBRD_H_
 |