Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


I see where you go to the end of the document, but I don't see you placing the cursor at the start.

I expect you to first go to the start with no selection and then Juno to the end with selection.

I suspect that you are simply setting  paragraph properties on the last  paragraph.

That said, it is difficult for me to read the code on my phone....

You may need  to enumerate the content (paragraphs) and set each paragraph or supported text 
content areas especially of your content is complex; for example, containing tables or frames.

On Feb 10, 2015 8:52 AM, fma <fma3110@gmail.com> wrote:

I found it!!! 
Still don't know what's going on behind the scenes, but at least the panel 
is now visible. 
In the build path of the extension, I changed the pointing of *unoil.jar* 
from the file included in the path of AOO installation ( 
/<aoo_installation_path>\program\classes/ ) to the one in the installation 
path of LO ( /<aoo_installation_path>\program\classes/ ). 
This raised an error in *AnalogClockPanel.java*, which was asking for adding 
the unimplemented method *getMinimalWidth()*: I added it, generated the oxt 
file and...  Voila!... the extension now runs fine on LO 4.4 too. 
Unfortunately, I have now two problems with my custom extension, which 
manipulates in several ways the active text document. 
In details, I have two operations running fine in AOO 4.1.1 but having 
unexpected results in LO 4.4; here they are: 

*Code snippet 1 *- expected behaviour: formatting the whole document with 
font Arial Black, size 14, justified; current behaviour: only the last 
paragraph is formatted 

/// active writer document 
XTextDocument xTextDocument = (XTextDocument) 
UnoRuntime.queryInterface(XTextDocument.class, xCurrentComponent); 

// creating text range and cursor 
XText xText = xTextDocument.getText(); 
XTextRange xTextRange = xText.createTextCursor(); 

// going to the end of document 
((XTextCursor)xTextRange).gotoEnd(true); 

// getting properties 
XPropertySet xTextProps = (XPropertySet) 
UnoRuntime.queryInterface(XPropertySet.class, xTextRange); 

// setting font size 
xTextProps.setPropertyValue("CharHeight", new Float(14)); 

// justifying 
xTextProps.setPropertyValue("ParaAdjust",com.sun.star.style.ParagraphAdjust.BLOCK); 

// setting font 
xTextProps.setPropertyValue("CharFontName", "Arial Black"); 
/ 

*Code snippet 2* - expected behaviour: inserting a page break just before 
each paragraph starting with the word "Chapter"; current behaviour: nothing 
happens 

/XTextCursor xTextCursor = xText.createTextCursor(); 

// using a search descriptor to perform insert operations 
XSearchable xSearchable = (XSearchable) 
UnoRuntime.queryInterface(XSearchable.class, xTextDocument); 
XSearchDescriptor xSearchDescriptor = xSearchable.createSearchDescriptor(); 

xSearchDescriptor.setPropertyValue("SearchRegularExpression", new 
Boolean(true)); 
xSearchDescriptor.setPropertyValue("SearchCaseSensitive", new 
Boolean(true)); 
xSearchDescriptor.setSearchString("Chapter"); 

XInterface xInterface= (XInterface) 
xSearchable.findFirst(xSearchDescriptor); 
while (xInterface != null){ 

XTextRange xStart = (com.sun.star.text.XTextRange) 
UnoRuntime.queryInterface(com.sun.star.text.XTextRange.class, xInterface); 

xTextCursor.gotoRange(xStart, false); 

XPropertySet cursorProperty = UnoRuntime.queryInterface(XPropertySet.class, 
xTextCursor);    

cursorProperty.setPropertyValue("BreakType", BreakType.PAGE_BEFORE); 
//$NON-NLS-1$ 

xInterface = (XInterface) xSearchable.findNext(xInterface, 
xSearchDescriptor); 
} / 

Any ideas about the reasons of the misbehaviour? 
Thanks in advance and best regards 



-- 
View this message in context: 
http://nabble.documentfoundation.org/Java-sidebar-extensions-and-LibreOffice-tp4139084p4139618.html
 
Sent from the Dev mailing list archive at Nabble.com. 
_______________________________________________ 
LibreOffice mailing list 
LibreOffice@lists.freedesktop.org 
http://lists.freedesktop.org/mailman/listinfo/libreoffice 

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.