diff --git a/build.xml b/build.xml index 154b8ee..94e82ae 100644 --- a/build.xml +++ b/build.xml @@ -21,6 +21,9 @@ basedir: ${basedir} VM: ${java.vm.name} + VM Version: ${java.vm.specification.version} + VM Vendor: ${java.vm.vendor} + VM Build: ${java.vm.version} Username: ${user.name} diff --git a/src/org/synthuse/Config.java b/src/org/synthuse/Config.java index a003d20..953582e 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=\"([^\"]*)\".*"; + public boolean useStrongTextMatching = false; + + public Config() //needed for cloning { } @@ -37,6 +40,12 @@ public boolean isUiaBridgeDisabled() return disableUiaBridge.equals("true") || disableUiaBridge.equals("True"); } + + public void setDisableUiaBridge(boolean aNewValue) { + disableUiaBridge=aNewValue?"true":"false"; + } + + public boolean isFilterUiaDisabled() { if (disableFiltersUia == null) @@ -44,6 +53,11 @@ public boolean isFilterUiaDisabled() return disableFiltersUia.equals("true") || disableFiltersUia.equals("True"); } + public void setDisableFiltersUia(boolean aNewValue) { + disableFiltersUia=aNewValue?"true":"false"; + } + + public boolean isAlwaysOnTop() { if (alwaysOnTop == null) @@ -51,6 +65,11 @@ public boolean isAlwaysOnTop() return alwaysOnTop.equals("true") || alwaysOnTop.equals("True"); } + public void setAlwaysOnTop(boolean aNewValue) + { + alwaysOnTop=aNewValue?"true":"false"; + } + public int getRefreshKeyCode() { String keyStr = ""; @@ -62,6 +81,10 @@ else if (this.refreshKey.isEmpty()) keyStr = this.refreshKey; return RobotMacro.getKeyCode(keyStr.charAt(0))[0]; } + + public void setRefreshKeyCode(String aText) { + this.refreshKey=aText; + } public int getTargetKeyCode() { @@ -74,4 +97,32 @@ else if (this.targetKey.isEmpty()) keyStr = this.targetKey; return RobotMacro.getKeyCode(keyStr.charAt(0))[0]; } + + public void setTargetKeyCode(String aText) { + this.targetKey=aText; + } + + public boolean isUseStrongTextMatching() { + return useStrongTextMatching; + } + + public void setUseStrongTextMatching(boolean useStrongTextMatching) { + this.useStrongTextMatching = useStrongTextMatching; + } + + public String getXpathList() { + return xpathList; + } + + public void setXPathList(String aText) { + xpathList=aText; + } + + public String getXpathHighlight() { + return xpathHightlight; + } + + public void setXPathHighlight(String aText) { + xpathHightlight=aText; + } } diff --git a/src/org/synthuse/SynthuseConfigDialog.java b/src/org/synthuse/SynthuseConfigDialog.java new file mode 100755 index 0000000..3c4fa25 --- /dev/null +++ b/src/org/synthuse/SynthuseConfigDialog.java @@ -0,0 +1,45 @@ +package org.synthuse; + +import javax.swing.JDialog; +import javax.swing.JFrame; +import javax.swing.SwingUtilities; + +import org.synthuse.controllers.SynthuseConfigDialogControllers; +import org.synthuse.views.SynthuseConfigPanel; + +public class SynthuseConfigDialog extends JDialog { + + /** + * + */ + private static final long serialVersionUID = -4877764256323621418L; + + private Config theConfig; //Model + private final SynthuseConfigPanel theSynthuseConfigPanel; //View + + public SynthuseConfigDialog(JFrame aParentFrame, Config aConfig) { + super(aParentFrame); + + this.setConfig(aConfig); + + this.setTitle("Synthuse Properties"); + + theSynthuseConfigPanel = new SynthuseConfigPanel(); + + SynthuseConfigDialogControllers.bindActionControllers(theSynthuseConfigPanel,theConfig); + + this.getContentPane().add(theSynthuseConfigPanel); + this.setSize(492, 260); + + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + SynthuseConfigDialogControllers.initializeUI(theSynthuseConfigPanel,theConfig); + } + }); + } + + synchronized private void setConfig(Config aConfig) { + theConfig = aConfig; + } +} diff --git a/src/org/synthuse/SynthuseDlg.java b/src/org/synthuse/SynthuseDlg.java index 48b0398..3e66437 100644 --- a/src/org/synthuse/SynthuseDlg.java +++ b/src/org/synthuse/SynthuseDlg.java @@ -43,6 +43,7 @@ import org.synthuse.Api.User32Ex; import org.synthuse.DragTarget.dragEvents; +import org.synthuse.views.SynthuseConfigPanel; @@ -85,6 +86,7 @@ public class SynthuseDlg extends JFrame { private JButton btnAdvanced; private TestIdeFrame testIde = null; + protected SynthuseConfigDialog configDialog=null; //private MessageHookFrame msgHook = null; private int targetX; private int targetY; @@ -283,7 +285,7 @@ public void actionPerformed(ActionEvent arg0) { 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 +293,27 @@ public void actionPerformed(ActionEvent arg0) { 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) { + if(configDialog==null) { + createConfigDialog(); + } + configDialog.setVisible(true); + } + + }); + 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 +343,8 @@ public void keyReleased(KeyEvent event) { } } }); - 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; @@ -562,4 +582,9 @@ public void disposeWindow() WindowEvent closingEvent = new WindowEvent(this, WindowEvent.WINDOW_CLOSING); Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(closingEvent); } + + private void createConfigDialog() { + configDialog=new SynthuseConfigDialog(this, config); + configDialog.setLocationRelativeTo(null); + } } diff --git a/src/org/synthuse/XpathManager.java b/src/org/synthuse/XpathManager.java index c432b4f..76c73e9 100644 --- a/src/org/synthuse/XpathManager.java +++ b/src/org/synthuse/XpathManager.java @@ -52,7 +52,7 @@ public XpathManager(HWND hwnd, String enumProperties, JTextPane windowsXmlTextPa @Override public void run() { - String results = buildXpathStatement(); + String results = SynthuseDlg.config.isUseStrongTextMatching()?buildXpathStatement(true,50,50):buildXpathStatement(); events.executionCompleted(hwnd, results); } @@ -143,7 +143,23 @@ public String buildXpathStatement(boolean useFullTextMatching, int maxParentText parentTxtStr = " and @text='" + parentTxtStr + "'"; } if (!parentClassStr.isEmpty()) - builtXpath = "//win[@class='" + parentClassStr + "'" + parentTxtStr + "]/win[@class='" + classStr + "']"; + { + if (!txtStr.isEmpty()&&useFullTextMatching) { + String copyOfTxtStr = txtStr; + if (copyOfTxtStr.length() > maxTextLength) {// if the text is too long only test the first maxTextLength characters + copyOfTxtStr = WindowsEnumeratedXml.escapeXmlAttributeValue(copyOfTxtStr.substring(0, maxTextLength)); + copyOfTxtStr = " and starts-with(@text,'" + copyOfTxtStr + "')"; + } + else + copyOfTxtStr = " and @text='" + copyOfTxtStr + "'"; + builtXpath = "//win[@class='" + parentClassStr + "'" + parentTxtStr + "]/win[@class='" + classStr + "'" + copyOfTxtStr + "]"; + } + else + { + builtXpath = "//win[@class='" + parentClassStr + "'" + parentTxtStr + "]/win[@class='" + classStr + "']"; + } + } + System.out.println(builtXpath); resultList = WindowsEnumeratedXml.evaluateXpathGetValues(xml, builtXpath); if (resultList.size() > 1) { // if there are still multiple results add position to the xpath int position = 1; diff --git a/src/org/synthuse/controllers/SynthuseConfigDialogControllers.java b/src/org/synthuse/controllers/SynthuseConfigDialogControllers.java new file mode 100755 index 0000000..da619b3 --- /dev/null +++ b/src/org/synthuse/controllers/SynthuseConfigDialogControllers.java @@ -0,0 +1,121 @@ +package org.synthuse.controllers; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JOptionPane; + +import org.synthuse.Config; +import org.synthuse.views.SynthuseConfigPanel; + +public class SynthuseConfigDialogControllers { + + public static void initializeUI(SynthuseConfigPanel aSynthuseConfigPanel, Config aConfig) { + aSynthuseConfigPanel.getAlwaysOnTopCheckBox().setSelected(aConfig.isAlwaysOnTop()); + aSynthuseConfigPanel.getDisableFiltersUiaCheckBox().setSelected(aConfig.isFilterUiaDisabled()); + aSynthuseConfigPanel.getDisableUiaBridgeCheckBox().setSelected(aConfig.isUiaBridgeDisabled()); + aSynthuseConfigPanel.getRefreshKeyTextField().setText(Integer.toString(aConfig.getRefreshKeyCode())); + aSynthuseConfigPanel.getStrongTextMatchingCheckBox().setSelected(aConfig.isUseStrongTextMatching()); + aSynthuseConfigPanel.getTargetKeyTextField().setText(Integer.toString(aConfig.getTargetKeyCode())); + aSynthuseConfigPanel.getXPathHighlightTextField().setText(aConfig.getXpathHighlight()); + aSynthuseConfigPanel.getXPathListTextField().setText(aConfig.getXpathList()); + } + + public static void bindActionControllers(final SynthuseConfigPanel aSynthuseConfigPanel, final Config aConfig) { + aSynthuseConfigPanel.getAlwaysOnTopCheckBox().addActionListener(alwaysOnTopCheckboxActionHandler(aSynthuseConfigPanel, aConfig)); + aSynthuseConfigPanel.getDisableFiltersUiaCheckBox().addActionListener(disableFiltersUiaCheckboxActionHandler(aSynthuseConfigPanel, aConfig)); + aSynthuseConfigPanel.getDisableUiaBridgeCheckBox().addActionListener(disableUiaBridgeCheckboxActionHandler(aSynthuseConfigPanel, aConfig)); + aSynthuseConfigPanel.getRefreshKeyTextField().addActionListener(refreshKeyCodeTextFieldActionHandler(aSynthuseConfigPanel, aConfig)); + aSynthuseConfigPanel.getStrongTextMatchingCheckBox().addActionListener(strongTextMatchingCheckboxActionHandler(aSynthuseConfigPanel, aConfig)); + aSynthuseConfigPanel.getTargetKeyTextField().addActionListener(targetKeyCodeTextFieldActionHandler(aSynthuseConfigPanel, aConfig)); + aSynthuseConfigPanel.getXPathHighlightTextField().addActionListener(xpathHighlightTextFieldActionHandler(aSynthuseConfigPanel, aConfig)); + aSynthuseConfigPanel.getXPathListTextField().addActionListener(xpathListTextFieldActionHandler(aSynthuseConfigPanel, aConfig)); + } + + private static ActionListener xpathListTextFieldActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel, + final Config aConfig) { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent aE) { + aConfig.setXPathList(aSynthuseConfigPanel.getXPathListTextField().getText()); + JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective"); + } + }; + } + + private static ActionListener xpathHighlightTextFieldActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel, + final Config aConfig) { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent aE) { + aConfig.setXPathHighlight(aSynthuseConfigPanel.getXPathHighlightTextField().getText()); + JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective"); + } + }; + } + + private static ActionListener targetKeyCodeTextFieldActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel, + final Config aConfig) { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent aE) { + aConfig.setTargetKeyCode(aSynthuseConfigPanel.getTargetKeyTextField().getText()); + JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective"); + } + }; + } + + private static ActionListener strongTextMatchingCheckboxActionHandler( + final SynthuseConfigPanel aSynthuseConfigPanel, final Config aConfig) { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent aE) { + aConfig.setUseStrongTextMatching(aSynthuseConfigPanel.getStrongTextMatchingCheckBox().isSelected()); + } + }; + } + + private static ActionListener refreshKeyCodeTextFieldActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel, + final Config aConfig) { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent aE) { + aConfig.setRefreshKeyCode(aSynthuseConfigPanel.getRefreshKeyTextField().getText()); + JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective"); + } + }; + } + + private static ActionListener disableUiaBridgeCheckboxActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel, + final Config aConfig) { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent aE) { + aConfig.setDisableUiaBridge(aSynthuseConfigPanel.getDisableUiaBridgeCheckBox().isSelected()); + JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective"); + } + }; + } + + private static ActionListener disableFiltersUiaCheckboxActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel, + final Config aConfig) { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent aE) { + aConfig.setDisableFiltersUia(aSynthuseConfigPanel.getDisableFiltersUiaCheckBox().isSelected()); + JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective"); + } + }; + } + + private static ActionListener alwaysOnTopCheckboxActionHandler(final SynthuseConfigPanel aSynthuseConfigPanel, + final Config aConfig) { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent aE) { + aConfig.setAlwaysOnTop(aSynthuseConfigPanel.getAlwaysOnTopCheckBox().isSelected()); + JOptionPane.showMessageDialog(aSynthuseConfigPanel, "May require restart to be effective"); + } + }; + } +} diff --git a/src/org/synthuse/views/SynthuseConfigPanel.java b/src/org/synthuse/views/SynthuseConfigPanel.java new file mode 100755 index 0000000..1092368 --- /dev/null +++ b/src/org/synthuse/views/SynthuseConfigPanel.java @@ -0,0 +1,225 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.synthuse.views; + +import javax.swing.JCheckBox; +import javax.swing.JTextField; + +/** + * + * @author ux29sy + */ +public class SynthuseConfigPanel extends javax.swing.JPanel { + + /** + * Creates new form SynthuseConfigPanel + */ + public SynthuseConfigPanel() { + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents + private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; + + theStrongTextMatchingCheckBox = new javax.swing.JCheckBox(); + theAlwaysOnTopCheckBox = new javax.swing.JCheckBox(); + theDisableUiaBridgeCheckBox = new javax.swing.JCheckBox(); + theDisableFiltersUiaCheckBox = new javax.swing.JCheckBox(); + jLabel1 = new javax.swing.JLabel(); + jLabel2 = new javax.swing.JLabel(); + jLabel3 = new javax.swing.JLabel(); + jLabel4 = new javax.swing.JLabel(); + filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 20), new java.awt.Dimension(0, 20), new java.awt.Dimension(0, 32767)); + filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(90, 0), new java.awt.Dimension(90, 0), new java.awt.Dimension(32767, 0)); + theRefreshKeyTextField = new javax.swing.JTextField(); + theTargetKeyTextField = new javax.swing.JTextField(); + theXPathListTextField = new javax.swing.JTextField(); + theXPathHighlightTextField = new javax.swing.JTextField(); + filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(50, 0), new java.awt.Dimension(50, 0), new java.awt.Dimension(50, 32767)); + + setLayout(new java.awt.GridBagLayout()); + + theStrongTextMatchingCheckBox.setText("Use Strong Text Matching"); + theStrongTextMatchingCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); + add(theStrongTextMatchingCheckBox, gridBagConstraints); + + theAlwaysOnTopCheckBox.setText("Always On Top"); + theAlwaysOnTopCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 1; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); + add(theAlwaysOnTopCheckBox, gridBagConstraints); + + theDisableUiaBridgeCheckBox.setText("Disable Uia Bridge"); + theDisableUiaBridgeCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); + add(theDisableUiaBridgeCheckBox, gridBagConstraints); + + theDisableFiltersUiaCheckBox.setText("Disable Filters Uia"); + theDisableFiltersUiaCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 3; + gridBagConstraints.gridwidth = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); + add(theDisableFiltersUiaCheckBox, gridBagConstraints); + + jLabel1.setText("Refresh Key:"); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridheight = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); + add(jLabel1, gridBagConstraints); + + jLabel2.setText("Target Key:"); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 4; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridheight = 2; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); + add(jLabel2, gridBagConstraints); + + jLabel3.setText("XPath List:"); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 5; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); + add(jLabel3, gridBagConstraints); + + jLabel4.setText("XPath Highlight:"); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 6; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); + add(jLabel4, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 4; + add(filler1, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 2; + gridBagConstraints.gridy = 0; + add(filler2, gridBagConstraints); + + theRefreshKeyTextField.setText("XXXX"); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 5; + gridBagConstraints.gridy = 0; + gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; + gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + add(theRefreshKeyTextField, gridBagConstraints); + + theTargetKeyTextField.setText("XXXX"); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 5; + gridBagConstraints.gridy = 2; + gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; + gridBagConstraints.gridheight = 2; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + add(theTargetKeyTextField, gridBagConstraints); + + theXPathListTextField.setText("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 5; + gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); + add(theXPathListTextField, gridBagConstraints); + + theXPathHighlightTextField.setText("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 6; + gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; + gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; + gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); + add(theXPathHighlightTextField, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 5; + gridBagConstraints.gridy = 4; + add(filler3, gridBagConstraints); + }// //GEN-END:initComponents + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.Box.Filler filler1; + private javax.swing.Box.Filler filler2; + private javax.swing.Box.Filler filler3; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel4; + private javax.swing.JCheckBox theAlwaysOnTopCheckBox; + private javax.swing.JCheckBox theDisableFiltersUiaCheckBox; + private javax.swing.JCheckBox theDisableUiaBridgeCheckBox; + private javax.swing.JTextField theRefreshKeyTextField; + private javax.swing.JCheckBox theStrongTextMatchingCheckBox; + private javax.swing.JTextField theTargetKeyTextField; + private javax.swing.JTextField theXPathHighlightTextField; + private javax.swing.JTextField theXPathListTextField; + // End of variables declaration//GEN-END:variables + + public JCheckBox getAlwaysOnTopCheckBox() { + return theAlwaysOnTopCheckBox; + } + + public JCheckBox getDisableFiltersUiaCheckBox() { + return theDisableFiltersUiaCheckBox; + } + + public JCheckBox getDisableUiaBridgeCheckBox() { + return theDisableUiaBridgeCheckBox; + } + + public JTextField getRefreshKeyTextField() { + return theRefreshKeyTextField; + } + + public JCheckBox getStrongTextMatchingCheckBox() { + return theStrongTextMatchingCheckBox; + } + + public JTextField getTargetKeyTextField() { + return theTargetKeyTextField; + } + + public JTextField getXPathHighlightTextField() { + return theXPathHighlightTextField; + } + + public JTextField getXPathListTextField() { + return theXPathListTextField; + } +}