Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  _XTreeControl.java   Sprache: JAVA

 
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */


package ifc.awt.tree;

import com.sun.star.awt.tree.ExpandVetoException;
import com.sun.star.awt.tree.TreeExpansionEvent;
import com.sun.star.awt.tree.XMutableTreeNode;
import com.sun.star.awt.tree.XTreeControl;
import com.sun.star.awt.tree.XTreeEditListener;
import com.sun.star.awt.tree.XTreeExpansionListener;
import com.sun.star.awt.tree.XTreeNode;
import com.sun.star.lang.EventObject;
import com.sun.star.util.VetoException;
import lib.MultiMethodTest;
import lib.Status;
import lib.StatusException;

/**
 * Testing <code>com.sun.star.awt.tree.XTreeControl</code>
 * interface methods :
 * <ul>
 *  <li><code> isNodeExpanded()</code></li>
 *  <li><code> isNodeCollapsed()</code></li>
 *  <li><code> makeNodeVisible()</code></li>
 *  <li><code> isNodeVisible()</code></li>
 *  <li><code> expandNode()</code></li>
 *  <li><code> collapseNode()</code></li>
 *  <li><code> addTreeExpansionListener()</code></li>
 *  <li><code> removeTreeExpansionListener()</code></li>
 *  <li><code> getNodeForLocation()</code></li>
 *  <li><code> getClosestNodeForLocation()</code></li>
 *  <li><code> isEditing()</code></li>
 *  <li><code> stopEditing()</code></li>
 *  <li><code> cancelEditing()</code></li>
 *  <li><code> startEditingAtNode()</code></li>
 *  <li><code> addTreeEditListener()</code></li>
 *  <li><code> removeTreeEditListener()</code></li>
 *  <li><code> DefaultExpandedGraphicURL()</code></li>
 *  <li><code> DefaultCollapsedGraphicURL()</code></li>* </ul> <p>
 * Test is <b> NOT </b> multithread compliant. <p>
 *
 * @see com.sun.star.awt.tree.XTreeControl
 */

public class _XTreeControl extends MultiMethodTest {

    public XTreeControl oObj = null;

    private XMutableTreeNode mXNode = null;

    XTreeExpansionListener mTreeExpansionListener1 = new TreeExpansionListenerImpl1();

    XTreeExpansionListener mTreeExpansionListener2 = new TreeExpansionListenerImpl2();

    XTreeEditListener mTreeEditListener1 = new TreeEditListenerImpl1();

    XTreeEditListener mTreeEditListener2 = new TreeEditListenerImpl2();

    boolean mTreeExpanded1 = false;
    boolean mTreeExpanding1 = false;
    boolean mTreeCollapsed1 = false;
    boolean mTreeCollapsing1 = false;

    boolean mTreeExpanded2 = false;
    boolean mTreeExpanding2 = false;
    boolean mTreeCollapsed2 = false;
    boolean mTreeCollapsing2 = false;

    public interface XTreeDataModelListenerEvent{
        void fireEvent();
    }

    public class TreeExpansionListenerImpl1 implements XTreeExpansionListener{
        public void requestChildNodes(TreeExpansionEvent treeExpansionEvent) {
            log.println("event at ExpansionListener 1: requestChildNodes");
        }

        public void treeExpanding(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
            log.println("event at ExpansionListener 1: treeExpanding");
            mTreeExpanding1 = true;
        }

        public void treeCollapsing(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
            log.println("event at ExpansionListener 1: treeCollapsing");
            mTreeCollapsing1 = true;
        }

        public void treeExpanded(TreeExpansionEvent treeExpansionEvent) {
            log.println("event at ExpansionListener 1: treeExpanded");
            mTreeExpanded1 = true;
        }

        public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) {
            log.println("event at ExpansionListener 1: treeCollapsed");
            mTreeCollapsed1 = true;
        }

