< 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 >