< prev index next >

application/uitests/org.openjdk.jmc.test.jemmy/src/test/java/org/openjdk/jmc/test/jemmy/misc/base/wrappers/MCJemmyBase.java

Print this page




  34 
  35 import java.awt.Toolkit;
  36 import java.awt.datatransfer.DataFlavor;
  37 import java.awt.datatransfer.Transferable;
  38 import java.awt.datatransfer.UnsupportedFlavorException;
  39 import java.awt.im.InputContext;
  40 import java.io.File;
  41 import java.io.IOException;
  42 import java.lang.reflect.Method;
  43 import java.util.ArrayList;
  44 import java.util.HashMap;
  45 import java.util.List;
  46 import java.util.Map;
  47 
  48 import org.eclipse.core.runtime.jobs.Job;
  49 import org.eclipse.swt.SWTException;
  50 import org.eclipse.swt.custom.CTabFolder;
  51 import org.eclipse.swt.widgets.Composite;
  52 import org.eclipse.swt.widgets.Control;
  53 import org.eclipse.swt.widgets.Display;


  54 import org.eclipse.swt.widgets.Shell;
  55 import org.eclipse.swt.widgets.Table;
  56 import org.eclipse.swt.widgets.Widget;

  57 import org.jemmy.action.AbstractExecutor;
  58 import org.jemmy.control.Wrap;
  59 import org.jemmy.env.Environment;
  60 import org.jemmy.env.TestOut;
  61 import org.jemmy.image.AWTImage;
  62 import org.jemmy.image.AWTRobotCapturer;
  63 import org.jemmy.image.AverageDistanceImageComparator;
  64 import org.jemmy.image.FilesystemImageLoader;
  65 import org.jemmy.image.Image;
  66 import org.jemmy.image.ImageComparator;
  67 import org.jemmy.image.StrictImageComparator;
  68 import org.jemmy.input.AWTRobotInputFactory;
  69 import org.jemmy.input.DefaultCharBindingMap;
  70 import org.jemmy.interfaces.Focusable;
  71 import org.jemmy.interfaces.Keyboard.KeyboardButton;
  72 import org.jemmy.interfaces.Keyboard.KeyboardButtons;
  73 import org.jemmy.interfaces.Keyboard.KeyboardModifiers;

  74 import org.jemmy.interfaces.Parent;
  75 import org.jemmy.lookup.AbstractLookup;
  76 import org.jemmy.lookup.Lookup;
  77 import org.jemmy.operators.Screen;
  78 import org.jemmy.resources.StringComparePolicy;
  79 import org.jemmy.swt.SWTMenu;
  80 import org.jemmy.swt.Shells;
  81 import org.jemmy.swt.lookup.ByItemLookup;
  82 import org.jemmy.swt.lookup.ByName;
  83 import org.jemmy.swt.lookup.ByTextControlLookup;
  84 import org.jemmy.swt.lookup.ByTextShell;
  85 import org.junit.Assert;
  86 
  87 import org.openjdk.jmc.test.jemmy.misc.fetchers.Fetcher;
  88 import org.openjdk.jmc.test.jemmy.misc.fetchers.FetcherWithInput;
  89 import org.openjdk.jmc.test.jemmy.misc.wrappers.MCProgressIndicator;
  90 import org.openjdk.jmc.test.jemmy.misc.wrappers.MCTabFolder;
  91 import org.openjdk.jmc.test.jemmy.misc.wrappers.MCTable;
  92 
  93 /**


 510          * @return {@code true} if disposed (or disposing), otherwise {@code false}
 511          */
 512         public boolean isDisposed() {
 513                 return isDisposed(control);
 514         }
 515 
 516         /**
 517          * Convenience method to find out if this control is enabled
 518          *
 519          * @return {@code true} if enabled, otherwise {@code false}
 520          */
 521         public boolean isEnabled() {
 522                 Fetcher<Boolean> fetcher = new Fetcher<Boolean>() {
 523                         @Override
 524                         public void run() {
 525                                 setOutput(control.getControl().isEnabled());
 526                         }
 527                 };
 528                 Display.getDefault().syncExec(fetcher);
 529                 return fetcher.getOutput();







































 530         }
 531 
 532         /**
 533          * Convenience method to find out if a control is visible
 534          *
 535          * @param controlWrap
 536          *            the control to check
 537          * @return {@code true} if visible, otherwise {@code false}
 538          */
 539         protected static boolean isVisible(final Wrap<? extends Control> controlWrap) {
 540                 Fetcher<Boolean> fetcher = new Fetcher<Boolean>() {
 541                         @Override
 542                         public void run() {
 543                                 try {
 544                                         setOutput(controlWrap.getControl().isVisible());
 545                                 } catch (SWTException e) {
 546                                         suppressWidgetDisposedException(e);
 547                                 }
 548                         }
 549                 };




  34 
  35 import java.awt.Toolkit;
  36 import java.awt.datatransfer.DataFlavor;
  37 import java.awt.datatransfer.Transferable;
  38 import java.awt.datatransfer.UnsupportedFlavorException;
  39 import java.awt.im.InputContext;
  40 import java.io.File;
  41 import java.io.IOException;
  42 import java.lang.reflect.Method;
  43 import java.util.ArrayList;
  44 import java.util.HashMap;
  45 import java.util.List;
  46 import java.util.Map;
  47 
  48 import org.eclipse.core.runtime.jobs.Job;
  49 import org.eclipse.swt.SWTException;
  50 import org.eclipse.swt.custom.CTabFolder;
  51 import org.eclipse.swt.widgets.Composite;
  52 import org.eclipse.swt.widgets.Control;
  53 import org.eclipse.swt.widgets.Display;
  54 import org.eclipse.swt.widgets.Menu;
  55 import org.eclipse.swt.widgets.MenuItem;
  56 import org.eclipse.swt.widgets.Shell;
  57 import org.eclipse.swt.widgets.Table;
  58 import org.eclipse.swt.widgets.Widget;
  59 import org.jemmy.Point;
  60 import org.jemmy.action.AbstractExecutor;
  61 import org.jemmy.control.Wrap;
  62 import org.jemmy.env.Environment;
  63 import org.jemmy.env.TestOut;
  64 import org.jemmy.image.AWTImage;
  65 import org.jemmy.image.AWTRobotCapturer;
  66 import org.jemmy.image.AverageDistanceImageComparator;
  67 import org.jemmy.image.FilesystemImageLoader;
  68 import org.jemmy.image.Image;
  69 import org.jemmy.image.ImageComparator;
  70 import org.jemmy.image.StrictImageComparator;
  71 import org.jemmy.input.AWTRobotInputFactory;
  72 import org.jemmy.input.DefaultCharBindingMap;
  73 import org.jemmy.interfaces.Focusable;
  74 import org.jemmy.interfaces.Keyboard.KeyboardButton;
  75 import org.jemmy.interfaces.Keyboard.KeyboardButtons;
  76 import org.jemmy.interfaces.Keyboard.KeyboardModifiers;
  77 import org.jemmy.interfaces.Mouse.MouseButtons;
  78 import org.jemmy.interfaces.Parent;
  79 import org.jemmy.lookup.AbstractLookup;
  80 import org.jemmy.lookup.Lookup;
  81 import org.jemmy.operators.Screen;
  82 import org.jemmy.resources.StringComparePolicy;
  83 import org.jemmy.swt.SWTMenu;
  84 import org.jemmy.swt.Shells;
  85 import org.jemmy.swt.lookup.ByItemLookup;
  86 import org.jemmy.swt.lookup.ByName;
  87 import org.jemmy.swt.lookup.ByTextControlLookup;
  88 import org.jemmy.swt.lookup.ByTextShell;
  89 import org.junit.Assert;
  90 
  91 import org.openjdk.jmc.test.jemmy.misc.fetchers.Fetcher;
  92 import org.openjdk.jmc.test.jemmy.misc.fetchers.FetcherWithInput;
  93 import org.openjdk.jmc.test.jemmy.misc.wrappers.MCProgressIndicator;
  94 import org.openjdk.jmc.test.jemmy.misc.wrappers.MCTabFolder;
  95 import org.openjdk.jmc.test.jemmy.misc.wrappers.MCTable;
  96 
  97 /**


 514          * @return {@code true} if disposed (or disposing), otherwise {@code false}
 515          */
 516         public boolean isDisposed() {
 517                 return isDisposed(control);
 518         }
 519 
 520         /**
 521          * Convenience method to find out if this control is enabled
 522          *
 523          * @return {@code true} if enabled, otherwise {@code false}
 524          */
 525         public boolean isEnabled() {
 526                 Fetcher<Boolean> fetcher = new Fetcher<Boolean>() {
 527                         @Override
 528                         public void run() {
 529                                 setOutput(control.getControl().isEnabled());
 530                         }
 531                 };
 532                 Display.getDefault().syncExec(fetcher);
 533                 return fetcher.getOutput();
 534         }
 535 
 536         /**
 537          * Opens the context menu by right-clicking at a provided point
 538          *
 539          * @param p
 540          *            origin point of context (right-click)
 541          */
 542         private void openContextMenuAtPoint(Point p) {
 543                 Display.getDefault().syncExec(() -> {
 544                         control.mouse().click(1, p, MouseButtons.BUTTON3);
 545                 });
 546         }
 547 
 548         /**
 549          * Checks the isEnabled value for a menu item
 550          *
 551          * @param p
 552          *            the point on the screen at which to open the context menu
 553          * @param menuItemText
 554          *            the menu item of interest
 555          * @return the isEnabled value for the menu item of interest
 556          */
 557         public boolean isContextMenuItemEnabled(Point p, String menuItemText) {
 558                 openContextMenuAtPoint(p);
 559                 Fetcher<Boolean> fetcher = new Fetcher<Boolean>() {
 560                         @Override
 561                         public void run() {
 562                                 Menu menu = control.getControl().getMenu();
 563                                 for (MenuItem item : menu.getItems()) {
 564                                         if(menuItemText.equals(item.getText())) {
 565                                                 setOutput(item.isEnabled());
 566                                                 break;
 567                                         }
 568                                 }
 569                         }
 570                 };
 571                 Display.getDefault().syncExec(fetcher);
 572                 return (fetcher.getOutput() == null) ? false : fetcher.getOutput();
 573         }
 574 
 575         /**
 576          * Convenience method to find out if a control is visible
 577          *
 578          * @param controlWrap
 579          *            the control to check
 580          * @return {@code true} if visible, otherwise {@code false}
 581          */
 582         protected static boolean isVisible(final Wrap<? extends Control> controlWrap) {
 583                 Fetcher<Boolean> fetcher = new Fetcher<Boolean>() {
 584                         @Override
 585                         public void run() {
 586                                 try {
 587                                         setOutput(controlWrap.getControl().isVisible());
 588                                 } catch (SWTException e) {
 589                                         suppressWidgetDisposedException(e);
 590                                 }
 591                         }
 592                 };


< prev index next >