< prev index next >

src/org/netbeans/jemmy/drivers/APIDriverInstaller.java

Print this page


   1 /*
   2  * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation. Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


  32 import org.netbeans.jemmy.drivers.focus.MouseFocusDriver;
  33 import org.netbeans.jemmy.drivers.lists.ChoiceDriver;
  34 import org.netbeans.jemmy.drivers.lists.JComboMouseDriver;
  35 import org.netbeans.jemmy.drivers.lists.JListMouseDriver;
  36 import org.netbeans.jemmy.drivers.lists.JTabAPIDriver;
  37 import org.netbeans.jemmy.drivers.lists.JTableHeaderDriver;
  38 import org.netbeans.jemmy.drivers.lists.ListKeyboardDriver;
  39 import org.netbeans.jemmy.drivers.menus.AppleMenuDriver;
  40 import org.netbeans.jemmy.drivers.menus.DefaultJMenuDriver;
  41 import org.netbeans.jemmy.drivers.menus.QueueJMenuDriver;
  42 import org.netbeans.jemmy.drivers.scrolling.JScrollBarAPIDriver;
  43 import org.netbeans.jemmy.drivers.scrolling.JSliderAPIDriver;
  44 import org.netbeans.jemmy.drivers.scrolling.JSplitPaneDriver;
  45 import org.netbeans.jemmy.drivers.scrolling.ScrollPaneDriver;
  46 import org.netbeans.jemmy.drivers.scrolling.ScrollbarDriver;
  47 import org.netbeans.jemmy.drivers.tables.JTableMouseDriver;
  48 import org.netbeans.jemmy.drivers.text.AWTTextKeyboardDriver;
  49 import org.netbeans.jemmy.drivers.text.SwingTextKeyboardDriver;
  50 import org.netbeans.jemmy.drivers.trees.JTreeAPIDriver;
  51 import org.netbeans.jemmy.drivers.windows.DefaultFrameDriver;
  52 import org.netbeans.jemmy.drivers.windows.DefaultInternalFrameDriver;
  53 import org.netbeans.jemmy.drivers.windows.DefaultWindowDriver;

  54 
  55 /**
  56  * Installs all necessary drivers for Jemmy operators except low-level drivers
  57  * which are installed by
  58  * <a href="InputDriverInstaller.java">InputDriverInstaller</a>.
  59  *
  60  * @author Alexandre Iline(alexandre.iline@oracle.com)
  61  */
  62 public class APIDriverInstaller extends ArrayDriverInstaller {
  63 
  64     /**
  65      * Constructs a DefaultDriverInstaller object.
  66      *
  67      * @param shortcutEvents Signals whether shortcut mode is used.
  68      */
  69     public APIDriverInstaller(boolean shortcutEvents) {
  70         super(new String[]{
  71             DriverManager.LIST_DRIVER_ID,
  72             DriverManager.MULTISELLIST_DRIVER_ID,
  73             DriverManager.TREE_DRIVER_ID,


 104                     new JTreeAPIDriver(),
 105                     new AWTTextKeyboardDriver(),
 106                     new SwingTextKeyboardDriver(),
 107                     new ScrollbarDriver(),
 108                     new ScrollPaneDriver(),
 109                     new JScrollBarAPIDriver(),
 110                     new JSplitPaneDriver(),
 111                     new JSliderAPIDriver(),
 112                     createSpinnerDriver(),
 113                     new ButtonMouseDriver(),
 114                     new JTabAPIDriver(),
 115                     new ListKeyboardDriver(),
 116                     new ListKeyboardDriver(),
 117                     new JComboMouseDriver(),
 118                     new JListMouseDriver(),
 119                     new JListMouseDriver(),
 120                     new JTableMouseDriver(),
 121                     new ChoiceDriver(),
 122                     new DefaultFrameDriver(),
 123                     new DefaultWindowDriver(),
 124                     new DefaultInternalFrameDriver(),
 125                     new DefaultInternalFrameDriver(),
 126                     new DefaultInternalFrameDriver(),
 127                     new APIFocusDriver(),
 128                     new MouseFocusDriver(),
 129                     (shortcutEvents ? new QueueJMenuDriver() : new DefaultJMenuDriver()),
 130                     ((System.getProperty("apple.laf.useScreenMenuBar") != null
 131                     && System.getProperty("apple.laf.useScreenMenuBar").equals("true")) ? new AppleMenuDriver()
 132                     : (shortcutEvents ? new QueueJMenuDriver() : new DefaultJMenuDriver())),
 133                     new JTableHeaderDriver()});
 134     }
 135 
 136     /**
 137      * Constructs a DefaultDriverInstaller object with shortcut mode flag taken
 138      * from {@code JemmyProperties}.
 139      */
 140     public APIDriverInstaller() {
 141         this((JemmyProperties.getCurrentDispatchingModel()
 142                 & JemmyProperties.SHORTCUT_MODEL_MASK) != 0);
 143     }
 144 
 145     private static LightDriver createSpinnerDriver() {
 146         if (System.getProperty("java.specification.version").compareTo("1.3") > 0) {


   1 /*
   2  * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation. Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


  32 import org.netbeans.jemmy.drivers.focus.MouseFocusDriver;
  33 import org.netbeans.jemmy.drivers.lists.ChoiceDriver;
  34 import org.netbeans.jemmy.drivers.lists.JComboMouseDriver;
  35 import org.netbeans.jemmy.drivers.lists.JListMouseDriver;
  36 import org.netbeans.jemmy.drivers.lists.JTabAPIDriver;
  37 import org.netbeans.jemmy.drivers.lists.JTableHeaderDriver;
  38 import org.netbeans.jemmy.drivers.lists.ListKeyboardDriver;
  39 import org.netbeans.jemmy.drivers.menus.AppleMenuDriver;
  40 import org.netbeans.jemmy.drivers.menus.DefaultJMenuDriver;
  41 import org.netbeans.jemmy.drivers.menus.QueueJMenuDriver;
  42 import org.netbeans.jemmy.drivers.scrolling.JScrollBarAPIDriver;
  43 import org.netbeans.jemmy.drivers.scrolling.JSliderAPIDriver;
  44 import org.netbeans.jemmy.drivers.scrolling.JSplitPaneDriver;
  45 import org.netbeans.jemmy.drivers.scrolling.ScrollPaneDriver;
  46 import org.netbeans.jemmy.drivers.scrolling.ScrollbarDriver;
  47 import org.netbeans.jemmy.drivers.tables.JTableMouseDriver;
  48 import org.netbeans.jemmy.drivers.text.AWTTextKeyboardDriver;
  49 import org.netbeans.jemmy.drivers.text.SwingTextKeyboardDriver;
  50 import org.netbeans.jemmy.drivers.trees.JTreeAPIDriver;
  51 import org.netbeans.jemmy.drivers.windows.DefaultFrameDriver;

  52 import org.netbeans.jemmy.drivers.windows.DefaultWindowDriver;
  53 import org.netbeans.jemmy.drivers.windows.InternalFrameAPIDriver;
  54 
  55 /**
  56  * Installs all necessary drivers for Jemmy operators except low-level drivers
  57  * which are installed by
  58  * <a href="InputDriverInstaller.java">InputDriverInstaller</a>.
  59  *
  60  * @author Alexandre Iline(alexandre.iline@oracle.com)
  61  */
  62 public class APIDriverInstaller extends ArrayDriverInstaller {
  63 
  64     /**
  65      * Constructs a DefaultDriverInstaller object.
  66      *
  67      * @param shortcutEvents Signals whether shortcut mode is used.
  68      */
  69     public APIDriverInstaller(boolean shortcutEvents) {
  70         super(new String[]{
  71             DriverManager.LIST_DRIVER_ID,
  72             DriverManager.MULTISELLIST_DRIVER_ID,
  73             DriverManager.TREE_DRIVER_ID,


 104                     new JTreeAPIDriver(),
 105                     new AWTTextKeyboardDriver(),
 106                     new SwingTextKeyboardDriver(),
 107                     new ScrollbarDriver(),
 108                     new ScrollPaneDriver(),
 109                     new JScrollBarAPIDriver(),
 110                     new JSplitPaneDriver(),
 111                     new JSliderAPIDriver(),
 112                     createSpinnerDriver(),
 113                     new ButtonMouseDriver(),
 114                     new JTabAPIDriver(),
 115                     new ListKeyboardDriver(),
 116                     new ListKeyboardDriver(),
 117                     new JComboMouseDriver(),
 118                     new JListMouseDriver(),
 119                     new JListMouseDriver(),
 120                     new JTableMouseDriver(),
 121                     new ChoiceDriver(),
 122                     new DefaultFrameDriver(),
 123                     new DefaultWindowDriver(),
 124                     new InternalFrameAPIDriver(),
 125                     new InternalFrameAPIDriver(),
 126                     new InternalFrameAPIDriver(),
 127                     new APIFocusDriver(),
 128                     new MouseFocusDriver(),
 129                     (shortcutEvents ? new QueueJMenuDriver() : new DefaultJMenuDriver()),
 130                     ((System.getProperty("apple.laf.useScreenMenuBar") != null
 131                     && System.getProperty("apple.laf.useScreenMenuBar").equals("true")) ? new AppleMenuDriver()
 132                     : (shortcutEvents ? new QueueJMenuDriver() : new DefaultJMenuDriver())),
 133                     new JTableHeaderDriver()});
 134     }
 135 
 136     /**
 137      * Constructs a DefaultDriverInstaller object with shortcut mode flag taken
 138      * from {@code JemmyProperties}.
 139      */
 140     public APIDriverInstaller() {
 141         this((JemmyProperties.getCurrentDispatchingModel()
 142                 & JemmyProperties.SHORTCUT_MODEL_MASK) != 0);
 143     }
 144 
 145     private static LightDriver createSpinnerDriver() {
 146         if (System.getProperty("java.specification.version").compareTo("1.3") > 0) {


< prev index next >