xml.schema/test/qa-functional/src/org/netbeans/test/xml/schema/abe/DesignViewOperator.java
author Milutin Kristofic <mkristofic@netbeans.org>
Mon, 30 Jan 2017 14:30:54 +0100
changeset 1583 fe20f672a61a
parent 890 b978f643717a
permissions -rw-r--r--
Added Missing copyright information in source files
mkristofic@1583
     1
/*
mkristofic@1583
     2
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
mkristofic@1583
     3
 *
mkristofic@1583
     4
 * Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
mkristofic@1583
     5
 *
mkristofic@1583
     6
 * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
mkristofic@1583
     7
 * Other names may be trademarks of their respective owners.
mkristofic@1583
     8
 *
mkristofic@1583
     9
 * The contents of this file are subject to the terms of either the GNU
mkristofic@1583
    10
 * General Public License Version 2 only ("GPL") or the Common
mkristofic@1583
    11
 * Development and Distribution License("CDDL") (collectively, the
mkristofic@1583
    12
 * "License"). You may not use this file except in compliance with the
mkristofic@1583
    13
 * License. You can obtain a copy of the License at
mkristofic@1583
    14
 * http://www.netbeans.org/cddl-gplv2.html
mkristofic@1583
    15
 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
mkristofic@1583
    16
 * specific language governing permissions and limitations under the
mkristofic@1583
    17
 * License.  When distributing the software, include this License Header
mkristofic@1583
    18
 * Notice in each file and include the License file at
mkristofic@1583
    19
 * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
mkristofic@1583
    20
 * particular file as subject to the "Classpath" exception as provided
mkristofic@1583
    21
 * by Oracle in the GPL Version 2 section of the License file that
mkristofic@1583
    22
 * accompanied this code. If applicable, add the following below the
mkristofic@1583
    23
 * License Header, with the fields enclosed by brackets [] replaced by
mkristofic@1583
    24
 * your own identifying information:
mkristofic@1583
    25
 * "Portions Copyrighted [year] [name of copyright owner]"
mkristofic@1583
    26
 *
mkristofic@1583
    27
 * Contributor(s):
mkristofic@1583
    28
 *
mkristofic@1583
    29
 * The Original Software is NetBeans. The Initial Developer of the Original
mkristofic@1583
    30
 * Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
mkristofic@1583
    31
 * Microsystems, Inc. All Rights Reserved.
mkristofic@1583
    32
 *
mkristofic@1583
    33
 * If you wish your version of this file to be governed by only the CDDL
mkristofic@1583
    34
 * or only the GPL Version 2, indicate your decision by adding
mkristofic@1583
    35
 * "[Contributor] elects to include this software in this distribution
mkristofic@1583
    36
 * under the [CDDL or GPL Version 2] license." If you do not indicate a
mkristofic@1583
    37
 * single choice of license, a recipient has the option to distribute
mkristofic@1583
    38
 * your version of this file under either the CDDL, the GPL Version 2 or
mkristofic@1583
    39
 * to extend the choice of license to its licensees as provided above.
mkristofic@1583
    40
 * However, if you add GPL Version 2 code and therefore, elected the GPL
mkristofic@1583
    41
 * Version 2 license, then the option applies only if the new code is
mkristofic@1583
    42
 * made subject to such option by the copyright holder.
mkristofic@1583
    43
 */
mikhailmatveev@890
    44
package org.netbeans.test.xml.schema.abe;
mikhailmatveev@890
    45
mikhailmatveev@890
    46
import java.awt.event.KeyEvent;
mikhailmatveev@890
    47
import org.netbeans.test.xml.schema.lib.*;
mikhailmatveev@890
    48
import org.netbeans.jellytools.TopComponentOperator;
mikhailmatveev@890
    49
import org.netbeans.jemmy.operators.JPopupMenuOperator;
mikhailmatveev@890
    50
mikhailmatveev@890
    51
/**
mikhailmatveev@890
    52
 *
mikhailmatveev@890
    53
 * @author Mikhail Matveev
mikhailmatveev@890
    54
 */
mikhailmatveev@890
    55
public class DesignViewOperator extends TopComponentOperator{
mikhailmatveev@890
    56
    
mikhailmatveev@890
    57
    private DVGenericNodeOperator m_elementsRoot;    
mikhailmatveev@890
    58
    private DVGenericNodeOperator m_complexTypesRoot;
mikhailmatveev@890
    59
    private DVNamespaceOperator m_namespace;
mikhailmatveev@890
    60
    
mikhailmatveev@890
    61
    public static final String defaultElementName="newElement";
mikhailmatveev@890
    62
    public static final String defaultComplexTypeName="newComplexType";
mikhailmatveev@890
    63
    public static final String defaultAttributeName="newComplexType";
mikhailmatveev@890
    64
mikhailmatveev@890
    65
    public static DesignViewOperator createDesignViewOperator(String schemaName){
mikhailmatveev@890
    66
        return new DesignViewOperator(new SchemaMultiView(schemaName).getTopComponentOperator());        
mikhailmatveev@890
    67
    }
mikhailmatveev@890
    68
    
mikhailmatveev@890
    69
    public DesignViewOperator(TopComponentOperator op){
mikhailmatveev@890
    70
        super(op);
mikhailmatveev@890
    71
        m_namespace=new DVNamespaceOperator(this);
mikhailmatveev@890
    72
        m_complexTypesRoot=new DVGenericNodeOperator(this, "Complex Types");
mikhailmatveev@890
    73
        m_elementsRoot=new DVGenericNodeOperator(this, "Elements");        
mikhailmatveev@890
    74
    }
mikhailmatveev@890
    75
    
mikhailmatveev@890
    76
    public DVGenericNodeOperator getElementsRoot(){
mikhailmatveev@890
    77
        return m_elementsRoot;        
mikhailmatveev@890
    78
    }
mikhailmatveev@890
    79
mikhailmatveev@890
    80
    public DVGenericNodeOperator getComplexTypesRoot(){
mikhailmatveev@890
    81
        return m_complexTypesRoot;        
mikhailmatveev@890
    82
    }
mikhailmatveev@890
    83
    
mikhailmatveev@890
    84
    public DVNamespaceOperator getNameSpace(){
mikhailmatveev@890
    85
        return m_namespace;
mikhailmatveev@890
    86
    }
mikhailmatveev@890
    87
    
mikhailmatveev@890
    88
    public DVNodeOperator addElement(String name){
mikhailmatveev@890
    89
        return getNameSpace().addElement(name);
mikhailmatveev@890
    90
    }    
mikhailmatveev@890
    91
    
mikhailmatveev@890
    92
    public DVNodeOperator addComplexType(String name){
mikhailmatveev@890
    93
        getNameSpace().clickForPopupRobot();
mikhailmatveev@890
    94
        new JPopupMenuOperator().pushMenu("Add|Complex Type");
mikhailmatveev@890
    95
        DVNodeOperator res=new DVNodeOperator(this, defaultComplexTypeName, true, true);
mikhailmatveev@890
    96
        res.getLabel().setText(name);
mikhailmatveev@890
    97
        pushKey(KeyEvent.VK_ENTER);
mikhailmatveev@890
    98
        return res;
mikhailmatveev@890
    99
    }    
mikhailmatveev@890
   100
    
mikhailmatveev@890
   101
}