creating dialog box to set synthuse properties

This commit is contained in:
Alex Kogon
2015-09-14 11:08:38 +02:00
parent 4113d863bd
commit 88683c835a
4 changed files with 288 additions and 220 deletions

View File

@@ -85,4 +85,12 @@ public class Config extends PropertiesSerializer {
public void setUseStrongTextMatching(boolean useStrongTextMatching) { public void setUseStrongTextMatching(boolean useStrongTextMatching) {
this.useStrongTextMatching = useStrongTextMatching; this.useStrongTextMatching = useStrongTextMatching;
} }
public String getXpathList() {
return xpathList;
}
public String getXpathHighlight() {
return xpathHightlight;
}
} }

View File

@@ -0,0 +1,49 @@
package org.synthuse;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
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.setTitle("Synthuse Properties");
theSynthuseConfigPanel = new SynthuseConfigPanel();
this.setConfig(aConfig);
this.getContentPane().add(theSynthuseConfigPanel);
this.setSize(492, 260);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
SynthuseConfigDialog.this.initializeUI();
}
});
}
synchronized private void initializeUI() {
theSynthuseConfigPanel.getAlwaysOnTopCheckBox().setSelected(theConfig.isAlwaysOnTop());
theSynthuseConfigPanel.getDisableFiltersUiaCheckBox().setSelected(theConfig.isFilterUiaDisabled());
theSynthuseConfigPanel.getDisableUiaBridgeCheckBox().setSelected(theConfig.isUiaBridgeDisabled());
theSynthuseConfigPanel.getRefreshKeyTextField().setText(Integer.toString(theConfig.getRefreshKeyCode()));
theSynthuseConfigPanel.getStrongTextMatchingCheckBox().setSelected(theConfig.isUseStrongTextMatching());
theSynthuseConfigPanel.getTargetKeyTextField().setText(Integer.toString(theConfig.getTargetKeyCode()));
theSynthuseConfigPanel.getXPathHighlightTextField().setText(theConfig.getXpathHighlight());
theSynthuseConfigPanel.getXPathListTextField().setText(theConfig.getXpathList());
}
synchronized private void setConfig(Config aConfig) {
theConfig = aConfig;
}
}

View File

@@ -43,6 +43,7 @@ import java.util.List;
import org.synthuse.Api.User32Ex; import org.synthuse.Api.User32Ex;
import org.synthuse.DragTarget.dragEvents; import org.synthuse.DragTarget.dragEvents;
import org.synthuse.views.SynthuseConfigPanel;
@@ -85,6 +86,7 @@ public class SynthuseDlg extends JFrame {
private JButton btnAdvanced; private JButton btnAdvanced;
private TestIdeFrame testIde = null; private TestIdeFrame testIde = null;
protected SynthuseConfigDialog configDialog=null;
//private MessageHookFrame msgHook = null; //private MessageHookFrame msgHook = null;
private int targetX; private int targetX;
private int targetY; private int targetY;
@@ -301,8 +303,12 @@ public class SynthuseDlg extends JFrame {
btnConfig.addActionListener(new ActionListener() { btnConfig.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
SynthuseDlg.config.setUseStrongTextMatching(!SynthuseDlg.config.isUseStrongTextMatching()); if(configDialog==null) {
createConfigDialog();
}
configDialog.setVisible(true);
} }
}); });
c.gridx = 2; c.gridx = 2;
c.gridwidth = 1; c.gridwidth = 1;
@@ -576,4 +582,9 @@ public class SynthuseDlg extends JFrame {
WindowEvent closingEvent = new WindowEvent(this, WindowEvent.WINDOW_CLOSING); WindowEvent closingEvent = new WindowEvent(this, WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(closingEvent); Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(closingEvent);
} }
private void createConfigDialog() {
configDialog=new SynthuseConfigDialog(this, config);
configDialog.setLocationRelativeTo(null);
}
} }

View File

