1*ef39d40dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*ef39d40dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*ef39d40dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*ef39d40dSAndrew Rist * distributed with this work for additional information 6*ef39d40dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*ef39d40dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*ef39d40dSAndrew Rist * "License"); you may not use this file except in compliance 9*ef39d40dSAndrew Rist * with the License. You may obtain a copy of the License at 10*ef39d40dSAndrew Rist * 11*ef39d40dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*ef39d40dSAndrew Rist * 13*ef39d40dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*ef39d40dSAndrew Rist * software distributed under the License is distributed on an 15*ef39d40dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ef39d40dSAndrew Rist * KIND, either express or implied. See the License for the 17*ef39d40dSAndrew Rist * specific language governing permissions and limitations 18*ef39d40dSAndrew Rist * under the License. 19*ef39d40dSAndrew Rist * 20*ef39d40dSAndrew Rist *************************************************************/ 21*ef39d40dSAndrew Rist 22*ef39d40dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir package util; 25cdf0e10cSrcweir 26cdf0e10cSrcweir import com.sun.star.lang.XMultiServiceFactory; 27cdf0e10cSrcweir import com.sun.star.uno.XInterface; 28cdf0e10cSrcweir import com.sun.star.uno.UnoRuntime; 29cdf0e10cSrcweir import com.sun.star.text.XTextFrame; 30cdf0e10cSrcweir import com.sun.star.drawing.XShape; 31cdf0e10cSrcweir import com.sun.star.awt.Size; 32cdf0e10cSrcweir import com.sun.star.beans.XPropertySet; 33cdf0e10cSrcweir /** 34cdf0e10cSrcweir * the class FrameDsc 35cdf0e10cSrcweir */ 36cdf0e10cSrcweir public class FrameDsc extends InstDescr { 37cdf0e10cSrcweir 38cdf0e10cSrcweir private Size size = null; 39cdf0e10cSrcweir private int height = 2000; 40cdf0e10cSrcweir private int width = 2000; 41cdf0e10cSrcweir private String name = null; 42cdf0e10cSrcweir private int autoheigth = 0; 43cdf0e10cSrcweir private int anchorType = 0;// bound at paragraph 44cdf0e10cSrcweir 45cdf0e10cSrcweir final String ifcName = "com.sun.star.text.XTextFrame"; 46cdf0e10cSrcweir final String service = "com.sun.star.text.TextFrame"; 47cdf0e10cSrcweir FrameDsc()48cdf0e10cSrcweir public FrameDsc() { 49cdf0e10cSrcweir initFrame(); 50cdf0e10cSrcweir } 51cdf0e10cSrcweir FrameDsc( int nHeight, int nWidth )52cdf0e10cSrcweir public FrameDsc( int nHeight, int nWidth ) { 53cdf0e10cSrcweir height = nHeight; 54cdf0e10cSrcweir width = nWidth; 55cdf0e10cSrcweir initFrame(); 56cdf0e10cSrcweir } 57cdf0e10cSrcweir FrameDsc( String FrameName, int nHeight, int nWidth )58cdf0e10cSrcweir public FrameDsc( String FrameName, int nHeight, int nWidth ) { 59cdf0e10cSrcweir name = FrameName; 60cdf0e10cSrcweir height = nHeight; 61cdf0e10cSrcweir width = nWidth; 62cdf0e10cSrcweir initFrame(); 63cdf0e10cSrcweir } getName()64cdf0e10cSrcweir public String getName() { 65cdf0e10cSrcweir return name; 66cdf0e10cSrcweir } getIfcName()67cdf0e10cSrcweir public String getIfcName() { 68cdf0e10cSrcweir return ifcName; 69cdf0e10cSrcweir } getService()70cdf0e10cSrcweir public String getService() { 71cdf0e10cSrcweir return service; 72cdf0e10cSrcweir } 73cdf0e10cSrcweir initFrame()74cdf0e10cSrcweir private void initFrame() { 75cdf0e10cSrcweir try { 76cdf0e10cSrcweir ifcClass = Class.forName( ifcName ); 77cdf0e10cSrcweir } 78cdf0e10cSrcweir catch( ClassNotFoundException cnfE ) { 79cdf0e10cSrcweir } 80cdf0e10cSrcweir } createInstance( XMultiServiceFactory docMSF )81cdf0e10cSrcweir public XInterface createInstance( XMultiServiceFactory docMSF ) { 82cdf0e10cSrcweir Object SrvObj = null; 83cdf0e10cSrcweir 84cdf0e10cSrcweir size = new Size(); 85cdf0e10cSrcweir size.Height = height; 86cdf0e10cSrcweir size.Width = width; 87cdf0e10cSrcweir 88cdf0e10cSrcweir try { 89cdf0e10cSrcweir SrvObj = docMSF.createInstance( service ); 90cdf0e10cSrcweir } 91cdf0e10cSrcweir catch( com.sun.star.uno.Exception cssuE ){ 92cdf0e10cSrcweir } 93cdf0e10cSrcweir XShape shape = (XShape)UnoRuntime.queryInterface( XShape.class, SrvObj ); 94cdf0e10cSrcweir try { 95cdf0e10cSrcweir shape.setSize(size); 96cdf0e10cSrcweir } 97cdf0e10cSrcweir catch( com.sun.star.beans.PropertyVetoException pvE ){ 98cdf0e10cSrcweir } 99cdf0e10cSrcweir 100cdf0e10cSrcweir XTextFrame TF = (XTextFrame)UnoRuntime.queryInterface( ifcClass, SrvObj ); 101cdf0e10cSrcweir 102cdf0e10cSrcweir XPropertySet oPropSet = (XPropertySet) 103cdf0e10cSrcweir UnoRuntime.queryInterface( XPropertySet.class, SrvObj ); 104cdf0e10cSrcweir 105cdf0e10cSrcweir 106cdf0e10cSrcweir try { 107cdf0e10cSrcweir oPropSet.setPropertyValue("AnchorType", new Integer(2)); 108cdf0e10cSrcweir } 109cdf0e10cSrcweir catch( com.sun.star.beans.UnknownPropertyException upE ){ 110cdf0e10cSrcweir } 111cdf0e10cSrcweir catch( com.sun.star.beans.PropertyVetoException pvE ){ 112cdf0e10cSrcweir } 113cdf0e10cSrcweir catch( com.sun.star.lang.IllegalArgumentException iaE ){ 114cdf0e10cSrcweir } 115cdf0e10cSrcweir catch( com.sun.star.lang.WrappedTargetException wtE ){ 116cdf0e10cSrcweir } 117cdf0e10cSrcweir 118cdf0e10cSrcweir 119cdf0e10cSrcweir 120cdf0e10cSrcweir return TF; 121cdf0e10cSrcweir } 122cdf0e10cSrcweir } 123