Livecode Wiki
Advertisement

Specifies what data and of what type is on the clipboard.

Syntax:

get the clipboardData[<key>]

Examples:

set the clipboardData["text"] to "привет"
put textDecode(the clipboardData["unicode"], "utf-16") -- outputs привет
set the clipboardData["RTF"] to the RTFText of field "Info"
set the clipboardData["image"] to image 1
set the clipboardData["styledText"] to the styledText of field 4
set the clipboardData["objects"] to the selectedobj

Use the clipboardData property to put data in the clipboard in a specified format, or to get the contents of the clipboard, without copying or pasting. The keys for the clipboardData are the following:

  • "text": plain text
  • "unicode": plain text encoded as utf-16 in host byte order
  • "rtf": LiveCode rich text format data
  • "htmltext": LiveCode HTML text, see HtmlText
  • "styles": styled text in LiveCode internal styled-text format
  • "styledtext": array of LiveCode styled text
  • "image": the text of an image object, i.e. binary data in PNG, GIF or JPEG format
  • "html": styled text in LiveCode HTML format
  • "styles": LiveCode styled text data
  • "objects": one or more LiveCode objects serialized into an internal format
  • "files": a return-delimited list of filenames in LiveCode format
  • "private": an arbitrary application-defined string. This format will only be visible within the same LiveCode process

The clipboardData property is populated automatically when the clipboard content is changed, either by using the cut or copy command, or by cutting or copying in another application.

If the clipboard contains data compatible with the specified type, it is converted to the requested type; otherwise the array element for that type is empty. For example, if the clipboard contains text "hello", the clipboardData["image"] is empty, whereas the clipboardData["html"] returns "<p>hello</p>"

You can query the keys of the clipboardData to determine what types of data are on the clipboard. For example, if the clipboard contains styled text, you can put that text (in htmlText format) in a variable with the following statement:

put the clipboardData["html"] into tHTML


To change the contents of the clipboard, you can set the clipboardData property directly. For example, the following statement places the text "Hello World" on the clipboard:

   set the clipboardData["text"] to "Hello World"


The above statement is equivalent to selecting the text "Hello World" in a field and choosing Edit menu, or to using the copy command. The data you place on the clipboard is accessible to your application using the paste command, and to other applications (that support pasting text) using the application's Paste menu item.

Tips:

  • To quickly find out what kind of data is on the clipboard, use the clipboard function.
  • The "objects" type can be used to capture the binary form of a LiveCode object that was placed on the clipboard. This binary data can be passed to another instance of LiveCode or saved to a file and re-loaded at a later time.
  • If you require low-level access to the clipboard contents, use the rawClipboardData property instead.

See also: unlock clipboard, clipboard, dragData, fullClipboardData, rawClipboardData, text

Advertisement