/** * Retrieves the start range and sets its context to 'Start' string. * * <p>Has <b>OK</b> status if the whole range string starts with 'Start' substring. * * <p>The following method tests are to be completed successfully before : * * <ul> * <li><code> setString </code> * </ul> */ public void _getStart() { XText the_text = (XText) tEnv.getObjRelation("XTEXT"); if (the_text != null) { the_text.setString(""); } String exp = ""; oObj.setString("MiddleEnd"); oStartRange = oObj.getStart(); oStartRange.setString("Start"); if (the_text != null) { exp = the_text.getString(); } else exp = oObj.getText().getString(); log.println("Start: " + exp); tRes.tested("getStart()", oStartRange != null && exp.startsWith("Start")); oStartRange.setString(""); }
public void drawOrganigram() throws java.lang.Exception { // get the remote office component context xRemoteContext = com.sun.star.comp.helper.Bootstrap.bootstrap(); System.out.println("Connected to a running office ..."); // get the remote service manager xRemoteServiceManager = xRemoteContext.getServiceManager(); Object desktop = xRemoteServiceManager.createInstanceWithContext( "com.sun.star.frame.Desktop", xRemoteContext); XComponentLoader xComponentLoader = UnoRuntime.queryInterface(XComponentLoader.class, desktop); PropertyValue[] loadProps = new PropertyValue[0]; XComponent xDrawComponent = xComponentLoader.loadComponentFromURL("private:factory/sdraw", "_blank", 0, loadProps); // get draw page by index com.sun.star.drawing.XDrawPagesSupplier xDrawPagesSupplier = UnoRuntime.queryInterface(com.sun.star.drawing.XDrawPagesSupplier.class, xDrawComponent); com.sun.star.drawing.XDrawPages xDrawPages = xDrawPagesSupplier.getDrawPages(); Object drawPage = xDrawPages.getByIndex(0); com.sun.star.drawing.XDrawPage xDrawPage = UnoRuntime.queryInterface(com.sun.star.drawing.XDrawPage.class, drawPage); com.sun.star.lang.XMultiServiceFactory xDocumentFactory = UnoRuntime.queryInterface(com.sun.star.lang.XMultiServiceFactory.class, xDrawComponent); com.sun.star.beans.XPropertySet xPageProps = UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, xDrawPage); int pageWidth = AnyConverter.toInt(xPageProps.getPropertyValue("Width")); int pageHeight = AnyConverter.toInt(xPageProps.getPropertyValue("Height")); int pageBorderTop = AnyConverter.toInt(xPageProps.getPropertyValue("BorderTop")); int pageBorderLeft = AnyConverter.toInt(xPageProps.getPropertyValue("BorderLeft")); int pageBorderRight = AnyConverter.toInt(xPageProps.getPropertyValue("BorderRight")); int drawWidth = pageWidth - pageBorderLeft - pageBorderRight; int horCenter = pageBorderLeft + drawWidth / 2; String[][] orgUnits = new String[2][4]; orgUnits[0][0] = "Management"; orgUnits[1][0] = "Production"; orgUnits[1][1] = "Purchasing"; orgUnits[1][2] = "IT Services"; orgUnits[1][3] = "Sales"; int[] levelCount = {1, 4}; int horSpace = 300; int verSpace = 3000; int shapeWidth = (drawWidth - (levelCount[1] - 1) * horSpace) / levelCount[1]; int shapeHeight = pageHeight / 20; int shapeX = pageWidth / 2 - shapeWidth / 2; int shapeY = pageBorderTop; int levelY; int levelX; com.sun.star.drawing.XShape xStartShape = null; for (int level = 0; level <= 1; level++) { levelY = pageBorderTop + 2000 + level * (shapeHeight + verSpace); for (int i = levelCount[level] - 1; i > -1; i--) { shapeX = horCenter - (levelCount[level] * shapeWidth + (levelCount[level] - 1) * horSpace) / 2 + i * shapeWidth + i * horSpace; Object shape = xDocumentFactory.createInstance("com.sun.star.drawing.RectangleShape"); com.sun.star.drawing.XShape xShape = UnoRuntime.queryInterface(com.sun.star.drawing.XShape.class, shape); xShape.setPosition(new com.sun.star.awt.Point(shapeX, levelY)); xShape.setSize(new com.sun.star.awt.Size(shapeWidth, shapeHeight)); xDrawPage.add(xShape); com.sun.star.text.XText xText = UnoRuntime.queryInterface(com.sun.star.text.XText.class, xShape); xText.setString(orgUnits[level][i]); // memorize the root shape if (level == 0 && i == 0) xStartShape = xShape; if (level == 1) { Object connector = xDocumentFactory.createInstance("com.sun.star.drawing.ConnectorShape"); com.sun.star.beans.XPropertySet xConnectorProps = UnoRuntime.queryInterface(com.sun.star.beans.XPropertySet.class, connector); com.sun.star.drawing.XShape xConnector = UnoRuntime.queryInterface(com.sun.star.drawing.XShape.class, connector); xDrawPage.add(xConnector); xConnectorProps.setPropertyValue("StartShape", xStartShape); xConnectorProps.setPropertyValue("EndShape", xShape); xConnectorProps.setPropertyValue( "StartGluePointIndex", new Integer(2)); // 2 = bottom glue point xConnectorProps.setPropertyValue( "EndGluePointIndex", new Integer(0)); // 0 = top glue point } } } }
/** * Creating a Testenvironment for the interfaces to be tested. Retrieves the collection of style * families available in the document using the interface <code>XStyleFamiliesSupplier</code>. * Obtains default style from the style family <code>'PageStyles'</code>. Retrieves value of the * property <code>'RightPageHeaderContent'</code>. Sets some string for the text which is printed * in the center part of the header or footer using the interface <code>XHeaderFooterContent * </code> and sets new value of the property <code>'RightPageHeaderContent'</code>. Creates text * cursor for the text which is printed in the center part of the header or footer. This text * cursor is the instance of the service <code>com.sun.star.text.TextCursor</code>. * </ul> */ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) { XInterface oObj = null; XPropertySet PropSet; XNameAccess PageStyles = null; XStyle StdStyle = null; XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xSpreadsheetDoc); XNameAccess StyleFamNames = StyleFam.getStyleFamilies(); try { PageStyles = (XNameAccess) AnyConverter.toObject( new Type(XNameAccess.class), StyleFamNames.getByName("PageStyles")); StdStyle = (XStyle) AnyConverter.toObject(new Type(XStyle.class), PageStyles.getByName("Default")); } catch (com.sun.star.lang.WrappedTargetException e) { e.printStackTrace(log); throw new StatusException("Couldn't get by name", e); } catch (com.sun.star.container.NoSuchElementException e) { e.printStackTrace(log); throw new StatusException("Couldn't get by name", e); } catch (com.sun.star.lang.IllegalArgumentException e) { e.printStackTrace(log); throw new StatusException("Couldn't get by name", e); } // get the property-set PropSet = UnoRuntime.queryInterface(XPropertySet.class, StdStyle); XHeaderFooterContent RPHC = null; // creation of testobject here // first we write what we are intend to do to log file log.println("creating a test environment"); try { RPHC = (XHeaderFooterContent) AnyConverter.toObject( new Type(XHeaderFooterContent.class), PropSet.getPropertyValue("RightPageHeaderContent")); } catch (com.sun.star.lang.WrappedTargetException e) { e.printStackTrace(log); throw new StatusException("Couldn't get HeaderContent", e); } catch (com.sun.star.beans.UnknownPropertyException e) { e.printStackTrace(log); throw new StatusException("Couldn't get HeaderContent", e); } catch (com.sun.star.lang.IllegalArgumentException e) { e.printStackTrace(log); throw new StatusException("Couldn't get HeaderContent", e); } XText center = RPHC.getCenterText(); center.setString("CENTER"); try { PropSet.setPropertyValue("RightPageHeaderContent", RPHC); } catch (com.sun.star.lang.WrappedTargetException e) { e.printStackTrace(log); throw new StatusException("Couldn't set HeaderContent", e); } catch (com.sun.star.lang.IllegalArgumentException e) { e.printStackTrace(log); throw new StatusException("Couldn't set HeaderContent", e); } catch (com.sun.star.beans.PropertyVetoException e) { e.printStackTrace(log); throw new StatusException("Couldn't set HeaderContent", e); } catch (com.sun.star.beans.UnknownPropertyException e) { e.printStackTrace(log); throw new StatusException("Couldn't set HeaderContent", e); } // create testobject here oObj = center.createTextCursor(); TestEnvironment tEnv = new TestEnvironment(oObj); // add relation for XTextRange tEnv.addObjRelation("XTEXT", UnoRuntime.queryInterface(XText.class, center)); return tEnv; } // finish method getTestEnvironment