@@ -1,219 +1,219 @@
/* /*
* To change this license header, choose License Headers in Project Properties. * To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates * To change this template file, choose Tools | Templates
* and open the template in the editor. * and open the template in the editor.
*/ */
package org.synthuse.views; package org.synthuse.views;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import javax.swing.JTextField; import javax.swing.JTextField;
/** /**
* *
* @author ux29sy * @author ux29sy
*/ */
public class SynthuseConfigPanel extends javax.swing.JPanel { public class SynthuseConfigPanel extends javax.swing.JPanel {
/** /**
* Creates new form SynthuseConfigPanel * Creates new form SynthuseConfigPanel
*/ */
public SynthuseConfigPanel() { public SynthuseConfigPanel() {
initComponents(); initComponents();
} }
/** /**
* This method is called from within the constructor to initialize the form. * 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 * WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor. * regenerated by the Form Editor.
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents // <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() { private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints; java.awt.GridBagConstraints gridBagConstraints;
theStrongTextMatchingCheckBox = new javax.swing.JCheckBox(); theStrongTextMatchingCheckBox = new javax.swing.JCheckBox();
theAlwaysOnTopCheckBox = new javax.swing.JCheckBox(); theAlwaysOnTopCheckBox = new javax.swing.JCheckBox();
theDisableUiaBridgeCheckBox = new javax.swing.JCheckBox(); theDisableUiaBridgeCheckBox = new javax.swing.JCheckBox();
theDisableFiltersUiaCheckBox = new javax.swing.JCheckBox(); theDisableFiltersUiaCheckBox = new javax.swing.JCheckBox();
jLabel1 = new javax.swing.JLabel(); jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel();
jLabel4 = 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)); 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)); 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(); theRefreshKeyTextField = new javax.swing.JTextField();
theTargetKeyTextField = new javax.swing.JTextField(); theTargetKeyTextField = new javax.swing.JTextField();
theXPathListTextField = new javax.swing.JTextField(); theXPathListTextField = new javax.swing.JTextField();
theXPathHighlightTextField = new javax.swing.JTextField(); theXPathHighlightTextField = new javax.swing.JTextField();
setLayout(new java.awt.GridBagLayout()); setLayout(new java.awt.GridBagLayout());
theStrongTextMatchingCheckBox.setText("Use Strong Text Matching"); theStrongTextMatchingCheckBox.setText("Use Strong Text Matching");
theStrongTextMatchingCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); theStrongTextMatchingCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0; gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 0; gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = 2; gridBagConstraints.gridwidth = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
add(theStrongTextMatchingCheckBox, gridBagConstraints); add(theStrongTextMatchingCheckBox, gridBagConstraints);
theAlwaysOnTopCheckBox.setText("Always On Top"); theAlwaysOnTopCheckBox.setText("Always On Top");
theAlwaysOnTopCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); theAlwaysOnTopCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0; gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 1; gridBagConstraints.gridy = 1;
gridBagConstraints.gridwidth = 2; gridBagConstraints.gridwidth = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
add(theAlwaysOnTopCheckBox, gridBagConstraints); add(theAlwaysOnTopCheckBox, gridBagConstraints);
theDisableUiaBridgeCheckBox.setText("Disable Uia Bridge"); theDisableUiaBridgeCheckBox.setText("Disable Uia Bridge");
theDisableUiaBridgeCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); theDisableUiaBridgeCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0; gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 2; gridBagConstraints.gridy = 2;
gridBagConstraints.gridwidth = 2; gridBagConstraints.gridwidth = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
add(theDisableUiaBridgeCheckBox, gridBagConstraints); add(theDisableUiaBridgeCheckBox, gridBagConstraints);
theDisableFiltersUiaCheckBox.setText("Disable Filters Uia"); theDisableFiltersUiaCheckBox.setText("Disable Filters Uia");
theDisableFiltersUiaCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING); theDisableFiltersUiaCheckBox.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0; gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3; gridBagConstraints.gridy = 3;
gridBagConstraints.gridwidth = 2; gridBagConstraints.gridwidth = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
add(theDisableFiltersUiaCheckBox, gridBagConstraints); add(theDisableFiltersUiaCheckBox, gridBagConstraints);
jLabel1.setText("Refresh Key:"); jLabel1.setText("Refresh Key:");
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 4; gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 0; gridBagConstraints.gridy = 0;
gridBagConstraints.gridheight = 2; gridBagConstraints.gridheight = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
add(jLabel1, gridBagConstraints); add(jLabel1, gridBagConstraints);
jLabel2.setText("Target Key:"); jLabel2.setText("Target Key:");
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 4; gridBagConstraints.gridx = 4;
gridBagConstraints.gridy = 2; gridBagConstraints.gridy = 2;
gridBagConstraints.gridheight = 2; gridBagConstraints.gridheight = 2;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3); gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
add(jLabel2, gridBagConstraints); add(jLabel2, gridBagConstraints);
jLabel3.setText("XPath List:"); jLabel3.setText("XPath List:");
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0; gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 5; gridBagConstraints.gridy = 5;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6);
add(jLabel3, gridBagConstraints); add(jLabel3, gridBagConstraints);
jLabel4.setText("XPath Highlight:"); jLabel4.setText("XPath Highlight:");
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0; gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 6; gridBagConstraints.gridy = 6;
gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6);
add(jLabel4, gridBagConstraints); add(jLabel4, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 0; gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 4; gridBagConstraints.gridy = 4;
add(filler1, gridBagConstraints); add(filler1, gridBagConstraints);
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2; gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 0; gridBagConstraints.gridy = 0;
add(filler2, gridBagConstraints); add(filler2, gridBagConstraints);
theRefreshKeyTextField.setText("XXXX"); theRefreshKeyTextField.setText("XXXX");
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 5; gridBagConstraints.gridx = 5;
gridBagConstraints.gridy = 0; gridBagConstraints.gridy = 0;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.gridheight = 2; gridBagConstraints.gridheight = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
add(theRefreshKeyTextField, gridBagConstraints); add(theRefreshKeyTextField, gridBagConstraints);
theTargetKeyTextField.setText("XXXX"); theTargetKeyTextField.setText("XXXX");
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 5; gridBagConstraints.gridx = 5;
gridBagConstraints.gridy = 2; gridBagConstraints.gridy = 2;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.gridheight = 2; gridBagConstraints.gridheight = 2;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
add(theTargetKeyTextField, gridBagConstraints); add(theTargetKeyTextField, gridBagConstraints);
theXPathListTextField.setText("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); theXPathListTextField.setText("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1; gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 5; gridBagConstraints.gridy = 5;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6);
add(theXPathListTextField, gridBagConstraints); add(theXPathListTextField, gridBagConstraints);
theXPathHighlightTextField.setText("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); theXPathHighlightTextField.setText("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 1; gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 6; gridBagConstraints.gridy = 6;
gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6);
add(theXPathHighlightTextField, gridBagConstraints); add(theXPathHighlightTextField, gridBagConstraints);
}// </editor-fold>//GEN-END:initComponents }// </editor-fold>
// Variables declaration - do not modify//GEN-BEGIN:variables // Variables declaration - do not modify
private javax.swing.Box.Filler filler1; private javax.swing.Box.Filler filler1;
private javax.swing.Box.Filler filler2; private javax.swing.Box.Filler filler2;
private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel4;
private javax.swing.JCheckBox theAlwaysOnTopCheckBox; private javax.swing.JCheckBox theAlwaysOnTopCheckBox;
private javax.swing.JCheckBox theDisableFiltersUiaCheckBox; private javax.swing.JCheckBox theDisableFiltersUiaCheckBox;
private javax.swing.JCheckBox theDisableUiaBridgeCheckBox; private javax.swing.JCheckBox theDisableUiaBridgeCheckBox;
private javax.swing.JTextField theRefreshKeyTextField; private javax.swing.JTextField theRefreshKeyTextField;
private javax.swing.JCheckBox theStrongTextMatchingCheckBox; private javax.swing.JCheckBox theStrongTextMatchingCheckBox;
private javax.swing.JTextField theTargetKeyTextField; private javax.swing.JTextField theTargetKeyTextField;
private javax.swing.JTextField theXPathHighlightTextField; private javax.swing.JTextField theXPathHighlightTextField;
private javax.swing.JTextField theXPathListTextField; private javax.swing.JTextField theXPathListTextField;
// End of variables declaration//GEN-END:variables // End of variables declaration
public JCheckBox getTheAlwaysOnTopCheckBox() { public JCheckBox getAlwaysOnTopCheckBox() {
return theAlwaysOnTopCheckBox; return theAlwaysOnTopCheckBox;
} }
public JCheckBox getTheDisableFiltersUiaCheckBox() { public JCheckBox getDisableFiltersUiaCheckBox() {
return theDisableFiltersUiaCheckBox; return theDisableFiltersUiaCheckBox;
} }
public JCheckBox getTheDisableUiaBridgeCheckBox() { public JCheckBox getDisableUiaBridgeCheckBox() {
return theDisableUiaBridgeCheckBox; return theDisableUiaBridgeCheckBox;
} }
public JTextField getTheRefreshKeyTextField() { public JTextField getRefreshKeyTextField() {
return theRefreshKeyTextField; return theRefreshKeyTextField;
} }
public JCheckBox getTheStrongTextMatchingCheckBox() { public JCheckBox getStrongTextMatchingCheckBox() {
return theStrongTextMatchingCheckBox; return theStrongTextMatchingCheckBox;
} }
public JTextField getTheTargetKeyTextField() { public JTextField getTargetKeyTextField() {
return theTargetKeyTextField; return theTargetKeyTextField;
} }
public JTextField getTheXPathHighlightTextField() { public JTextField getXPathHighlightTextField() {
return theXPathHighlightTextField; return theXPathHighlightTextField;
} }
public JTextField getTheXPathListTextField() { public JTextField getXPathListTextField() {
return theXPathListTextField; return theXPathListTextField;
} }
} }