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) {
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.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;
@@ -301,8 +303,12 @@ public class SynthuseDlg extends JFrame {
btnConfig.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
SynthuseDlg.config.setUseStrongTextMatching(!SynthuseDlg.config.isUseStrongTextMatching());
if(configDialog==null) {
createConfigDialog();
}
configDialog.setVisible(true);
}
});
c.gridx = 2;
c.gridwidth = 1;
@@ -576,4 +582,9 @@ public class SynthuseDlg extends JFrame {
WindowEvent closingEvent = new WindowEvent(this, WindowEvent.WINDOW_CLOSING);
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(closingEvent);
}
private void createConfigDialog() {
configDialog=new SynthuseConfigDialog(this, config);
configDialog.setLocationRelativeTo(null);
}
}

View File

@@ -27,7 +27,7 @@ public class SynthuseConfigPanel extends javax.swing.JPanel {
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
java.awt.GridBagConstraints gridBagConstraints;
@@ -165,10 +165,10 @@ public class SynthuseConfigPanel extends javax.swing.JPanel {
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6);
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 filler2;
private javax.swing.JLabel jLabel1;
@@ -183,37 +183,37 @@ public class SynthuseConfigPanel extends javax.swing.JPanel {
private javax.swing.JTextField theTargetKeyTextField;
private javax.swing.JTextField theXPathHighlightTextField;
private javax.swing.JTextField theXPathListTextField;
// End of variables declaration//GEN-END:variables
// End of variables declaration
public JCheckBox getTheAlwaysOnTopCheckBox() {
public JCheckBox getAlwaysOnTopCheckBox() {
return theAlwaysOnTopCheckBox;
}
public JCheckBox getTheDisableFiltersUiaCheckBox() {
public JCheckBox getDisableFiltersUiaCheckBox() {
return theDisableFiltersUiaCheckBox;
}
public JCheckBox getTheDisableUiaBridgeCheckBox() {
public JCheckBox getDisableUiaBridgeCheckBox() {
return theDisableUiaBridgeCheckBox;
}
public JTextField getTheRefreshKeyTextField() {
public JTextField getRefreshKeyTextField() {
return theRefreshKeyTextField;
}
public JCheckBox getTheStrongTextMatchingCheckBox() {
public JCheckBox getStrongTextMatchingCheckBox() {
return theStrongTextMatchingCheckBox;
}
public JTextField getTheTargetKeyTextField() {
public JTextField getTargetKeyTextField() {
return theTargetKeyTextField;
}
public JTextField getTheXPathHighlightTextField() {
public JTextField getXPathHighlightTextField() {
return theXPathHighlightTextField;
}
public JTextField getTheXPathListTextField() {
public JTextField getXPathListTextField() {
return theXPathListTextField;
}
}