import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
-import javax.swing.JFrame;
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;
/**
- * Class to manage the display and editing of waypoint names
+ * Function to manage the display and editing of waypoint names
*/
-public class PointNameEditor
+public class PointNameEditor extends GenericFunction
{
- private App _app = null;
- private JFrame _parentFrame = null;
private JDialog _dialog = null;
private DataPoint _point = null;
private JTextField _nameField = null;
/**
* Constructor
* @param inApp application object to inform of success
- * @param inParentFrame parent frame
*/
- public PointNameEditor(App inApp, JFrame inParentFrame)
+ public PointNameEditor(App inApp)
{
- _app = inApp;
- _parentFrame = inParentFrame;
+ super(inApp);
}
+ /** Get the name key */
+ public String getNameKey() {
+ return "function.editwaypointname";
+ }
/**
- * Show the edit point name dialog
- * @param inPoint point to edit
+ * Begin the function by showing the edit point name dialog
*/
- public void showDialog(DataPoint inPoint)
+ public void begin()
{
- _point = inPoint;
+ _point = _app.getTrackInfo().getCurrentPoint();
if (_dialog == null)
{
- _dialog = new JDialog(_parentFrame, I18nManager.getText("dialog.pointnameedit.title"), true);
+ _dialog = new JDialog(_parentFrame, I18nManager.getText(getNameKey()), true);
_dialog.setLocationRelativeTo(_parentFrame);
// Create Gui and show it
_dialog.getContentPane().add(makeDialogComponents());
}
});
rightPanel.add(lowerButton);
- JButton sentenceButton = new JButton(I18nManager.getText("dialog.pointnameedit.sentencecase"));
- sentenceButton.addActionListener(new ActionListener() {
+ JButton titleButton = new JButton(I18nManager.getText("dialog.pointnameedit.titlecase"));
+ titleButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
- _nameField.setText(sentenceCase(_nameField.getText()));
+ _nameField.setText(titleCase(_nameField.getText()));
_okButton.setEnabled(true);
_nameField.requestFocus();
}
});
- rightPanel.add(sentenceButton);
+ rightPanel.add(titleButton);
panel.add(rightPanel, BorderLayout.EAST);
// Bottom panel for OK, cancel buttons
JPanel lowerPanel = new JPanel();
}
/**
- * Turn a String into sentence case by capitalizing each word
+ * Turn a String into title case by capitalizing each word
* @param inString String to convert
* @return capitalized String
*/
- private static String sentenceCase(String inString)
+ private static String titleCase(String inString)
{
// Check first for empty strings
if (inString == null || inString.equals(""))