xml.schema/test/qa-functional/src/org/netbeans/test/xml/schema/abe/DVGenericNodeOperator.java
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
4 * Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
6 * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
7 * Other names may be trademarks of their respective owners.
9 * The contents of this file are subject to the terms of either the GNU
10 * General Public License Version 2 only ("GPL") or the Common
11 * Development and Distribution License("CDDL") (collectively, the
12 * "License"). You may not use this file except in compliance with the
13 * License. You can obtain a copy of the License at
14 * http://www.netbeans.org/cddl-gplv2.html
15 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
16 * specific language governing permissions and limitations under the
17 * License. When distributing the software, include this License Header
18 * Notice in each file and include the License file at
19 * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
20 * particular file as subject to the "Classpath" exception as provided
21 * by Oracle in the GPL Version 2 section of the License file that
22 * accompanied this code. If applicable, add the following below the
23 * License Header, with the fields enclosed by brackets [] replaced by
24 * your own identifying information:
25 * "Portions Copyrighted [year] [name of copyright owner]"
29 * The Original Software is NetBeans. The Initial Developer of the Original
30 * Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
31 * Microsystems, Inc. All Rights Reserved.
33 * If you wish your version of this file to be governed by only the CDDL
34 * or only the GPL Version 2, indicate your decision by adding
35 * "[Contributor] elects to include this software in this distribution
36 * under the [CDDL or GPL Version 2] license." If you do not indicate a
37 * single choice of license, a recipient has the option to distribute
38 * your version of this file under either the CDDL, the GPL Version 2 or
39 * to extend the choice of license to its licensees as provided above.
40 * However, if you add GPL Version 2 code and therefore, elected the GPL
41 * Version 2 license, then the option applies only if the new code is
42 * made subject to such option by the copyright holder.
44 package org.netbeans.test.xml.schema.abe;
46 import java.awt.Container;
47 import java.awt.event.InputEvent;
48 import java.awt.event.KeyEvent;
49 import javax.swing.JLabel;
50 import org.netbeans.jemmy.Timeout;
51 import org.netbeans.jemmy.drivers.input.MouseRobotDriver;
52 import org.netbeans.jemmy.operators.ContainerOperator;
53 import org.netbeans.jemmy.operators.JLabelOperator;
54 import org.netbeans.jemmy.operators.JLabelOperator.JLabelByLabelFinder;
55 import org.netbeans.jemmy.operators.JPopupMenuOperator;
59 * @author Mikhail Matveev
61 public class DVGenericNodeOperator extends ContainerOperator{
63 protected JLabelOperator m_label=null;
64 protected MouseRobotDriver drv=new MouseRobotDriver(new Timeout("", 50));
66 public DVGenericNodeOperator(Container comp){
68 m_label=new JLabelOperator((JLabel)waitComponent(comp, new JLabelByLabelFinder(comp.getName(), getComparator()),0));
71 public DVGenericNodeOperator(ContainerOperator parent, String text){
73 this(parent,text,null);
76 public DVGenericNodeOperator(ContainerOperator parent, String text, boolean ce, boolean ccs){
78 this(parent,text,new DefaultStringComparator(ce,ccs));
81 public DVGenericNodeOperator(ContainerOperator parent, String text, StringComparator comparator){
83 super(waitComponent(parent, new JLabelByLabelFinder(text, comparator==null?parent.getComparator():comparator),0).getParent().getParent());
84 m_label=new JLabelOperator((JLabel)waitComponent(this, new JLabelByLabelFinder(text, this.getComparator()),0));
85 copyEnvironment(parent);
88 public JLabelOperator getLabel(){
92 public void clickMouseRobot(){
93 drv.clickMouse(m_label, m_label.getCenterXForClick(), m_label.getCenterYForClick(), 1, InputEvent.BUTTON1_MASK, 0, new Timeout("", 30));
96 public void dblClickMouseRobot(){
97 drv.clickMouse(m_label, m_label.getCenterXForClick(), m_label.getCenterYForClick(), 2, InputEvent.BUTTON1_MASK, 0, new Timeout("", 30));
100 public void clickForPopupRobot(){
101 drv.clickMouse(m_label, m_label.getCenterXForClick(), m_label.getCenterYForClick(), 1, InputEvent.BUTTON3_MASK, 0, new Timeout("", 30));
104 public void renameInplace(String name){
105 dblClickMouseRobot();
106 m_label.setText(name);
109 public DVNodeOperator addElement(String name){
110 clickForPopupRobot();
111 new JPopupMenuOperator().pushMenu("Add|Element");
112 DVNodeOperator res=new DVNodeOperator(this, DesignViewOperator.defaultElementName, true, true);
113 res.getLabel().setText(name);
114 res.pushKey(KeyEvent.VK_ENTER);