Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2010-08-25 07:44:13 +0400
committerDalai Felinto <dfelinto@gmail.com>2010-08-25 07:44:13 +0400
commit8ffc50e45cc04f69c03dbdda9b331328ec840121 (patch)
tree59dac8b447a0d78bec0bd8cd117300c794907947 /source
parentc6a3fb85455a0b1bb742c1ccdc432fe4365ee446 (diff)
bpy.context.manager.clipboard get/set function (to get/set the Clipboard from a script)
Thanks Campbell - one day I get used to C pointer management hell :) * when using it to get, the whole string comes in one single line with Linux EOL (\n) * works only for text
Diffstat (limited to 'source')
-rw-r--r--source/blender/makesrna/intern/rna_wm.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 41de875aa8c..d13e4f9f616 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -612,6 +612,33 @@ static int rna_wmKeyMapItem_name_length(PointerRNA *ptr)
return 0;
}
+static void rna_wmClipboard_get(PointerRNA *ptr, char *value)
+{
+ char *pbuf;
+
+ pbuf= WM_clipboard_text_get(FALSE);
+ strcpy(value, pbuf);
+
+ MEM_freeN(pbuf);
+}
+
+static int rna_wmClipboard_length(PointerRNA *ptr)
+{
+ char *clipboard;
+ int length;
+
+ clipboard = WM_clipboard_text_get(FALSE);
+ length = (clipboard?strlen(clipboard):0);
+ MEM_freeN(clipboard);
+
+ return length;
+}
+
+static void rna_wmClipboard_set(PointerRNA *ptr, const char *value)
+{
+ WM_clipboard_text_set((void *) value, FALSE);
+}
+
#ifndef DISABLE_PYTHON
static void rna_Operator_unregister(const bContext *C, StructRNA *type)
{
@@ -1299,6 +1326,10 @@ static void rna_def_windowmanager(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Key Configurations", "Registered key configurations");
rna_def_wm_keyconfigs(brna, prop);
+ prop= RNA_def_property(srna, "clipboard", PROP_STRING, PROP_NONE);
+ RNA_def_property_string_funcs(prop, "rna_wmClipboard_get", "rna_wmClipboard_length", "rna_wmClipboard_set");
+ RNA_def_property_ui_text(prop, "Text Clipboard", "");
+
RNA_api_wm(srna);
}