Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/clipi_gtk2.py
diff options
context:
space:
mode:
Diffstat (limited to 'clipi_gtk2.py')
-rw-r--r--clipi_gtk2.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/clipi_gtk2.py b/clipi_gtk2.py
new file mode 100644
index 0000000..e986ed8
--- /dev/null
+++ b/clipi_gtk2.py
@@ -0,0 +1,49 @@
+import gtk
+
+def _destroy_cb(widget, data=None):
+ gtk.main_quit()
+
+
+def __copy_clicked_cb(widget):
+ clipboard = gtk.Clipboard()
+ clipboard.set_with_data([('foobar', 0, 0)],
+ __clipboard_get_func_cb,
+ __clipboard_clear_func_cb,
+ '~/file-test/sample-text')
+
+def __clipboard_get_func_cb(clipboard, selectiondata, info, data):
+ print '* __clipboard_get_func_cb data=', data
+ selectiondata.set('STRING', 8, data)
+
+def __clipboard_clear_func_cb(clipboard, data):
+ print '* __clipboard_clear_func_cb'
+
+
+def __paste_clicked_cb(widget):
+ clipboard = gtk.Clipboard()
+ clipboard.request_contents('foobar', __paste_contents_received, None)
+
+def __paste_contents_received(clipboard, selectiondata, data):
+ print '* __paste_contents_received: '
+ print ' - data=', (str(selectiondata.data))
+ print ' - type=', (str(selectiondata.type))
+ print ' - format=', (str(selectiondata.format))
+ print ' - target=', (str(selectiondata.target))
+
+
+window = gtk.Window()
+window.connect("destroy", _destroy_cb)
+
+box = gtk.VBox()
+window.add(box)
+
+button = gtk.Button(label='copy')
+box.add(button)
+button.connect('clicked', __copy_clicked_cb)
+
+button = gtk.Button(label='paste')
+box.add(button)
+button.connect('clicked', __paste_clicked_cb)
+
+window.show_all()
+gtk.main()