From b97109c3ec6c35c74e82c4c62a165b4f2a57720f Mon Sep 17 00:00:00 2001 From: Alex Kogon Date: Fri, 11 Sep 2015 14:41:36 +0200 Subject: [PATCH] add switch to turn strong text matching on and off --- src/org/synthuse/Config.java | 11 +++++++++++ src/org/synthuse/SynthuseDlg.java | 22 ++++++++++++++++++---- src/org/synthuse/XpathManager.java | 3 +-- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/src/org/synthuse/Config.java b/src/org/synthuse/Config.java index a003d20..68c0553 100644 --- a/src/org/synthuse/Config.java +++ b/src/org/synthuse/Config.java @@ -20,6 +20,9 @@ public class Config extends PropertiesSerializer { public String xpathList = ""; public String xpathHightlight = ".*process=\"([^\"]*)\".*"; + private boolean useStrongTextMatching = false; + + public Config() //needed for cloning { } @@ -74,4 +77,12 @@ public class Config extends PropertiesSerializer { keyStr = this.targetKey; return RobotMacro.getKeyCode(keyStr.charAt(0))[0]; } + + public boolean isUseStrongTextMatching() { + return useStrongTextMatching; + } + + public void setUseStrongTextMatching(boolean useStrongTextMatching) { + this.useStrongTextMatching = useStrongTextMatching; + } } diff --git a/src/org/synthuse/SynthuseDlg.java b/src/org/synthuse/SynthuseDlg.java index 48b0398..7a8a7c5 100644 --- a/src/org/synthuse/SynthuseDlg.java +++ b/src/org/synthuse/SynthuseDlg.java @@ -283,7 +283,7 @@ public class SynthuseDlg extends JFrame { GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.HORIZONTAL; c.weightx = 0.5; - c.gridwidth = 1; + c.gridwidth = 2; c.gridx = 0; c.gridy = 0; c.insets = new Insets(3,3,3,3); // add padding around objects @@ -291,9 +291,23 @@ public class SynthuseDlg extends JFrame { final DragTarget lblTarget = new DragTarget(); lblTarget.setHorizontalAlignment(SwingConstants.CENTER); - lblTarget.setIcon(new ImageIcon(SynthuseDlg.class.getResource(RES_STR_TARGET_IMG))); + final ImageIcon imageIcon = new ImageIcon(SynthuseDlg.class.getResource(RES_STR_TARGET_IMG)); + lblTarget.setMinimumSize(new Dimension(imageIcon.getIconWidth(), imageIcon.getIconHeight())); + lblTarget.setIcon(imageIcon); panel.add(lblTarget, c); + final JButton btnConfig = new JButton("Cfg"); + + btnConfig.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + SynthuseDlg.config.setUseStrongTextMatching(!SynthuseDlg.config.isUseStrongTextMatching()); + } + }); + c.gridx = 2; + c.gridwidth = 1; + panel.add(btnConfig, c); + btnFind = new JButton("Find"); btnFind.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { @@ -323,8 +337,8 @@ public class SynthuseDlg extends JFrame { } } }); - c.gridwidth = 3; - c.gridx = 1; + c.gridwidth = 1; + c.gridx = 3; panel.add(cmbXpath, c); btnFind.setIcon(new ImageIcon(SynthuseDlg.class.getResource(RES_STR_FIND_IMG))); c.gridwidth = 1; diff --git a/src/org/synthuse/XpathManager.java b/src/org/synthuse/XpathManager.java index 737be8d..76c73e9 100644 --- a/src/org/synthuse/XpathManager.java +++ b/src/org/synthuse/XpathManager.java @@ -52,8 +52,7 @@ public class XpathManager implements Runnable{ @Override public void run() { - //@TODO (AJK) create separate action to use text mathing - String results = buildXpathStatement(true,50,50); + String results = SynthuseDlg.config.isUseStrongTextMatching()?buildXpathStatement(true,50,50):buildXpathStatement(); events.executionCompleted(hwnd, results); }