Hello,
I want to insert (at specific bookmark location) several generated sub
documents, into a global document.
For the first subdocument, all is ok, but for all others ... it insert the
first !
I think the XTransferable is not up to date, so how can I refresh the
XTransferable ?
I write the following java code :
public static final void insertSubDocument(XComponent xComponent_sourceDoc,
XComponent xComponent_targetDoc, XNameAccess xNamedBookmarks, String
bookmarkName) throws UnsupportedFlavorException
{
XTextDocument xTextDocument_sourceDoc = (XTextDocument)
UnoRuntime.queryInterface(XTextDocument.class, xComponent_sourceDoc);
XTextDocument xTextDocument_targetDoc = (XTextDocument)
UnoRuntime.queryInterface(XTextDocument.class, xComponent_targetDoc);
System.out.println(xTextDocument_sourceDoc.getText().getString());
//all sub doc are ok here
// the controllers
XController xController_sourceDoc =
xTextDocument_sourceDoc.getCurrentController();
XController xController_targetDoc =
xTextDocument_targetDoc.getCurrentController();
// the cursor for the source document
XTextViewCursorSupplier xViewCursorSupplier_sourceDoc =
(XTextViewCursorSupplier)
UnoRuntime.queryInterface(XTextViewCursorSupplier.class,
xController_sourceDoc);
// selecting the whole source document
XTextViewCursor xTextViewCursor_sourceDoc =
xViewCursorSupplier_sourceDoc.getViewCursor();
xTextViewCursor_sourceDoc.gotoEnd(true);
// getting the data supplier of our source doc
XTransferableSupplier xTransferableSupplier_sourceDoc =
(XTransferableSupplier)
UnoRuntime.queryInterface(XTransferableSupplier.class,
xController_sourceDoc);
// saving the selected contents
XTransferable xTransferable =
xTransferableSupplier_sourceDoc.getTransferable();
// getting the data supplier of our target doc
XTransferableSupplier xTransferableSupplier_targetDoc =
(XTransferableSupplier)
UnoRuntime.queryInterface(XTransferableSupplier.class,
xController_targetDoc);
// the cursor for the target document
XTextViewCursorSupplier xViewCursorSupplier_targetDoc =
(XTextViewCursorSupplier)
UnoRuntime.queryInterface(XTextViewCursorSupplier.class,
xController_targetDoc);
// going to the end of the source document
try
{
// find the bookmark named bookmarkName
Object bookmark = xNamedBookmarks.getByName(bookmarkName);
// we need its XTextRange which is available from getAnchor(),
// so query for XTextContent
XTextContent xBookmarkContent = (XTextContent)
UnoRuntime.queryInterface(XTextContent.class, bookmark);
// get the anchor of the bookmark (its XTextRange)
XTextRange xBookmarkRange = xBookmarkContent.getAnchor();
XTextViewCursor xTextViewCursor_targetDoc =
xViewCursorSupplier_targetDoc.getViewCursor();
xTextViewCursor_targetDoc.gotoRange(xBookmarkRange, false);
// inserting the source document there
xTransferableSupplier_targetDoc.insertTransferable(xTransferable);
}
catch (NoSuchElementException e)
{
// nothing
}
catch (WrappedTargetException e)
{
// nothing
}
}
--
View this message in context:
http://www.nabble.com/sub-document-insertion-bug-tf3591129.html#a10036493
Sent from the openoffice - api dev mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]