]> git.saurik.com Git - wxWidgets.git/blame - include/wx/os2/clipbrd.h
finished wxWindow for MGL
[wxWidgets.git] / include / wx / os2 / clipbrd.h
CommitLineData
0e320a79
DW
1/////////////////////////////////////////////////////////////////////////////
2// Name: clipbrd.h
3// Purpose: Clipboard functionality.
4// Note: this functionality is under review, and
5// is derived from wxWindows 1.xx code. Please contact
6// the wxWindows developers for further information.
37f214d5 7// Author: David Webster
0e320a79 8// Modified by:
37f214d5 9// Created: 10/13/99
0e320a79 10// RCS-ID: $Id$
37f214d5
DW
11// Copyright: (c) David Webster
12// Licence: wxWindows licence
0e320a79
DW
13/////////////////////////////////////////////////////////////////////////////
14
15#ifndef _WX_CLIPBRD_H_
16#define _WX_CLIPBRD_H_
17
37f214d5 18#if wxUSE_CLIPBOARD
0e320a79 19
37f214d5
DW
20#include "wx/list.h"
21#include "wx/module.h"
22#include "wx/dataobj.h" // for wxDataFormat
23
24// These functions superceded by wxClipboard, but retained in order to
25// implement wxClipboard, and for compatibility.
26
27// open/close the clipboard
28WXDLLEXPORT bool wxOpenClipboard();
29WXDLLEXPORT bool wxIsClipboardOpened();
30#define wxClipboardOpen wxIsClipboardOpened
31WXDLLEXPORT bool wxCloseClipboard();
32
33// get/set data
34WXDLLEXPORT bool wxEmptyClipboard();
35WXDLLEXPORT bool wxSetClipboardData(wxDataFormat dataFormat,
36 const void *data,
37 int width = 0, int height = 0);
38WXDLLEXPORT void* wxGetClipboardData(wxDataFormat dataFormat,
39 long *len = NULL);
40
41// clipboard formats
42WXDLLEXPORT bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat);
43WXDLLEXPORT wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat);
44WXDLLEXPORT int wxRegisterClipboardFormat(wxChar *formatName);
45WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat,
46 wxChar *formatName,
47 int maxCount);
48
49//-----------------------------------------------------------------------------
50// wxClipboard
51//-----------------------------------------------------------------------------
52
53class WXDLLEXPORT wxDataObject;
0e320a79
DW
54class WXDLLEXPORT wxClipboard : public wxObject
55{
37f214d5 56 DECLARE_DYNAMIC_CLASS(wxClipboard)
0e320a79 57
37f214d5
DW
58public:
59 wxClipboard();
60 ~wxClipboard();
0e320a79 61
37f214d5
DW
62 // open the clipboard before SetData() and GetData()
63 virtual bool Open();
0e320a79 64
37f214d5
DW
65 // close the clipboard after SetData() and GetData()
66 virtual void Close();
0e320a79 67
6dddc146
DW
68 // query whether the clipboard is opened
69 virtual bool IsOpened() const;
70
37f214d5
DW
71 // set the clipboard data. all other formats will be deleted.
72 virtual bool SetData( wxDataObject *data );
0e320a79 73
37f214d5
DW
74 // add to the clipboard data.
75 virtual bool AddData( wxDataObject *data );
0e320a79 76
37f214d5
DW
77 // ask if data in correct format is available
78 virtual bool IsSupported( wxDataFormat format );
0e320a79 79
37f214d5 80 // fill data with data on the clipboard (if available)
efe7d6ff 81 virtual bool GetData( wxDataObject& data );
37f214d5
DW
82
83 // clears wxTheClipboard and the system's clipboard if possible
84 virtual void Clear();
0e320a79 85
1be7f92a
DW
86 // flushes the clipboard: this means that the data which is currently on
87 // clipboard will stay available even after the application exits (possibly
88 // eating memory), otherwise the clipboard will be emptied on exit
89 virtual bool Flush();
37f214d5 90
1be7f92a
DW
91 // X11 has two clipboards which get selected by this call. Empty on MSW.
92 void UsePrimarySelection( bool WXUNUSED(primary) = FALSE ) { }
37f214d5 93
1be7f92a
DW
94private:
95 bool m_clearOnExit;
37f214d5
DW
96};
97
98#endif // wxUSE_CLIPBOARD
0e320a79
DW
99#endif
100 // _WX_CLIPBRD_H_