1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 package util; 29 30 import com.sun.star.lang.XMultiServiceFactory; 31 import com.sun.star.uno.XInterface; 32 import com.sun.star.uno.UnoRuntime; 33 import com.sun.star.text.XTextFrame; 34 import com.sun.star.drawing.XShape; 35 import com.sun.star.awt.Size; 36 import com.sun.star.beans.XPropertySet; 37 /** 38 * the class FrameDsc 39 */ 40 public class FrameDsc extends InstDescr { 41 42 private Size size = null; 43 private int height = 2000; 44 private int width = 2000; 45 private String name = null; 46 private int autoheigth = 0; 47 private int anchorType = 0;// bound at paragraph 48 49 final String ifcName = "com.sun.star.text.XTextFrame"; 50 final String service = "com.sun.star.text.TextFrame"; 51 52 public FrameDsc() { 53 initFrame(); 54 } 55 56 public FrameDsc( int nHeight, int nWidth ) { 57 height = nHeight; 58 width = nWidth; 59 initFrame(); 60 } 61 62 public FrameDsc( String FrameName, int nHeight, int nWidth ) { 63 name = FrameName; 64 height = nHeight; 65 width = nWidth; 66 initFrame(); 67 } 68 public String getName() { 69 return name; 70 } 71 public String getIfcName() { 72 return ifcName; 73 } 74 public String getService() { 75 return service; 76 } 77 78 private void initFrame() { 79 try { 80 ifcClass = Class.forName( ifcName ); 81 } 82 catch( ClassNotFoundException cnfE ) { 83 } 84 } 85 public XInterface createInstance( XMultiServiceFactory docMSF ) { 86 Object SrvObj = null; 87 88 size = new Size(); 89 size.Height = height; 90 size.Width = width; 91 92 try { 93 SrvObj = docMSF.createInstance( service ); 94 } 95 catch( com.sun.star.uno.Exception cssuE ){ 96 } 97 XShape shape = (XShape)UnoRuntime.queryInterface( XShape.class, SrvObj ); 98 try { 99 shape.setSize(size); 100 } 101 catch( com.sun.star.beans.PropertyVetoException pvE ){ 102 } 103 104 XTextFrame TF = (XTextFrame)UnoRuntime.queryInterface( ifcClass, SrvObj ); 105 106 XPropertySet oPropSet = (XPropertySet) 107 UnoRuntime.queryInterface( XPropertySet.class, SrvObj ); 108 109 110 try { 111 oPropSet.setPropertyValue("AnchorType", new Integer(2)); 112 } 113 catch( com.sun.star.beans.UnknownPropertyException upE ){ 114 } 115 catch( com.sun.star.beans.PropertyVetoException pvE ){ 116 } 117 catch( com.sun.star.lang.IllegalArgumentException iaE ){ 118 } 119 catch( com.sun.star.lang.WrappedTargetException wtE ){ 120 } 121 122 123 124 return TF; 125 } 126 } 127