Looking for help for clipboard in Math
Regina Henschel
rb.henschel at t-online.de
Thu Jun 4 16:44:37 PDT 2015
Hi all,
I struggle with the clipboard. My goal is to import MathML in module
Math from clipboard, similar as it is imported from file. But I'm stuck.
Therefore some questions:
(1)
Has someone tried such already and found, that it is not possible?
(2)
The comments in file exchange.cxx refer to a document "CLIP.SDW". Has
someone this document and can provide it?
(3)
I have added a .uno command which is executed in
SmViewShell::Execute(SfxRequest& rReq)
My current attempt looks like this:
TransferableDataHelper aDataHelper(
TransferableDataHelper::CreateFromSystemClipboard(GetEditWindow()) );
SotFormatStringId nId;
DataFlavorExVector* pFormats;
pFormats = &aDataHelper.GetDataFlavorExVector();
DataFlavorExVector::iterator aIter(
((DataFlavorExVector&)*pFormats).begin() ),
aEnd(
((DataFlavorExVector&)*pFormats).end() );
while ( aIter != aEnd )
{
nId = (*aIter).mnSotId;
...
aIter++;
}
I get some nId-values and for some of them I can get a stream and can
look at the content. But the clipboard content, which is generated by
the Windows program "Math Input Control" (mip.exe) is not noticed. But I
see that the clipboard has a content "MathML" and a content "MathML
Presentation" using the clipboard viewer "Free Clipboard Viewer 2.0".
Why do I get no nId for it?
(4)
The numbers I get in nId are those from the list in exchange.cxx, and
for "application/mathml+xml", which is not listed there, I get the next
one following the list. But how can I get the MimeType or the
HumanPresentableName for the detected nId? My following try does not
work, the strings are empty in all cases:
::com::sun::star::datatransfer::DataFlavor aFlavor;
SotExchange::GetFormatDataFlavor( nId, aFlavor ) )
String sHumanPresentableName(aFlavor.HumanPresentableName);
String sMimeType(aFlavor.MimeType);
(5)
I try to use SmViewShell::InsertFrom(SfxMedium &rMedium). It seems to
work, but when the process arrives at SmXMLImport::endDocument(void),
the node tree is empty. Any tips, what I might have missed?
Kind regards
Regina
More information about the LibreOffice
mailing list