Ignore:
Timestamp:
2008-12-23T15:07:05+01:00 (17 years ago)
Author:
stoecker
Message:

removed usage of tab stops

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/preferences/AdvancedPreference.java

    r1053 r1169  
    3131public class AdvancedPreference implements PreferenceSetting {
    3232
    33         private Map<String,String> orig;
    34         private Map<String,String> defaults;
    35         private DefaultTableModel model;
     33    private Map<String,String> orig;
     34    private Map<String,String> defaults;
     35    private DefaultTableModel model;
    3636
    37         public void addGui(final PreferenceDialog gui) {
    38                 JPanel p = gui.createPreferenceTab("advanced", tr("Advanced Preferences"), 
    39                         tr("Setting Preference entries directly. Use with caution!"), false);
     37    public void addGui(final PreferenceDialog gui) {
     38        JPanel p = gui.createPreferenceTab("advanced", tr("Advanced Preferences"),
     39                tr("Setting Preference entries directly. Use with caution!"), false);
    4040
    41                 model = new DefaultTableModel(new String[]{tr("Key"), tr("Value")},0) {
    42                         @Override public boolean isCellEditable(int row, int column) {
    43                                 return column != 0;
    44                         }
    45                 };
    46                 DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(){
    47                         public Component getTableCellRendererComponent(JTable table, Object value,
    48                                 boolean isSelected, boolean hasFocus, int row, int column)
    49                         {
    50                                 JLabel label=new JLabel();
    51                                 String s = defaults.get(value);
    52                                 if(s != null)
    53                                 {
    54                                         if(s.equals(model.getValueAt(row, 1)))
    55                                                 label.setToolTipText(tr("Current value is default."));
    56                                         else
    57                                                 label.setToolTipText(tr("Default value is ''{0}''.", s));
    58                                 }
    59                                 else
    60                                         label.setToolTipText(tr("Default value currently unknown (setting has not been used yet)."));
    61                                 label.setText((String)value);
    62                                 return label;
    63                         }
    64                 };
    65                 final JTable list = new JTable(model);
    66                 list.getColumn(tr("Key")).setCellRenderer(renderer);
    67                 JScrollPane scroll = new JScrollPane(list);
    68                 p.add(scroll, GBC.eol().fill(GBC.BOTH));
    69                 scroll.setPreferredSize(new Dimension(400,200));
     41        model = new DefaultTableModel(new String[]{tr("Key"), tr("Value")},0) {
     42            @Override public boolean isCellEditable(int row, int column) {
     43                return column != 0;
     44            }
     45        };
     46        DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(){
     47            public Component getTableCellRendererComponent(JTable table, Object value,
     48                boolean isSelected, boolean hasFocus, int row, int column)
     49            {
     50                JLabel label=new JLabel();
     51                String s = defaults.get(value);
     52                if(s != null)
     53                {
     54                    if(s.equals(model.getValueAt(row, 1)))
     55                        label.setToolTipText(tr("Current value is default."));
     56                    else
     57                        label.setToolTipText(tr("Default value is ''{0}''.", s));
     58                }
     59                else
     60                    label.setToolTipText(tr("Default value currently unknown (setting has not been used yet)."));
     61                label.setText((String)value);
     62                return label;
     63            }
     64        };
     65        final JTable list = new JTable(model);
     66        list.getColumn(tr("Key")).setCellRenderer(renderer);
     67        JScrollPane scroll = new JScrollPane(list);
     68        p.add(scroll, GBC.eol().fill(GBC.BOTH));
     69        scroll.setPreferredSize(new Dimension(400,200));
    7070
    71                 orig = Main.pref.getAllPrefix("");
    72                 defaults = Main.pref.getDefaults();
    73                 orig.remove("osm-server.password");
    74                 defaults.remove("osm-server.password");
    75                 TreeSet<String> ts = new TreeSet<String>(orig.keySet());
    76                 for (String s : defaults.keySet())
    77                 {
    78                         if(!ts.contains(s))
    79                                 ts.add(s);
    80                 }
     71        orig = Main.pref.getAllPrefix("");
     72        defaults = Main.pref.getDefaults();
     73        orig.remove("osm-server.password");
     74        defaults.remove("osm-server.password");
     75        TreeSet<String> ts = new TreeSet<String>(orig.keySet());
     76        for (String s : defaults.keySet())
     77        {
     78            if(!ts.contains(s))
     79                ts.add(s);
     80        }
    8181
    82                 for (String s : ts)
    83                 {
    84                         String val = Main.pref.get(s);
    85                         if(val == null) val = "";
    86                         model.addRow(new String[]{s, val});
    87                 }
     82        for (String s : ts)
     83        {
     84            String val = Main.pref.get(s);
     85            if(val == null) val = "";
     86            model.addRow(new String[]{s, val});
     87        }
    8888
    89                 JButton add = new JButton(tr("Add"));
    90                 p.add(Box.createHorizontalGlue(), GBC.std().fill(GBC.HORIZONTAL));
    91                 p.add(add, GBC.std().insets(0,5,0,0));
    92                 add.addActionListener(new ActionListener(){
    93                         public void actionPerformed(ActionEvent e) {
    94                                 JPanel p = new JPanel(new GridBagLayout());
    95                                 p.add(new JLabel(tr("Key")), GBC.std().insets(0,0,5,0));
    96                                 JTextField key = new JTextField(10);
    97                                 JTextField value = new JTextField(10);
    98                                 p.add(key, GBC.eop().insets(5,0,0,0).fill(GBC.HORIZONTAL));
    99                                 p.add(new JLabel(tr("Value")), GBC.std().insets(0,0,5,0));
    100                                 p.add(value, GBC.eol().insets(5,0,0,0).fill(GBC.HORIZONTAL));
    101                                 int answer = JOptionPane.showConfirmDialog(gui, p, tr("Enter a new key/value pair"), JOptionPane.OK_CANCEL_OPTION);
    102                                 if (answer == JOptionPane.OK_OPTION)
    103                                         model.addRow(new String[]{key.getText(), value.getText()});
    104                         }
    105                 });
     89        JButton add = new JButton(tr("Add"));
     90        p.add(Box.createHorizontalGlue(), GBC.std().fill(GBC.HORIZONTAL));
     91        p.add(add, GBC.std().insets(0,5,0,0));
     92        add.addActionListener(new ActionListener(){
     93            public void actionPerformed(ActionEvent e) {
     94                JPanel p = new JPanel(new GridBagLayout());
     95                p.add(new JLabel(tr("Key")), GBC.std().insets(0,0,5,0));
     96                JTextField key = new JTextField(10);
     97                JTextField value = new JTextField(10);
     98                p.add(key, GBC.eop().insets(5,0,0,0).fill(GBC.HORIZONTAL));
     99                p.add(new JLabel(tr("Value")), GBC.std().insets(0,0,5,0));
     100                p.add(value, GBC.eol().insets(5,0,0,0).fill(GBC.HORIZONTAL));
     101                int answer = JOptionPane.showConfirmDialog(gui, p, tr("Enter a new key/value pair"), JOptionPane.OK_CANCEL_OPTION);
     102                if (answer == JOptionPane.OK_OPTION)
     103                    model.addRow(new String[]{key.getText(), value.getText()});
     104            }
     105        });
    106106
    107                 JButton edit = new JButton(tr("Edit"));
    108                 p.add(edit, GBC.std().insets(5,5,5,0));
    109                 edit.addActionListener(new ActionListener(){
    110                         public void actionPerformed(ActionEvent e) {
    111                                 edit(gui, list);
    112                         }
    113                 });
     107        JButton edit = new JButton(tr("Edit"));
     108        p.add(edit, GBC.std().insets(5,5,5,0));
     109        edit.addActionListener(new ActionListener(){
     110            public void actionPerformed(ActionEvent e) {
     111                edit(gui, list);
     112            }
     113        });
    114114
    115                 JButton delete = new JButton(tr("Delete"));
    116                 p.add(delete, GBC.std().insets(0,5,0,0));
    117                 delete.addActionListener(new ActionListener(){
    118                         public void actionPerformed(ActionEvent e) {
    119                                 if (list.getSelectedRowCount() == 0) {
    120                                         JOptionPane.showMessageDialog(gui, tr("Please select the row to delete."));
    121                                         return;
    122                                 }
    123                                 for(int row: list.getSelectedRows())
    124                                         model.setValueAt("", row, 1);
    125                         }
    126                 });
     115        JButton delete = new JButton(tr("Delete"));
     116        p.add(delete, GBC.std().insets(0,5,0,0));
     117        delete.addActionListener(new ActionListener(){
     118            public void actionPerformed(ActionEvent e) {
     119                if (list.getSelectedRowCount() == 0) {
     120                    JOptionPane.showMessageDialog(gui, tr("Please select the row to delete."));
     121                    return;
     122                }
     123                for(int row: list.getSelectedRows())
     124                    model.setValueAt("", row, 1);
     125            }
     126        });
    127127
    128                 list.addMouseListener(new MouseAdapter(){
    129                         @Override public void mouseClicked(MouseEvent e) {
    130                                 if (e.getClickCount() == 2)
    131                                         edit(gui, list);
    132                         }
    133                 });
    134         }
     128        list.addMouseListener(new MouseAdapter(){
     129            @Override public void mouseClicked(MouseEvent e) {
     130                if (e.getClickCount() == 2)
     131                    edit(gui, list);
     132            }
     133        });
     134    }
    135135
    136         public void ok() {
    137                 for (int i = 0; i < model.getRowCount(); ++i) {
    138                         String value = model.getValueAt(i,1).toString();
    139                         if(value.length() != 0)
    140                         {
    141                                 String key = model.getValueAt(i,0).toString();
    142                                 String origValue = orig.get(key);
    143                                 if (origValue == null || !origValue.equals(value))
    144                                         Main.pref.put(key, value);
    145                                 orig.remove(key); // processed.
    146                         }
    147                 }
    148                 for (Entry<String, String> e : orig.entrySet())
    149                         Main.pref.put(e.getKey(), null);
    150         }
     136    public void ok() {
     137        for (int i = 0; i < model.getRowCount(); ++i) {
     138            String value = model.getValueAt(i,1).toString();
     139            if(value.length() != 0)
     140            {
     141                String key = model.getValueAt(i,0).toString();
     142                String origValue = orig.get(key);
     143                if (origValue == null || !origValue.equals(value))
     144                    Main.pref.put(key, value);
     145                orig.remove(key); // processed.
     146            }
     147        }
     148        for (Entry<String, String> e : orig.entrySet())
     149            Main.pref.put(e.getKey(), null);
     150    }
    151151
    152152
    153         private void edit(final PreferenceDialog gui, final JTable list) {
    154                 if (list.getSelectedRowCount() != 1) {
    155                         JOptionPane.showMessageDialog(gui, tr("Please select the row to edit."));
    156                         return;
    157                 }
    158                 String v = JOptionPane.showInputDialog(tr("New value for {0}", model.getValueAt(list.getSelectedRow(), 0)), model.getValueAt(list.getSelectedRow(), 1));
    159                 if (v != null)
    160                         model.setValueAt(v, list.getSelectedRow(), 1);
    161         }
     153    private void edit(final PreferenceDialog gui, final JTable list) {
     154        if (list.getSelectedRowCount() != 1) {
     155            JOptionPane.showMessageDialog(gui, tr("Please select the row to edit."));
     156            return;
     157        }
     158        String v = JOptionPane.showInputDialog(tr("New value for {0}", model.getValueAt(list.getSelectedRow(), 0)), model.getValueAt(list.getSelectedRow(), 1));
     159        if (v != null)
     160            model.setValueAt(v, list.getSelectedRow(), 1);
     161    }
    162162}
Note: See TracChangeset for help on using the changeset viewer.