Hi Nathan,
Your request is not a small ask, and I don't have time to write
something new and custom and targeted to your specific situation.
If you want an example of using the Clipboard with complex data, take a
look at
https://github.com/DKWoods/PyParserDemo, starting with the
PyParserDemo.py file's OnCutCopy() and OnPaste() methods, which handle
transferring formatted text between a wxPython app and a word
processor. It uses wx.DataObjectComposite() to pass both formatted and
plain text versions of the data being passed through the clipboard. In
OnPaste(), you can see the code attempt to find formatted text and if
that fails, to use plain text.
To run my code, which demonstrates DOCx and RTF support for the wxPython
RichTextCtrl, you will need to install the python-docx module fork from
my repository as well as wxPython.
Hope that helps.
David