From 43bf7b05e8ba793dc5dd4e6b2311d0cd2185f14c Mon Sep 17 00:00:00 2001 From: Marc Halperin Date: Wed, 17 Jun 2015 13:47:21 -0700 Subject: [PATCH 1/3] Fixes sizing of the filter dialog --- src/org/ohdsi/rabbitInAHat/FilterDialog.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/org/ohdsi/rabbitInAHat/FilterDialog.java b/src/org/ohdsi/rabbitInAHat/FilterDialog.java index 91e24f1c..a85d6bd0 100644 --- a/src/org/ohdsi/rabbitInAHat/FilterDialog.java +++ b/src/org/ohdsi/rabbitInAHat/FilterDialog.java @@ -1,10 +1,12 @@ package org.ohdsi.rabbitInAHat; +import java.awt.Dimension; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; + import org.ohdsi.rabbitInAHat.ResizeListener; import javax.swing.JButton; @@ -36,7 +38,7 @@ public FilterDialog(Window parentWindow){ super(parentWindow,"Filter",ModalityType.MODELESS); this.setLocation(parentWindow.getX()+parentWindow.getWidth()/2, parentWindow.getY()+100); - this.setSize(700,120); + this.setPreferredSize(new Dimension(350,120)); sourceSearchField = new JTextField(40); sourceSearchField.setName("Source"); @@ -67,22 +69,25 @@ public FilterDialog(Window parentWindow){ layout.putConstraint(SpringLayout.WEST, sourceLabel, 10, SpringLayout.WEST, mainView); layout.putConstraint(SpringLayout.NORTH, sourceLabel, 10, SpringLayout.NORTH, mainView); + layout.putConstraint(SpringLayout.EAST, sourceClearBtn, -5, SpringLayout.EAST, mainView); + layout.putConstraint(SpringLayout.NORTH, sourceClearBtn, 10, SpringLayout.NORTH, mainView); + layout.putConstraint(SpringLayout.WEST, sourceSearchField, 5, SpringLayout.EAST, sourceLabel); + layout.putConstraint(SpringLayout.EAST, sourceSearchField, -5, SpringLayout.WEST, sourceClearBtn); layout.putConstraint(SpringLayout.NORTH, sourceSearchField, 10, SpringLayout.NORTH, mainView); - layout.putConstraint(SpringLayout.WEST, sourceClearBtn, 5, SpringLayout.EAST, sourceSearchField); - layout.putConstraint(SpringLayout.NORTH, sourceClearBtn, 10, SpringLayout.NORTH, mainView); - layout.putConstraint(SpringLayout.WEST, targetLabel, 10, SpringLayout.WEST, mainView); layout.putConstraint(SpringLayout.NORTH, targetLabel, 10, SpringLayout.SOUTH, sourceLabel); + layout.putConstraint(SpringLayout.EAST, targetClearBtn, -5, SpringLayout.EAST, mainView); + layout.putConstraint(SpringLayout.NORTH, targetClearBtn, 0, SpringLayout.NORTH, targetSearchField); + layout.putConstraint(SpringLayout.WEST, targetSearchField, 0, SpringLayout.WEST, sourceSearchField); + layout.putConstraint(SpringLayout.EAST, targetSearchField, -5, SpringLayout.WEST, targetClearBtn); layout.putConstraint(SpringLayout.NORTH, targetSearchField, 0, SpringLayout.NORTH, targetLabel); - layout.putConstraint(SpringLayout.WEST, targetClearBtn, 5, SpringLayout.EAST, targetSearchField); - layout.putConstraint(SpringLayout.NORTH, targetClearBtn, 0, SpringLayout.NORTH, targetSearchField); - this.add(mainView); + this.pack(); }; public void setFilterPanel(MappingPanel aFilterPanel){ From 39abeb2f0e650e1ca6f93b18b2f43ebba515fcaa Mon Sep 17 00:00:00 2001 From: Marc Halperin Date: Wed, 17 Jun 2015 13:47:21 -0700 Subject: [PATCH 2/3] Fixes sizing of the filter dialog --- src/org/ohdsi/rabbitInAHat/FilterDialog.java | 47 +++++++++++--------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/src/org/ohdsi/rabbitInAHat/FilterDialog.java b/src/org/ohdsi/rabbitInAHat/FilterDialog.java index 91e24f1c..64fc22fb 100644 --- a/src/org/ohdsi/rabbitInAHat/FilterDialog.java +++ b/src/org/ohdsi/rabbitInAHat/FilterDialog.java @@ -1,16 +1,17 @@ package org.ohdsi.rabbitInAHat; +import java.awt.Container; import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; + import org.ohdsi.rabbitInAHat.ResizeListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; -import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SpringLayout; @@ -29,19 +30,19 @@ public class FilterDialog extends JDialog implements ActionListener, ResizeListe SpringLayout layout = new SpringLayout(); - JPanel mainView = new JPanel(layout); + Container contentPane = this.getContentPane(); public FilterDialog(Window parentWindow){ super(parentWindow,"Filter",ModalityType.MODELESS); - + this.setResizable(false); this.setLocation(parentWindow.getX()+parentWindow.getWidth()/2, parentWindow.getY()+100); - this.setSize(700,120); - - sourceSearchField = new JTextField(40); + + contentPane.setLayout(layout); + sourceSearchField = new JTextField(30); sourceSearchField.setName("Source"); - targetSearchField = new JTextField(40); + targetSearchField = new JTextField(30); targetSearchField.setName("Target"); @@ -49,40 +50,46 @@ public FilterDialog(Window parentWindow){ sourceSearchField.addKeyListener(new SearchListener() ); JLabel sourceLabel = new JLabel("Filter Source:",JLabel.TRAILING); JButton sourceClearBtn = new JButton("Clear"); - mainView.add(sourceLabel); - mainView.add(sourceSearchField); + contentPane.add(sourceLabel); + contentPane.add(sourceSearchField); sourceClearBtn.addActionListener(this); sourceClearBtn.setActionCommand("Clear Source"); - mainView.add(sourceClearBtn); + contentPane.add(sourceClearBtn); targetSearchField.addKeyListener(new SearchListener() ); JLabel targetLabel = new JLabel("Filter Target:",JLabel.TRAILING); JButton targetClearBtn = new JButton("Clear"); - mainView.add(targetLabel); - mainView.add(targetSearchField); + contentPane.add(targetLabel); + contentPane.add(targetSearchField); targetClearBtn.addActionListener(this); targetClearBtn.setActionCommand("Clear Target"); - mainView.add(targetClearBtn); + contentPane.add(targetClearBtn); - layout.putConstraint(SpringLayout.WEST, sourceLabel, 10, SpringLayout.WEST, mainView); - layout.putConstraint(SpringLayout.NORTH, sourceLabel, 10, SpringLayout.NORTH, mainView); + layout.putConstraint(SpringLayout.WEST, sourceLabel, 5, SpringLayout.WEST, contentPane); + layout.putConstraint(SpringLayout.NORTH, sourceLabel, 5, SpringLayout.NORTH, contentPane); layout.putConstraint(SpringLayout.WEST, sourceSearchField, 5, SpringLayout.EAST, sourceLabel); - layout.putConstraint(SpringLayout.NORTH, sourceSearchField, 10, SpringLayout.NORTH, mainView); + layout.putConstraint(SpringLayout.NORTH, sourceSearchField, 5, SpringLayout.NORTH, contentPane); layout.putConstraint(SpringLayout.WEST, sourceClearBtn, 5, SpringLayout.EAST, sourceSearchField); - layout.putConstraint(SpringLayout.NORTH, sourceClearBtn, 10, SpringLayout.NORTH, mainView); + layout.putConstraint(SpringLayout.NORTH, sourceClearBtn, 5, SpringLayout.NORTH, contentPane); - layout.putConstraint(SpringLayout.WEST, targetLabel, 10, SpringLayout.WEST, mainView); + layout.putConstraint(SpringLayout.WEST, targetLabel, 5, SpringLayout.WEST, contentPane); layout.putConstraint(SpringLayout.NORTH, targetLabel, 10, SpringLayout.SOUTH, sourceLabel); layout.putConstraint(SpringLayout.WEST, targetSearchField, 0, SpringLayout.WEST, sourceSearchField); layout.putConstraint(SpringLayout.NORTH, targetSearchField, 0, SpringLayout.NORTH, targetLabel); layout.putConstraint(SpringLayout.WEST, targetClearBtn, 5, SpringLayout.EAST, targetSearchField); - layout.putConstraint(SpringLayout.NORTH, targetClearBtn, 0, SpringLayout.NORTH, targetSearchField); + layout.putConstraint(SpringLayout.NORTH, targetClearBtn, 0, SpringLayout.NORTH, targetSearchField); + + + layout.putConstraint(SpringLayout.SOUTH, contentPane, 5, SpringLayout.SOUTH, targetLabel); + layout.putConstraint(SpringLayout.NORTH, contentPane, 5, SpringLayout.NORTH, sourceLabel); + layout.putConstraint(SpringLayout.WEST, contentPane, 5, SpringLayout.WEST, sourceLabel); + layout.putConstraint(SpringLayout.EAST, contentPane, 5, SpringLayout.EAST, targetClearBtn); - this.add(mainView); + this.pack(); }; public void setFilterPanel(MappingPanel aFilterPanel){ From 543e4eda68693946955b229d4e53fe0b7aad06b4 Mon Sep 17 00:00:00 2001 From: Marc Halperin Date: Wed, 17 Jun 2015 14:52:28 -0700 Subject: [PATCH 3/3] Select all text in text field when given focus Selects all the text in the text field when it gains focus --- src/org/ohdsi/rabbitInAHat/FilterDialog.java | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/org/ohdsi/rabbitInAHat/FilterDialog.java b/src/org/ohdsi/rabbitInAHat/FilterDialog.java index 43404808..dfca4bea 100644 --- a/src/org/ohdsi/rabbitInAHat/FilterDialog.java +++ b/src/org/ohdsi/rabbitInAHat/FilterDialog.java @@ -4,6 +4,8 @@ import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; @@ -48,21 +50,25 @@ public FilterDialog(Window parentWindow){ // Add key listener to send search string as it's being typed sourceSearchField.addKeyListener(new SearchListener() ); + sourceSearchField.addFocusListener(new SearchFocusListener()); JLabel sourceLabel = new JLabel("Filter Source:",JLabel.TRAILING); JButton sourceClearBtn = new JButton("Clear"); contentPane.add(sourceLabel); contentPane.add(sourceSearchField); sourceClearBtn.addActionListener(this); sourceClearBtn.setActionCommand("Clear Source"); + sourceClearBtn.setFocusable(false); contentPane.add(sourceClearBtn); targetSearchField.addKeyListener(new SearchListener() ); + targetSearchField.addFocusListener(new SearchFocusListener()); JLabel targetLabel = new JLabel("Filter Target:",JLabel.TRAILING); JButton targetClearBtn = new JButton("Clear"); contentPane.add(targetLabel); contentPane.add(targetSearchField); targetClearBtn.addActionListener(this); targetClearBtn.setActionCommand("Clear Target"); + targetClearBtn.setFocusable(false); contentPane.add(targetClearBtn); layout.putConstraint(SpringLayout.WEST, sourceLabel, 5, SpringLayout.WEST, contentPane); @@ -181,6 +187,23 @@ public void keyTyped(KeyEvent event) { } + public class SearchFocusListener implements FocusListener { + + @Override + public void focusGained(FocusEvent e) { + // TODO Auto-generated method stub + JTextField jtf = (JTextField) e.getComponent(); + jtf.selectAll(); + } + + @Override + public void focusLost(FocusEvent e) { + // TODO Auto-generated method stub + + } + + } + }