        public void disposing(EventObject eventObject) {
            log.println("event at ExpansionListener 1: disposing");
        }
    }

    public class TreeExpansionListenerImpl2 implements XTreeExpansionListener{
        public void requestChildNodes(TreeExpansionEvent treeExpansionEvent) {
            log.println("event at ExpansionListener 2: requestChildNodes");
        }

        public void treeExpanding(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
            log.println("event at ExpansionListener 2: treeExpanding");
            mTreeExpanding2 = true;
        }

        public void treeCollapsing(TreeExpansionEvent treeExpansionEvent) throws ExpandVetoException {
            log.println("event at ExpansionListener 2: treeCollapsing");
            mTreeCollapsing2 = true;
        }

        public void treeExpanded(TreeExpansionEvent treeExpansionEvent) {
            log.println("event at ExpansionListener 2: treeExpanded");
            mTreeExpanded2 = true;
        }

        public void treeCollapsed(TreeExpansionEvent treeExpansionEvent) {
            log.println("event at ExpansionListener 2: treeCollapsed");
            mTreeCollapsed2 = true;
        }

        public void disposing(EventObject eventObject) {
            log.println("event at ExpansionListener 2: disposing");
        }

    }

    public class TreeEditListenerImpl1 implements XTreeEditListener{
        public void nodeEditing(XTreeNode xTreeNode) throws VetoException {
            log.println("event at EditListener 1: nodeEditing");
        }

        public void nodeEdited(XTreeNode xTreeNode, String string) {
            log.println("event at EditListener 1: nodeEdited");
        }

        public void disposing(EventObject eventObject) {
            log.println("event at EditListener 1: disposing");
        }
    }

    public class TreeEditListenerImpl2 implements XTreeEditListener{
        public void nodeEditing(XTreeNode xTreeNode) throws VetoException {
            log.println("event at EditListener 2: nodeEditing");
        }

        public void nodeEdited(XTreeNode xTreeNode, String string) {
            log.println("event at EditListener 2: nodeEdited");
        }

        public void disposing(EventObject eventObject) {
            log.println("event at EditListener 2: disposing");
        }
    }

    private void resetTreeExpandingListener(){
        mTreeExpanded1 = false;
        mTreeExpanded2 = false;
        mTreeCollapsed1 = false;
        mTreeCollapsed2 = false;
        mTreeExpanding1 = false;
        mTreeExpanding2 = false;
        mTreeCollapsing1 = false;
        mTreeCollapsing2 = false;
    }

    @Override
    public void before(){
        mXNode = (XMutableTreeNode) tEnv.getObjRelation("XTreeControl_Node");
        if (mXNode == null) {
            throw new StatusException(Status.failed("ERROR: could not get object relation 'XTreeControl_Node'"));
        }
    }

    public void _isNodeExpanded() {

        boolean bOK = true;

        boolean isExpanded = false;

        try {
            isExpanded = oObj.isNodeExpanded(mXNode);
            log.println("node is expanded: " + isExpanded);

        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not query for 'isNodeExpanded()': " + ex.toString());
        }

        if (isExpanded)
            try {

                log.println("try to collapse node...");
                oObj.collapseNode(mXNode);

            } catch (ExpandVetoException ex) {
                bOK = false;
                log.println("ERROR: could not collapse node: " + ex.toString());
            } catch (com.sun.star.lang.IllegalArgumentException ex) {
                bOK = false;
                log.println("ERROR: could not collapse node: " + ex.toString());
            }
        else
            try {

                log.println("try to expand node...");
                oObj.expandNode(mXNode);

            } catch (ExpandVetoException ex) {
                bOK = false;
                log.println("ERROR: could not expand node: " + ex.toString());
            } catch (com.sun.star.lang.IllegalArgumentException ex) {
                bOK = false;
                log.println("ERROR: could not expand node: " + ex.toString());
            }

        try {

            boolean isAlsoExpanded = oObj.isNodeExpanded(mXNode);

            bOK &= (isExpanded != isAlsoExpanded);

            log.println("node is expanded: " + isAlsoExpanded + " => " + bOK);

        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not query for 'isNodeExpanded()': " + ex.toString());
        }

        tRes.tested("isNodeExpanded()", bOK);

    }
    public void _isNodeCollapsed(){

        boolean bOK = true;

        boolean isCollapsed = false;

        try {
            isCollapsed = oObj.isNodeCollapsed(mXNode);
            log.println("node is Collapsed: " + isCollapsed);

        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not query for 'isNodeCollapsed()': " + ex.toString());
        }

        if ( ! isCollapsed)
            try {

                log.println("try to collapse node...");
                oObj.collapseNode(mXNode);

            } catch (ExpandVetoException ex) {
                bOK = false;
                log.println("ERROR: could not collapse node: " + ex.toString());
            } catch (com.sun.star.lang.IllegalArgumentException ex) {
                bOK = false;
                log.println("ERROR: could not collapse node: " + ex.toString());
            }
        else
            try {

                log.println("try to expand node...");
                oObj.expandNode(mXNode);

            } catch (ExpandVetoException ex) {
                bOK = false;
                log.println("ERROR: could not expand node: " + ex.toString());
            } catch (com.sun.star.lang.IllegalArgumentException ex) {
                bOK = false;
                log.println("ERROR: could not expand node: " + ex.toString());
            }

        try {

            boolean isAlsoCollapsed = oObj.isNodeCollapsed(mXNode);

            bOK &= (isCollapsed != isAlsoCollapsed);

            log.println("node is Collapsed: " + isAlsoCollapsed + " => " + bOK);

        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not query for 'isNodeCollapsed()': " + ex.toString());
        }

        tRes.tested("isNodeCollapsed()", bOK);

    }
    public void _makeNodeVisible(){

        boolean bOK = true;
        try {

            oObj.makeNodeVisible(mXNode);
        } catch (ExpandVetoException ex) {
            bOK = false;
            log.println("ERROR: could not call method 'makeNodeVisible()' successfully: " + ex.toString());
        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not call method 'makeNodeVisible()' successfully: " + ex.toString());
        }
        try {

            bOK &= oObj.isNodeVisible(mXNode);
        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not call method 'isNodeVisible()' successfully: " + ex.toString());
        }

        tRes.tested("makeNodeVisible()", bOK);

    }
    public void _isNodeVisible(){

        this.requiredMethod("makeNodeVisible()");

        boolean bOK = true;
        log.println("since required method 'makeNodeVisible()' uses method 'isNodeVisible()' this test is ok.");
        tRes.tested("isNodeVisible()", bOK);

    }

    public void _expandNode(){

        this.requiredMethod("isNodeExpanded()");

        boolean bOK = true;
        log.println("since required method 'isnodeExpanded()' uses method 'expandNode()' this test is ok.");
        tRes.tested("expandNode()", bOK);

    }

    public void _collapseNode(){

        this.requiredMethod("isNodeCollapsed()");

        boolean bOK = true;
        log.println("since required method 'isnodeCollapsed()' uses method 'expandNode()' this test is ok.");
        tRes.tested("collapseNode()", bOK);

    }

    public void _addTreeExpansionListener(){

        boolean bOK = true;

        log.println("collapse Node to get an initial status...");
        try {

            oObj.collapseNode(mXNode);
        } catch (ExpandVetoException ex) {
            bOK = false;
            log.println("ERROR: could not collapse node: " + ex.toString());
        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not collapse node: " + ex.toString());
        }

        log.println("add mTreeExpansionListener1...");
        oObj.addTreeExpansionListener(mTreeExpansionListener1);

        log.println("add mTreeExpansionListener2");
        oObj.addTreeExpansionListener(mTreeExpansionListener2);

        resetTreeExpandingListener();

        log.println("expand Node...");
        try {

            oObj.expandNode(mXNode);

        } catch (ExpandVetoException ex) {
            bOK = false;
            log.println("ERROR: could not expand node: " + ex.toString());
        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not expand node: " + ex.toString());
        }

        bOK &= mTreeExpanded1  & mTreeExpanded2  & ! mTreeCollapsed1  & ! mTreeCollapsed2
             & mTreeExpanding1 & mTreeExpanding2 & ! mTreeCollapsing1 & ! mTreeCollapsing2;

        resetTreeExpandingListener();

        log.println("collapse Node...");
        try {

            oObj.collapseNode(mXNode);
        } catch (ExpandVetoException ex) {
            bOK = false;
            log.println("ERROR: could not collapse node: " + ex.toString());
        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not collapse node: " + ex.toString());
        }

        bOK &= ! mTreeExpanded1  & ! mTreeExpanded2  & mTreeCollapsed1  & mTreeCollapsed2
             & ! mTreeExpanding1 & ! mTreeExpanding2 & mTreeCollapsing1 & mTreeCollapsing2;

        tRes.tested("addTreeExpansionListener()", bOK);

    }

    public void _removeTreeExpansionListener(){

        this.requiredMethod("addTreeExpansionListener()");

        boolean bOK = true;

        log.println("collapse Node to get an initial status...");
        try {

            oObj.collapseNode(mXNode);
        } catch (ExpandVetoException ex) {
            bOK = false;
            log.println("ERROR: could not collapse node: " + ex.toString());
        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not collapse node: " + ex.toString());
        }

        resetTreeExpandingListener();

        log.println("remove mTreeExpansionListener2 ...");
        oObj.removeTreeExpansionListener(mTreeExpansionListener2);

        log.println("expand Node...");
        try {

            oObj.expandNode(mXNode);

        } catch (ExpandVetoException ex) {
            bOK = false;
            log.println("ERROR: could not expand node: " + ex.toString());
        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not expand node: " + ex.toString());
        }

        bOK &= mTreeExpanded1  & ! mTreeExpanded2  & ! mTreeCollapsed1  & ! mTreeCollapsed2
             & mTreeExpanding1 & ! mTreeExpanding2 & ! mTreeCollapsing1 & ! mTreeCollapsing2;

        resetTreeExpandingListener();

        log.println("collapse Node...");
        try {

            oObj.collapseNode(mXNode);
        } catch (ExpandVetoException ex) {
            bOK = false;
            log.println("ERROR: could not collapse node: " + ex.toString());
        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            bOK = false;
            log.println("ERROR: could not collapse node: " + ex.toString());
        }

        bOK &= ! mTreeExpanded1  & ! mTreeExpanded2  & mTreeCollapsed1  & ! mTreeCollapsed2
             & ! mTreeExpanding1 & ! mTreeExpanding2 & mTreeCollapsing1 & ! mTreeCollapsing2;

        log.println("remove mTreeExpansionListener2 ...");
        oObj.removeTreeExpansionListener(mTreeExpansionListener2);

        tRes.tested("removeTreeExpansionListener()", bOK);

    }

    public void _getNodeForLocation(){

        boolean bOK = false;


        tRes.tested("getNodeForLocation()", bOK);

    }

    public void _getClosestNodeForLocation(){

        boolean bOK = false;

        log.println("try to get Node for location 100,100");
        XTreeNode myNode = oObj.getClosestNodeForLocation(100,100);

        bOK &= (myNode != null);

        tRes.tested("getClosestNodeForLocation()", bOK);

    }

    public void _isEditing(){

        boolean bOK = false;

        log.println("not ready because of i78701");

        tRes.tested("isEditing()", bOK);

    }

    public void _stopEditing(){

        boolean bOK = false;
        log.println("not ready because of i78701");


        tRes.tested("stopEditing()", bOK);

    }

    public void _cancelEditing(){

        boolean bOK = false;

        log.println("not ready because of i78701");

        tRes.tested("cancelEditing()", bOK);

    }

    public void _startEditingAtNode(){

        boolean bOK = false;

        log.println("not ready because of i78701");

        tRes.tested("startEditingAtNode()", bOK);

    }

    public void _addTreeEditListener(){

        boolean bOK = true;

        log.println("add EditListener 1...");
        oObj.addTreeEditListener(mTreeEditListener1);

        log.println("add EditListener 2...");
        oObj.addTreeEditListener(mTreeEditListener2);

        try {
            oObj.startEditingAtNode(mXNode);
        } catch (com.sun.star.lang.IllegalArgumentException ex) {
            log.println("ERROR: could not start editing at node: " + ex.toString());
            bOK = false;
        }

        log.println("not ready because of i78701");
        bOK = false;


        tRes.tested("addTreeEditListener()", bOK);

    }

    public void _removeTreeEditListener(){

        boolean bOK = false;

        log.println("not ready because of i78701");

        tRes.tested("removeTreeEditListener()", bOK);

    }

    public void _DefaultExpandedGraphicURL(){

        boolean bOK = true;

        String current = oObj.getDefaultExpandedGraphicURL();
        log.println("current DefaultExpandedGraphicURL: " + current);

        String changeUrl = null;

        if (current.equals("private:graphicrepository/sd/res/triangle_right.png"))
             changeUrl = "private:graphicrepository/sd/res/triangle_down.png";
        else changeUrl = "private:graphicrepository/sd/res/triangle_right.png";

        log.println("try to set '" + changeUrl + "' as new DefaultExpandedGraphicURL");

        oObj.setDefaultExpandedGraphicURL(changeUrl);

        String newUrl = oObj.getDefaultExpandedGraphicURL();

        log.println("new DefaultExpandedGraphicURL: " + newUrl);

        bOK &= ! newUrl.equals(current);

        tRes.tested("DefaultExpandedGraphicURL()", bOK);

    }

    public void _DefaultCollapsedGraphicURL(){

        boolean bOK = true;

        String current = oObj.getDefaultCollapsedGraphicURL();
        log.println("current DefaultCollapsedGraphicURL: " + current);

        String changeUrl = null;

        if (current.equals("private:graphicrepository/sd/res/triangle_right.png"))
             changeUrl = "private:graphicrepository/sd/res/triangle_down.png";
        else changeUrl = "private:graphicrepository/sd/res/triangle_right.png";

        log.println("try to set '" + changeUrl + "' as new DefaultCollapsedGraphicURL");
        oObj.setDefaultCollapsedGraphicURL(changeUrl);

        String newUrl = oObj.getDefaultCollapsedGraphicURL();

        log.println("new DefaultCollapsedGraphicURL: " + newUrl);

        bOK &= ! newUrl.equals(current);

        tRes.tested("DefaultCollapsedGraphicURL()", bOK);
    }
}



Messung V0.5
C=100 H=96 G=97

¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge