1ef39d40dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3ef39d40dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4ef39d40dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5ef39d40dSAndrew Rist  * distributed with this work for additional information
6ef39d40dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7ef39d40dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8ef39d40dSAndrew Rist  * "License"); you may not use this file except in compliance
9ef39d40dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10ef39d40dSAndrew Rist  *
11ef39d40dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12ef39d40dSAndrew Rist  *
13ef39d40dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14ef39d40dSAndrew Rist  * software distributed under the License is distributed on an
15ef39d40dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16ef39d40dSAndrew Rist  * KIND, either express or implied.  See the License for the
17ef39d40dSAndrew Rist  * specific language governing permissions and limitations
18ef39d40dSAndrew Rist  * under the License.
19ef39d40dSAndrew Rist  *
20ef39d40dSAndrew Rist  *************************************************************/
21ef39d40dSAndrew Rist 
22ef39d40dSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir package ifc.view;
25cdf0e10cSrcweir 
26cdf0e10cSrcweir import com.sun.star.form.XForm;
27cdf0e10cSrcweir import com.sun.star.form.runtime.XFormController;
28cdf0e10cSrcweir import lib.MultiMethodTest;
29cdf0e10cSrcweir 
30cdf0e10cSrcweir import com.sun.star.view.XFormLayerAccess;
31cdf0e10cSrcweir import lib.Status;
32cdf0e10cSrcweir import lib.StatusException;
33cdf0e10cSrcweir 
34cdf0e10cSrcweir 
35cdf0e10cSrcweir /**
36cdf0e10cSrcweir  * Testing <code>com.sun.star.view.XFormLayerAccess</code>
37cdf0e10cSrcweir  * interface methods :
38cdf0e10cSrcweir  * <ul>
39cdf0e10cSrcweir  *  <li><code> getFromController()</code></li>
40cdf0e10cSrcweir  *  <li><code> isFormDesignMode()</code></li>
41cdf0e10cSrcweir  *  <li><code> setFormDesignMode()</code></li>
42cdf0e10cSrcweir  * </ul> <p>
43cdf0e10cSrcweir  *
44cdf0e10cSrcweir  * Test is <b> NOT </b> multithread compilant. <p>
45cdf0e10cSrcweir  * @see com.sun.star.view.XFormLayerAccess
46cdf0e10cSrcweir  */
47cdf0e10cSrcweir public class _XFormLayerAccess extends MultiMethodTest {
48cdf0e10cSrcweir 
49cdf0e10cSrcweir     // oObj filled by MultiMethodTest
50cdf0e10cSrcweir 
51cdf0e10cSrcweir     public XFormLayerAccess oObj = null;
52cdf0e10cSrcweir 
53cdf0e10cSrcweir     private XForm xForm = null;
54cdf0e10cSrcweir 
55cdf0e10cSrcweir     /**
56cdf0e10cSrcweir      * checks if the object relation <CODE>XFormLayerAccess.XForm</CODE>
57cdf0e10cSrcweir      * is available
58cdf0e10cSrcweir      */
before()59cdf0e10cSrcweir     public void before() {
60cdf0e10cSrcweir         xForm = (XForm) tEnv.getObjRelation("XFormLayerAccess.XForm");
61cdf0e10cSrcweir         if (xForm == null) {
62cdf0e10cSrcweir             throw new StatusException(Status.failed("Object raltion 'XFormLayerAccess.XForm' is null"));
63cdf0e10cSrcweir         }
64cdf0e10cSrcweir     }
65cdf0e10cSrcweir 
66cdf0e10cSrcweir     /**
67cdf0e10cSrcweir      * Test disables the FormDesignMode and calls the mthod. <p>
68cdf0e10cSrcweir      * Has <b> OK </b> status if the method returns
69cdf0e10cSrcweir      * a not empty object of kind of com.sun.star.form.XFormController<P>
70cdf0e10cSrcweir      * The following method tests are to be completed successfully before :
71cdf0e10cSrcweir      * <ul>
72cdf0e10cSrcweir      *  <li> <code> setFormDesignMode() </code></li>
73cdf0e10cSrcweir      * </ul>
74cdf0e10cSrcweir      * @see com.sun.star.view.XFormLayerAccess
75cdf0e10cSrcweir      */
_getFromController()76cdf0e10cSrcweir     public void _getFromController(){
77cdf0e10cSrcweir         requiredMethod("setFormDesignMode()") ;
78cdf0e10cSrcweir 
79cdf0e10cSrcweir         log.println("try to get current DesignMode...");
80cdf0e10cSrcweir         boolean currentMode = oObj.isFormDesignMode();
81cdf0e10cSrcweir         log.println("DesignMode is " + currentMode);
82cdf0e10cSrcweir 
83cdf0e10cSrcweir         log.println("enable DesignMode");
84cdf0e10cSrcweir         oObj.setFormDesignMode(false);
85cdf0e10cSrcweir 
86cdf0e10cSrcweir         log.println("test for getFromController() ");
87cdf0e10cSrcweir         XFormController xFormCont = oObj.getFormController(xForm);
88cdf0e10cSrcweir 
89cdf0e10cSrcweir         if (xFormCont == null)
90cdf0e10cSrcweir             log.println("ERROR: Could not get FromContoller");
91cdf0e10cSrcweir 
92cdf0e10cSrcweir         log.println("set back DesignMode to previouse state");
93cdf0e10cSrcweir         oObj.setFormDesignMode(currentMode);
94cdf0e10cSrcweir 
95cdf0e10cSrcweir         tRes.tested("getFromController()", xFormCont != null );
96cdf0e10cSrcweir     }
97cdf0e10cSrcweir 
98cdf0e10cSrcweir     /**
99cdf0e10cSrcweir      * This test calls the test for <code>setFormDesignMode()</CODE>.
100cdf0e10cSrcweir      * Has <b> OK </b> status if the test for  setFormDesignMode() returns
101cdf0e10cSrcweir      * <code>true</code> since the tests use <CODE>isFormDesignMode()</CODE><P>
102cdf0e10cSrcweir      * The following method tests are to be completed successfully before :
103cdf0e10cSrcweir      * <ul>
104cdf0e10cSrcweir      *  <li> <code> setFormDesignMode() </code></li>
105cdf0e10cSrcweir      * </ul>
106cdf0e10cSrcweir      */
_isFormDesignMode()107cdf0e10cSrcweir     public void _isFormDesignMode(){
108cdf0e10cSrcweir         requiredMethod("setFormDesignMode()") ;
109cdf0e10cSrcweir 
110*796b7e2aSmseidel         log.println("test for isFormDesignMode() is ok since test for 'setFormDesignMode()' use it");
111cdf0e10cSrcweir         tRes.tested("isFormDesignMode()", true);
112cdf0e10cSrcweir     }
113cdf0e10cSrcweir 
114cdf0e10cSrcweir     /**
115cdf0e10cSrcweir      * This test gets the current FormDesignMode, change it to the opposite and checks if the expected value of
116cdf0e10cSrcweir      * method isFormDesignmode() was given. Then the FormDesignmode was set back to the original value.<P>
117cdf0e10cSrcweir      * Has <B> OK </B> if expected values are returned.
118cdf0e10cSrcweir      *
119cdf0e10cSrcweir      */
120cdf0e10cSrcweir 
_setFormDesignMode()121cdf0e10cSrcweir     public void _setFormDesignMode(){
122cdf0e10cSrcweir         log.println("test for setFormDesignMode() and isFormDesignMode() ");
123cdf0e10cSrcweir 
124cdf0e10cSrcweir         log.println("try to get current DesignMode...");
125cdf0e10cSrcweir         boolean currentMode = oObj.isFormDesignMode();
126cdf0e10cSrcweir         log.println("DesignMode is " + currentMode);
127cdf0e10cSrcweir 
128cdf0e10cSrcweir         log.println("try to change to " + !currentMode + "...");
129cdf0e10cSrcweir         oObj.setFormDesignMode(!currentMode);
130cdf0e10cSrcweir         log.println("try to get new DesignMode...");
131cdf0e10cSrcweir         boolean newMode = oObj.isFormDesignMode();
132cdf0e10cSrcweir         log.println("DesignMode is " + newMode);
133cdf0e10cSrcweir 
134cdf0e10cSrcweir         boolean bOK = (newMode != currentMode);
135cdf0e10cSrcweir 
136cdf0e10cSrcweir         if ( !bOK)
137cdf0e10cSrcweir             log.println("ERROR: both modes are equal");
138cdf0e10cSrcweir 
139cdf0e10cSrcweir         log.println("set back DesignMode to " + currentMode);
140cdf0e10cSrcweir         oObj.setFormDesignMode(currentMode);
141cdf0e10cSrcweir 
142cdf0e10cSrcweir         log.println("try to get DesignMode...");
143cdf0e10cSrcweir         boolean oldMode = oObj.isFormDesignMode();
144cdf0e10cSrcweir 
145cdf0e10cSrcweir         bOK &= (bOK &(currentMode == oldMode));
146cdf0e10cSrcweir 
147cdf0e10cSrcweir         if (currentMode != oldMode)
148cdf0e10cSrcweir             log.println("ERROR: could not change back");
149cdf0e10cSrcweir 
150cdf0e10cSrcweir         tRes.tested("setFormDesignMode()", bOK );
151cdf0e10cSrcweir     }
152cdf0e10cSrcweir 
153cdf0e10cSrcweir }  // finish class _XFormLayerAccess
154cdf0e10cSrcweir 
155