X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2Fedit%2FPointNameEditor.java;fp=tim%2Fprune%2Ffunction%2Fedit%2FPointNameEditor.java;h=0000000000000000000000000000000000000000;hb=ce6f2161b8596f7018d6a76bff79bc9e571f35fd;hp=53e1f834b962fa8a098a9fc9345934dbdac3003f;hpb=2d8cb72e84d5cc1089ce77baf1e34ea3ea2f8465;p=GpsPrune.git diff --git a/tim/prune/function/edit/PointNameEditor.java b/tim/prune/function/edit/PointNameEditor.java deleted file mode 100644 index 53e1f83..0000000 --- a/tim/prune/function/edit/PointNameEditor.java +++ /dev/null @@ -1,234 +0,0 @@ -package tim.prune.function.edit; - -import java.awt.Component; -import java.awt.BorderLayout; -import java.awt.FlowLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyAdapter; -import java.awt.event.KeyEvent; - -import javax.swing.BorderFactory; -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextField; - -import tim.prune.App; -import tim.prune.GenericFunction; -import tim.prune.I18nManager; -import tim.prune.data.DataPoint; -import tim.prune.data.Field; - -/** - * Function to manage the display and editing of waypoint names - */ -public class PointNameEditor extends GenericFunction -{ - private JDialog _dialog = null; - private DataPoint _point = null; - private JTextField _nameField = null; - private JButton _okButton = null; - - - /** - * Constructor - * @param inApp application object to inform of success - */ - public PointNameEditor(App inApp) - { - super(inApp); - } - - /** Get the name key */ - public String getNameKey() { - return "function.editwaypointname"; - } - - /** - * Begin the function by showing the edit point name dialog - */ - public void begin() - { - _point = _app.getTrackInfo().getCurrentPoint(); - if (_dialog == null) - { - _dialog = new JDialog(_parentFrame, I18nManager.getText(getNameKey()), true); - _dialog.setLocationRelativeTo(_parentFrame); - // Create Gui and show it - _dialog.getContentPane().add(makeDialogComponents()); - _dialog.pack(); - } - // Check current waypoint name, if any - String name = _point.getWaypointName(); - resetDialog(name); - _dialog.setVisible(true); - } - - - /** - * Make the dialog components - * @return the GUI components for the dialog - */ - private Component makeDialogComponents() - { - JPanel panel = new JPanel(); - panel.setLayout(new BorderLayout()); - // Create GUI layout for point name editor - JPanel centrePanel = new JPanel(); - centrePanel.setLayout(new BorderLayout(8, 8)); - centrePanel.add(new JLabel(I18nManager.getText("dialog.pointnameedit.name") + ": "), BorderLayout.WEST); - // Make listener to react to ok being pressed - ActionListener okActionListener = new ActionListener() { - public void actionPerformed(ActionEvent e) - { - // update App with edit - confirmEdit(); - _dialog.dispose(); - } - }; - _nameField = new JTextField("", 12); - _nameField.addKeyListener(new KeyAdapter() { - public void keyReleased(KeyEvent e) - { - // close dialog if escape pressed - if (e.getKeyCode() == KeyEvent.VK_ESCAPE) - { - _dialog.dispose(); - } - // Enable ok button if name changed - _okButton.setEnabled(hasNameChanged()); - } - }); - _nameField.addActionListener(okActionListener); - centrePanel.add(_nameField, BorderLayout.CENTER); - // holder panel to stop the text box from being stretched - JPanel holderPanel = new JPanel(); - holderPanel.setLayout(new BorderLayout()); - holderPanel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8)); - holderPanel.add(centrePanel, BorderLayout.NORTH); - panel.add(holderPanel, BorderLayout.CENTER); - JPanel rightPanel = new JPanel(); - rightPanel.setLayout(new BoxLayout(rightPanel, BoxLayout.Y_AXIS)); - JButton upperButton = new JButton(I18nManager.getText("dialog.pointnameedit.uppercase")); - upperButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) - { - _nameField.setText(_nameField.getText().toUpperCase()); - _okButton.setEnabled(true); - _nameField.requestFocus(); - } - }); - rightPanel.add(upperButton); - JButton lowerButton = new JButton(I18nManager.getText("dialog.pointnameedit.lowercase")); - lowerButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) - { - _nameField.setText(_nameField.getText().toLowerCase()); - _okButton.setEnabled(true); - _nameField.requestFocus(); - } - }); - rightPanel.add(lowerButton); - JButton titleButton = new JButton(I18nManager.getText("dialog.pointnameedit.titlecase")); - titleButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) - { - _nameField.setText(titleCase(_nameField.getText())); - _okButton.setEnabled(true); - _nameField.requestFocus(); - } - }); - rightPanel.add(titleButton); - panel.add(rightPanel, BorderLayout.EAST); - // Bottom panel for OK, cancel buttons - JPanel lowerPanel = new JPanel(); - lowerPanel.setLayout(new FlowLayout(FlowLayout.RIGHT)); - JButton cancelButton = new JButton(I18nManager.getText("button.cancel")); - cancelButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) - { - _dialog.dispose(); - } - }); - lowerPanel.add(cancelButton); - _okButton = new JButton(I18nManager.getText("button.ok")); - _okButton.setEnabled(false); - _okButton.addActionListener(okActionListener); - lowerPanel.add(_okButton); - panel.add(lowerPanel, BorderLayout.SOUTH); - return panel; - } - - - /** - * Reset the dialog with the given name - * @param inName waypoint name - */ - private void resetDialog(String inName) - { - _nameField.setText(inName); - _okButton.setEnabled(false); - } - - /** - * Turn a String into title case by capitalizing each word - * @param inString String to convert - * @return capitalized String - */ - private static String titleCase(String inString) - { - // Check first for empty strings - if (inString == null || inString.equals("")) - { - return ""; - } - StringBuffer buffer = new StringBuffer(); - // loop through characters - char lastChar = ' ', currChar = ' '; - for (int i=0; i