1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir package ifc.awt; 29*cdf0e10cSrcweir 30*cdf0e10cSrcweir import lib.MultiPropertyTest; 31*cdf0e10cSrcweir import util.utils; 32*cdf0e10cSrcweir 33*cdf0e10cSrcweir /* 34*cdf0e10cSrcweir * Testing <code>com.sun.star.awt.UnoControlDateFieldModel</code> 35*cdf0e10cSrcweir * service properties : 36*cdf0e10cSrcweir * <ul> 37*cdf0e10cSrcweir * <li><code> BackgroundColor</code></li> 38*cdf0e10cSrcweir * <li><code> Border</code></li> 39*cdf0e10cSrcweir * <li><code> Date</code></li> 40*cdf0e10cSrcweir * <li><code> DateMax</code></li> 41*cdf0e10cSrcweir * <li><code> DateMin</code></li> 42*cdf0e10cSrcweir * <li><code> DefaultControl</code></li> 43*cdf0e10cSrcweir * <li><code> Enabled</code></li> 44*cdf0e10cSrcweir * <li><code> DateFormat</code></li> 45*cdf0e10cSrcweir * <li><code> FontDescriptor</code></li> 46*cdf0e10cSrcweir * <li><code> Printable</code></li> 47*cdf0e10cSrcweir * <li><code> ReadOnly</code></li> 48*cdf0e10cSrcweir * <li><code> Spin</code></li> 49*cdf0e10cSrcweir * <li><code> StrictFormat</code></li> 50*cdf0e10cSrcweir * <li><code> Tabstop</code></li> 51*cdf0e10cSrcweir * <li><code> TextColor</code></li> 52*cdf0e10cSrcweir * </ul> 53*cdf0e10cSrcweir * Almost all properties testing is automated by 54*cdf0e10cSrcweir * <code>lib.MultiPropertyTest</code>. 55*cdf0e10cSrcweir * @see com.sun.star.awt.UnoControlDateFieldModel 56*cdf0e10cSrcweir */ 57*cdf0e10cSrcweir public class _UnoControlDateFieldModel extends MultiPropertyTest { 58*cdf0e10cSrcweir 59*cdf0e10cSrcweir /** 60*cdf0e10cSrcweir * This property can be void, so if old value is <code> null </code> 61*cdf0e10cSrcweir * new value must be specified. 62*cdf0e10cSrcweir */ 63*cdf0e10cSrcweir public void _BackgroundColor() { 64*cdf0e10cSrcweir testProperty("BackgroundColor", new PropertyTester() { 65*cdf0e10cSrcweir protected Object getNewValue(String prop, Object old) { 66*cdf0e10cSrcweir return utils.isVoid(old) ? new Integer(6543) : null ; 67*cdf0e10cSrcweir } 68*cdf0e10cSrcweir }) ; 69*cdf0e10cSrcweir } 70*cdf0e10cSrcweir 71*cdf0e10cSrcweir /** 72*cdf0e10cSrcweir * This property can be VOID, and in case if it is so new 73*cdf0e10cSrcweir * value must defined. 74*cdf0e10cSrcweir */ 75*cdf0e10cSrcweir public void _BorderColor() { 76*cdf0e10cSrcweir testProperty("BorderColor", new PropertyTester() { 77*cdf0e10cSrcweir protected Object getNewValue(String p, Object old) { 78*cdf0e10cSrcweir return utils.isVoid(old) ? new Integer(1234) : null ; 79*cdf0e10cSrcweir } 80*cdf0e10cSrcweir }) ; 81*cdf0e10cSrcweir } 82*cdf0e10cSrcweir 83*cdf0e10cSrcweir 84*cdf0e10cSrcweir /** 85*cdf0e10cSrcweir * This property can be void, so if old value is <code> null </code> 86*cdf0e10cSrcweir * new value must be specified. 87*cdf0e10cSrcweir */ 88*cdf0e10cSrcweir public void _Date() { 89*cdf0e10cSrcweir testProperty("Date", new PropertyTester() { 90*cdf0e10cSrcweir protected Object getNewValue(String prop, Object old) { 91*cdf0e10cSrcweir return utils.isVoid(old) ? new Integer(6543) : 92*cdf0e10cSrcweir super.getNewValue(prop, old) ; 93*cdf0e10cSrcweir } 94*cdf0e10cSrcweir }) ; 95*cdf0e10cSrcweir } 96*cdf0e10cSrcweir 97*cdf0e10cSrcweir /** 98*cdf0e10cSrcweir * This property can be void, so if old value is <code> null </code> 99*cdf0e10cSrcweir * new value must be specified. 100*cdf0e10cSrcweir */ 101*cdf0e10cSrcweir public void _Tabstop() { 102*cdf0e10cSrcweir testProperty("Tabstop", new PropertyTester() { 103*cdf0e10cSrcweir protected Object getNewValue(String prop, Object old) { 104*cdf0e10cSrcweir return utils.isVoid(old) ? new Boolean(true) : null ; 105*cdf0e10cSrcweir } 106*cdf0e10cSrcweir }) ; 107*cdf0e10cSrcweir } 108*cdf0e10cSrcweir 109*cdf0e10cSrcweir /** 110*cdf0e10cSrcweir * This property can be void, so if old value is <code> null </code> 111*cdf0e10cSrcweir * new value must be specified. 112*cdf0e10cSrcweir */ 113*cdf0e10cSrcweir public void _TextColor() { 114*cdf0e10cSrcweir testProperty("TextColor", new PropertyTester() { 115*cdf0e10cSrcweir protected Object getNewValue(String prop, Object old) { 116*cdf0e10cSrcweir return utils.isVoid(old) ? new Integer(123) : null ; 117*cdf0e10cSrcweir } 118*cdf0e10cSrcweir }) ; 119*cdf0e10cSrcweir } 120*cdf0e10cSrcweir 121*cdf0e10cSrcweir /** 122*cdf0e10cSrcweir * Redefined method returns value, that differs from property value. 123*cdf0e10cSrcweir */ 124*cdf0e10cSrcweir protected PropertyTester ColorTester = new PropertyTester() { 125*cdf0e10cSrcweir protected Object getNewValue(String propName, Object oldValue) { 126*cdf0e10cSrcweir if (util.ValueComparer.equalValue(oldValue, new Integer(17))) 127*cdf0e10cSrcweir return new Integer(25); 128*cdf0e10cSrcweir else 129*cdf0e10cSrcweir return new Integer(17); 130*cdf0e10cSrcweir } 131*cdf0e10cSrcweir }; 132*cdf0e10cSrcweir 133*cdf0e10cSrcweir /** 134*cdf0e10cSrcweir * This property can be void, so if old value is <code> null </code> 135*cdf0e10cSrcweir * new value must be specified. 136*cdf0e10cSrcweir */ 137*cdf0e10cSrcweir public void _TextLineColor() { 138*cdf0e10cSrcweir log.println("Testing with custom Property tester") ; 139*cdf0e10cSrcweir testProperty("TextLineColor", ColorTester) ; 140*cdf0e10cSrcweir } 141*cdf0e10cSrcweir 142*cdf0e10cSrcweir public void _DateShowCentury() { 143*cdf0e10cSrcweir boolean res = false; 144*cdf0e10cSrcweir try { 145*cdf0e10cSrcweir util.dbg.printPropertyInfo(oObj,"DateShowCentury",log); 146*cdf0e10cSrcweir Object oDsc = oObj.getPropertyValue("DateShowCentury"); 147*cdf0e10cSrcweir Boolean dsc = null; 148*cdf0e10cSrcweir if (util.utils.isVoid(oDsc)) { 149*cdf0e10cSrcweir log.println("Property is void, set it to true"); 150*cdf0e10cSrcweir dsc = new Boolean(true); 151*cdf0e10cSrcweir } else { 152*cdf0e10cSrcweir dsc = (Boolean) oDsc; 153*cdf0e10cSrcweir dsc = new Boolean(!dsc.booleanValue()); 154*cdf0e10cSrcweir log.println("Setting property to "+dsc); 155*cdf0e10cSrcweir } 156*cdf0e10cSrcweir oObj.setPropertyValue("DateShowCentury",dsc); 157*cdf0e10cSrcweir Boolean getdsc = (Boolean) oObj.getPropertyValue("DateShowCentury"); 158*cdf0e10cSrcweir log.println("Getting value "+getdsc); 159*cdf0e10cSrcweir res = dsc.equals(getdsc); 160*cdf0e10cSrcweir } catch (com.sun.star.beans.UnknownPropertyException upe) { 161*cdf0e10cSrcweir log.println("Don't know the Property 'DateShowCentury'"); 162*cdf0e10cSrcweir } catch (com.sun.star.lang.WrappedTargetException wte) { 163*cdf0e10cSrcweir log.println("WrappedTargetException while getting Property 'DateShowCentury'"); 164*cdf0e10cSrcweir } catch (com.sun.star.lang.IllegalArgumentException iae) { 165*cdf0e10cSrcweir log.println("IllegalArgumentException while getting Property 'DateShowCentury'"); 166*cdf0e10cSrcweir } catch (com.sun.star.beans.PropertyVetoException pve) { 167*cdf0e10cSrcweir log.println("PropertyVetoException while getting Property 'DateShowCentury'"); 168*cdf0e10cSrcweir } 169*cdf0e10cSrcweir tRes.tested("DateShowCentury",res); 170*cdf0e10cSrcweir 171*cdf0e10cSrcweir } 172*cdf0e10cSrcweir } 173*cdf0e10cSrcweir 174