Hello folks, I have TextFrames, that are created like so (at the beginning of
the process):

private XText getTextFrame(XText xText, int x, int y) {
        try {
            Object textFrame =
xWriterFactory.createInstance("com.sun.star.text.TextFrame");

            XTextContent xTextContentFrame = (XTextContent)
UnoRuntime.queryInterface(XTextContent.class, textFrame);

            XPropertySet xShapeProps = (XPropertySet)
UnoRuntime.queryInterface(XPropertySet.class, textFrame);

            xShapeProps.setPropertyValue("AnchorType",
TextContentAnchorType.AT_PARAGRAPH);

            // Setting the vertical and horizontal position
            xShapeProps.setPropertyValue("VertOrient", new
Short(VertOrientation.NONE));
            xShapeProps.setPropertyValue("HoriOrient", new
Short(HoriOrientation.NONE));
            xShapeProps.setPropertyValue("VertOrientPosition", new
Integer(x));
            xShapeProps.setPropertyValue("HoriOrientPosition", new
Integer(y));

            // Set the width and height of the shape.
            xShapeProps.setPropertyValue("FrameWidthAbsolute", new
Integer(frame_size.Width));
            xShapeProps.setPropertyValue("FrameHeightAbsolute", new
Integer(frame_size.Height));
            xShapeProps.setPropertyValue("FrameIsAutomaticHeight", new
Boolean(false));
            xShapeProps.setPropertyValue("SizeType", new Short((short)1));

            xShapeProps.setPropertyValue("LeftBorderDistance", new
Integer(200));
            xShapeProps.setPropertyValue("RightBorderDistance", new
Integer(200));
            xShapeProps.setPropertyValue("TopBorderDistance", new
Integer(200));
            xShapeProps.setPropertyValue("BottomBorderDistance", new
Integer(200));

            xText.insertTextContent(xText.getEnd(), xTextContentFrame,
false);

            XText xFrameText = (XText)
UnoRuntime.queryInterface(XText.class, textFrame);

            return xFrameText;
        } catch (java.lang.Exception e) {
            e.printStackTrace();
        }

        return null;
    }

This method seems to work, it creates the textframe with a specific size, at
a specific x/y location.

I am now attempting to iterate over the "said" textframes like so:

XTextFramesSupplier xTextFramesSupplier = (XTextFramesSupplier)
                UnoRuntime.queryInterface(XTextFramesSupplier.class,
xWriterComponent_dest);

        XNameAccess xNamedFrames = xTextFramesSupplier.getTextFrames();
        
        String[] textframes = xNamedFrames.getElementNames();

        for (int i = 0; i < textframes.length; i++) {
            XTextFrame textframe = null;

            try {
                textframe =
(XTextFrame)xNamedFrames.getByName(textframes[i]);

                XTextContent xFrameContent = (XTextContent)
UnoRuntime.queryInterface(XTextContent.class, textframe);

                XPropertySet xShapeProps = (XPropertySet)
UnoRuntime.queryInterface(XPropertySet.class, textframe);

Which seems to work, ie., i can iterate over the above "said" frames.... I
have tried doing:

xShapeProps.setPropertyValue("AnchorType",
TextContentAnchorType.AT_PARAGRAPH);

                // Setting the vertical and horizontal position
                xShapeProps.setPropertyValue("VertOrient", new
Short(VertOrientation.NONE));
                xShapeProps.setPropertyValue("HoriOrient", new
Short(HoriOrientation.NONE));
                xShapeProps.setPropertyValue("VertOrientPosition", new
Integer(1000 + (i * 1000)));
                xShapeProps.setPropertyValue("HoriOrientPosition", new
Integer(1000));

so as to move the frames slowly but sure down the page....

That doesn't seem to work?

Secondly, is there a way to create a new page between each cycle so that I
can move the textframe to the new page with the same, x/y origin?

Thanks in advance for any help you can shed on the issue,

Chris
                
-- 
View this message in context: 
http://www.nabble.com/I-have-five-text-frames-on-the-one-page%2C-can-I-move-each-frame-to-a-new-page--tp24146586p24146586.html
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]

Reply via email to