Synthuse version 1.0.5
base version by ejakubowski
This commit is contained in:
194
src/org/synthuse/CommandPopupMenu.java
Normal file
194
src/org/synthuse/CommandPopupMenu.java
Normal file
@@ -0,0 +1,194 @@
|
||||
/*
|
||||
* Copyright 2014, Synthuse.org
|
||||
* Released under the Apache Version 2.0 License.
|
||||
*
|
||||
* last modified by ejakubowski
|
||||
*/
|
||||
|
||||
package org.synthuse;
|
||||
|
||||
import javax.swing.JMenuItem;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPopupMenu;
|
||||
import javax.swing.JMenu;
|
||||
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.ActionEvent;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class CommandPopupMenu extends JPopupMenu {
|
||||
|
||||
public static interface menuEvents {
|
||||
void menuItemClicked(String command, int paramCount, boolean useXpath, ActionEvent e);
|
||||
}
|
||||
public menuEvents events = new menuEvents() {
|
||||
public void menuItemClicked(String command, int paramCount, boolean useXpath, ActionEvent e) {
|
||||
JOptionPane.showMessageDialog(null, command);
|
||||
}
|
||||
};
|
||||
|
||||
public CommandPopupMenu() {
|
||||
|
||||
JMenu mnKeyboard = new JMenu("Keyboard");
|
||||
add(mnKeyboard);
|
||||
|
||||
CommandMenuItem mntmSendkeys = new CommandMenuItem("sendKeys", 2, false);
|
||||
mnKeyboard.add(mntmSendkeys);
|
||||
|
||||
CommandMenuItem mntmKeydown = new CommandMenuItem("keyDown", 2, false);
|
||||
mnKeyboard.add(mntmKeydown);
|
||||
|
||||
CommandMenuItem mntmKeyup = new CommandMenuItem("keyUp", 2, false);
|
||||
mnKeyboard.add(mntmKeyup);
|
||||
|
||||
CommandMenuItem mntmKeycopy = new CommandMenuItem("keyCopy", 1);
|
||||
mnKeyboard.add(mntmKeycopy);
|
||||
|
||||
CommandMenuItem mntmKeypaste = new CommandMenuItem("keyPaste", 1);
|
||||
mnKeyboard.add(mntmKeypaste);
|
||||
|
||||
CommandMenuItem mntmKeyEsc = new CommandMenuItem("keyEscape", 1);
|
||||
mnKeyboard.add(mntmKeyEsc);
|
||||
|
||||
CommandMenuItem mntmKeyFunc = new CommandMenuItem("keyFunctionX", 2, false);
|
||||
mnKeyboard.add(mntmKeyFunc);
|
||||
|
||||
JMenu mnMouse = new JMenu("Mouse");
|
||||
add(mnMouse);
|
||||
|
||||
CommandMenuItem mntmClick = new CommandMenuItem("click", 1, false);
|
||||
mnMouse.add(mntmClick);
|
||||
|
||||
CommandMenuItem mntmDoubleclick = new CommandMenuItem("doubleClick", 1, false);
|
||||
mnMouse.add(mntmDoubleclick);
|
||||
|
||||
CommandMenuItem mntmRightclick = new CommandMenuItem("rightClick", 1, false);
|
||||
mnMouse.add(mntmRightclick);
|
||||
|
||||
CommandMenuItem mntmwinClick = new CommandMenuItem("winClick", 2);
|
||||
mnMouse.add(mntmwinClick);
|
||||
|
||||
CommandMenuItem mntmwinDoubleClick = new CommandMenuItem("winDoubleClick", 2);
|
||||
mnMouse.add(mntmwinDoubleClick);
|
||||
|
||||
CommandMenuItem mntmwinRightClick = new CommandMenuItem("winRightClick", 2);
|
||||
mnMouse.add(mntmwinRightClick);
|
||||
|
||||
CommandMenuItem mntmDraganddrop = new CommandMenuItem("dragAndDrop", 3);
|
||||
mnMouse.add(mntmDraganddrop);
|
||||
|
||||
CommandMenuItem mntmMousedown = new CommandMenuItem("mouseDown", 1, false);
|
||||
mnMouse.add(mntmMousedown);
|
||||
|
||||
CommandMenuItem mntmMouseup = new CommandMenuItem("mouseUp", 1, false);
|
||||
mnMouse.add(mntmMouseup);
|
||||
|
||||
CommandMenuItem mntmMousedownright = new CommandMenuItem("mouseDownRight", 1, false);
|
||||
mnMouse.add(mntmMousedownright);
|
||||
|
||||
CommandMenuItem mntmMouseupright = new CommandMenuItem("mouseUpRight", 1, false);
|
||||
mnMouse.add(mntmMouseupright);
|
||||
|
||||
CommandMenuItem mntmMousemove = new CommandMenuItem("mouseMove", 3, false);
|
||||
mnMouse.add(mntmMousemove);
|
||||
|
||||
JMenu mnWinMessages = new JMenu("Win Messages");
|
||||
add(mnWinMessages);
|
||||
|
||||
CommandMenuItem mntmWindowfocus = new CommandMenuItem("windowFocus", 2);
|
||||
mnWinMessages.add(mntmWindowfocus);
|
||||
|
||||
CommandMenuItem mntmWindowSwitchToThis = new CommandMenuItem("windowSwitchToThis", 2);
|
||||
mnWinMessages.add(mntmWindowSwitchToThis);
|
||||
|
||||
CommandMenuItem mntmSetcursorposition = new CommandMenuItem("setCursorPosition", 3);
|
||||
mnWinMessages.add(mntmSetcursorposition);
|
||||
|
||||
CommandMenuItem mntmWindowminimize = new CommandMenuItem("windowMinimize", 2);
|
||||
mnWinMessages.add(mntmWindowminimize);
|
||||
|
||||
CommandMenuItem mntmWindowmaximize = new CommandMenuItem("windowMaximize", 2);
|
||||
mnWinMessages.add(mntmWindowmaximize);
|
||||
|
||||
CommandMenuItem mntmWindowrestore = new CommandMenuItem("windowRestore", 2);
|
||||
mnWinMessages.add(mntmWindowrestore);
|
||||
|
||||
CommandMenuItem mntmWindowhide = new CommandMenuItem("windowHide", 2);
|
||||
mnWinMessages.add(mntmWindowhide);
|
||||
|
||||
CommandMenuItem mntmWindowshow = new CommandMenuItem("windowShow", 2);
|
||||
mnWinMessages.add(mntmWindowshow);
|
||||
|
||||
CommandMenuItem mntmWindowclose = new CommandMenuItem("windowClose", 2);
|
||||
mnWinMessages.add(mntmWindowclose);
|
||||
|
||||
CommandMenuItem mntmSetwindowtext = new CommandMenuItem("setWindowText", 3);
|
||||
mnWinMessages.add(mntmSetwindowtext);
|
||||
|
||||
CommandMenuItem mntmGetwindowtext = new CommandMenuItem("getWindowText", 2);
|
||||
mnWinMessages.add(mntmGetwindowtext);
|
||||
|
||||
CommandMenuItem mntmGetwindowclass = new CommandMenuItem("getWindowClass", 2);
|
||||
mnWinMessages.add(mntmGetwindowclass);
|
||||
|
||||
CommandMenuItem mntmPause = new CommandMenuItem("pause", 2, false);
|
||||
add(mntmPause);
|
||||
|
||||
CommandMenuItem mntmWaitfortitle = new CommandMenuItem("waitForTitle", 2, false);
|
||||
add(mntmWaitfortitle);
|
||||
|
||||
CommandMenuItem mntmWaitfortext = new CommandMenuItem("waitForText", 2, false);
|
||||
add(mntmWaitfortext);
|
||||
|
||||
CommandMenuItem mntmWaitforclass = new CommandMenuItem("waitForClass", 2, false);
|
||||
add(mntmWaitforclass);
|
||||
|
||||
CommandMenuItem mntmWaitforvisible = new CommandMenuItem("waitForVisible", 2);
|
||||
add(mntmWaitforvisible);
|
||||
|
||||
CommandMenuItem mntmSettimeout = new CommandMenuItem("setTimeout", 2, false);
|
||||
add(mntmSettimeout);
|
||||
|
||||
CommandMenuItem mntmSetspeed = new CommandMenuItem("setSpeed", 2, false);
|
||||
add(mntmSetspeed);
|
||||
}
|
||||
|
||||
class CommandMenuItem extends JMenuItem {
|
||||
public String commandText = "";
|
||||
public int paramCount = 2;
|
||||
public boolean useXpath = true;
|
||||
|
||||
public CommandMenuItem(String arg0, int paramCount) {
|
||||
super(arg0);
|
||||
init(arg0, paramCount, true);
|
||||
}
|
||||
|
||||
public CommandMenuItem(String arg0, int paramCount, boolean useXpath) {
|
||||
super(arg0);
|
||||
init(arg0, paramCount, useXpath);
|
||||
}
|
||||
|
||||
public void init(String arg0, int paramCount, boolean useXpath) {
|
||||
this.commandText = arg0;
|
||||
this.paramCount = paramCount;
|
||||
this.useXpath = useXpath;
|
||||
this.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
events.menuItemClicked(commandText, CommandMenuItem.this.paramCount, CommandMenuItem.this.useXpath, e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public static String buildSkeletonCommand(String command, int paramCount, String xpathStr, boolean useXpath) {
|
||||
String xpathItem = xpathStr;
|
||||
if (!useXpath)
|
||||
xpathItem = "";
|
||||
String actionStr = "| do | " + command + " | ";
|
||||
if (paramCount > 1)
|
||||
actionStr += "on | " + xpathItem + " | ";
|
||||
if (paramCount > 2)
|
||||
actionStr += "with | |";
|
||||
return actionStr;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user