]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/function/edit/PointNameEditor.java
Version 14, October 2012
[GpsPrune.git] / tim / prune / function / edit / PointNameEditor.java
index 19edfbb80ba37c3f35ae291089a22079f0040693..bfa46c4bf4d54f9df5f4e9101b859903a26cd172 100644 (file)
@@ -11,23 +11,21 @@ import java.awt.event.KeyEvent;
 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;
@@ -37,25 +35,26 @@ public class PointNameEditor
        /**
         * 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());
@@ -126,16 +125,16 @@ public class PointNameEditor
                        }
                });
                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();
@@ -168,11 +167,11 @@ public class PointNameEditor
        }
 
        /**
-        * 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(""))