Ignore:
Timestamp:
16.10.2007 23:18:46 (5 years ago)
Author:
framm
Message:
  • added a built-in set of tagging presets. this can be disabled from preferences panel, or replaced with an own control file.
File:
1 edited

Legend:

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

    r343 r397  
    44import static org.openstreetmap.josm.tools.I18n.tr; 
    55 
     6import java.awt.Color; 
    67import java.awt.GridBagLayout; 
    78import java.awt.event.ActionEvent; 
     
    1011import java.util.StringTokenizer; 
    1112 
     13import javax.swing.Action; 
     14import javax.swing.BorderFactory; 
    1215import javax.swing.Box; 
    1316import javax.swing.DefaultListModel; 
    1417import javax.swing.JButton; 
     18import javax.swing.JCheckBox; 
    1519import javax.swing.JLabel; 
    1620import javax.swing.JList; 
     21import javax.swing.JMenuItem; 
    1722import javax.swing.JOptionPane; 
    1823import javax.swing.JPanel; 
    1924import javax.swing.JScrollPane; 
     25import javax.swing.JSeparator; 
     26import javax.swing.border.BevelBorder; 
    2027 
    2128import org.openstreetmap.josm.Main; 
     
    2734        public static Collection<TaggingPreset> taggingPresets; 
    2835        private JList taggingPresetSources; 
     36        private JCheckBox enableDefault; 
     37         
     38        public void addGui(final PreferenceDialog gui) { 
     39                 
     40                taggingPresetSources = new JList(new DefaultListModel()); 
     41                enableDefault = new JCheckBox(tr("Enable built-in defaults"),  
     42                                Main.pref.getBoolean("taggingpreset.enable-defaults")); 
    2943 
    30         public void addGui(final PreferenceDialog gui) { 
    31                 taggingPresetSources = new JList(new DefaultListModel()); 
    3244                String annos = Main.pref.get("taggingpreset.sources"); 
    3345                StringTokenizer st = new StringTokenizer(annos, ";"); 
     
    7890                deleteAnno.setToolTipText(tr("Delete the selected source from the list.")); 
    7991 
    80                 gui.map.add(new JLabel(tr("Tagging preset sources")), GBC.eol().insets(0,5,0,0)); 
    81                 gui.map.add(new JScrollPane(taggingPresetSources), GBC.eol().fill(GBC.BOTH)); 
     92                JPanel tpPanel = new JPanel(); 
     93                tpPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.gray), tr("Tagging Presets"))); 
     94                tpPanel.setLayout(new GridBagLayout()); 
     95                tpPanel.add(enableDefault, GBC.eol().insets(5,5,5,0)); 
     96                tpPanel.add(new JLabel(tr("Tagging preset sources")), GBC.eol().insets(5,5,5,0)); 
     97                tpPanel.add(new JScrollPane(taggingPresetSources), GBC.eol().insets(5,0,5,0).fill(GBC.BOTH)); 
    8298                JPanel buttonPanel = new JPanel(new GridBagLayout()); 
    83                 gui.map.add(buttonPanel, GBC.eol().fill(GBC.HORIZONTAL)); 
     99                tpPanel.add(buttonPanel, GBC.eol().insets(5,0,5,5).fill(GBC.HORIZONTAL)); 
    84100                buttonPanel.add(Box.createHorizontalGlue(), GBC.std().fill(GBC.HORIZONTAL)); 
    85101                buttonPanel.add(addAnno, GBC.std().insets(0,5,0,0)); 
    86102                buttonPanel.add(editAnno, GBC.std().insets(5,5,5,0)); 
    87103                buttonPanel.add(deleteAnno, GBC.std().insets(0,5,0,0)); 
     104                gui.map.add(tpPanel, GBC.eol().fill(GBC.BOTH)); 
    88105        } 
    89106 
    90107        public void ok() { 
     108                Main.pref.put("taggingpreset.enable-defaults", enableDefault.getSelectedObjects() != null); 
    91109                if (taggingPresetSources.getModel().getSize() > 0) { 
    92110                        StringBuilder sb = new StringBuilder(); 
     
    103121        public static void initialize() { 
    104122                taggingPresets = TaggingPreset.readFromPreferences(); 
     123                for (final TaggingPreset p : taggingPresets) { 
     124                        if (p.getValue(Action.NAME).equals(" ")) { 
     125                                Main.main.menu.presetsMenu.add(new JSeparator()); 
     126                        } else { 
     127                                Main.main.menu.presetsMenu.add(new JMenuItem(p)); 
     128                        } 
     129                }                
    105130        } 
    106131} 
Note: See TracChangeset for help on using the changeset viewer.