xml.schema/test/qa-functional/src/org/netbeans/test/xml/schema/abe/DVGenericNodeOperator.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
     1 /*
     2  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
     3  *
     4  * Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
     5  *
     6  * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
     7  * Other names may be trademarks of their respective owners.
     8  *
     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]"
    26  *
    27  * Contributor(s):
    28  *
    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.
    32  *
    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.
    43  */
    44 package org.netbeans.test.xml.schema.abe;
    45 
    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;
    56 
    57 /**
    58  *
    59  * @author Mikhail Matveev
    60  */
    61 public class DVGenericNodeOperator extends ContainerOperator{
    62     
    63     protected JLabelOperator m_label=null;
    64     protected MouseRobotDriver drv=new MouseRobotDriver(new Timeout("",  50));
    65     
    66     public DVGenericNodeOperator(Container comp){
    67         super(comp);
    68         m_label=new JLabelOperator((JLabel)waitComponent(comp, new JLabelByLabelFinder(comp.getName(), getComparator()),0));
    69     }
    70     
    71     public DVGenericNodeOperator(ContainerOperator parent, String text){
    72         
    73         this(parent,text,null);
    74     }
    75     
    76     public DVGenericNodeOperator(ContainerOperator parent, String text, boolean ce, boolean ccs){
    77         
    78         this(parent,text,new DefaultStringComparator(ce,ccs));
    79     }    
    80     
    81     public DVGenericNodeOperator(ContainerOperator parent, String text, StringComparator comparator){
    82         
    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);        
    86     }    
    87     
    88     public JLabelOperator getLabel(){
    89         return m_label;
    90     }
    91     
    92     public void clickMouseRobot(){
    93         drv.clickMouse(m_label, m_label.getCenterXForClick(), m_label.getCenterYForClick(), 1, InputEvent.BUTTON1_MASK, 0, new Timeout("",  30));
    94     }    
    95     
    96     public void dblClickMouseRobot(){
    97         drv.clickMouse(m_label, m_label.getCenterXForClick(), m_label.getCenterYForClick(), 2, InputEvent.BUTTON1_MASK, 0, new Timeout("",  30));
    98     }        
    99     
   100     public void clickForPopupRobot(){
   101         drv.clickMouse(m_label, m_label.getCenterXForClick(), m_label.getCenterYForClick(), 1, InputEvent.BUTTON3_MASK, 0, new Timeout("",  30));
   102     }
   103     
   104     public void renameInplace(String name){
   105         dblClickMouseRobot();
   106         m_label.setText(name);
   107     }
   108     
   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);
   115         return res;
   116     }    
   117     
   118 }