< 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
*** 49,61 ****
--- 49,64 ----
import org.eclipse.swt.SWTException;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
+ import org.eclipse.swt.widgets.Menu;
+ import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.Widget;
+ import org.jemmy.Point;
import org.jemmy.action.AbstractExecutor;
import org.jemmy.control.Wrap;
import org.jemmy.env.Environment;
import org.jemmy.env.TestOut;
import org.jemmy.image.AWTImage;
*** 69,78 ****
--- 72,82 ----
import org.jemmy.input.DefaultCharBindingMap;
import org.jemmy.interfaces.Focusable;
import org.jemmy.interfaces.Keyboard.KeyboardButton;
import org.jemmy.interfaces.Keyboard.KeyboardButtons;
import org.jemmy.interfaces.Keyboard.KeyboardModifiers;
+ import org.jemmy.interfaces.Mouse.MouseButtons;
import org.jemmy.interfaces.Parent;
import org.jemmy.lookup.AbstractLookup;
import org.jemmy.lookup.Lookup;
import org.jemmy.operators.Screen;
import org.jemmy.resources.StringComparePolicy;
*** 528,537 ****
--- 532,580 ----
Display.getDefault().syncExec(fetcher);
return fetcher.getOutput();
}
/**
+ * Opens the context menu by right-clicking at a provided point
+ *
+ * @param p
+ * the point at which to right-click and open the context menu
+ */
+ private void openContextMenuAtPoint(Point p) {
+ Display.getDefault().syncExec(() -> {
+ control.mouse().click(1, p, MouseButtons.BUTTON3);
+ });
+ }
+
+ /**
+ * Checks the isEnabled value for a menu item
+ *
+ * @param p
+ * the point on the screen at which to open the context menu
+ * @param menuItemText
+ * the menu item of interest
+ * @return the isEnabled value for the menu item of interest
+ */
+ public boolean isContextMenuItemEnabled(Point p, String menuItemText) {
+ openContextMenuAtPoint(p);
+ Fetcher<Boolean> fetcher = new Fetcher<Boolean>() {
+ @Override
+ public void run() {
+ Menu menu = control.getControl().getMenu();
+ for (MenuItem item : menu.getItems()) {
+ if(menuItemText.equals(item.getText())) {
+ setOutput(item.isEnabled());
+ break;
+ }
+ }
+ }
+ };
+ Display.getDefault().syncExec(fetcher);
+ return (fetcher.getOutput() == null) ? false : fetcher.getOutput();
+ }
+
+ /**
* Convenience method to find out if a control is visible
*
* @param controlWrap
* the control to check
* @return {@code true} if visible, otherwise {@code false}
< prev index next >