Ignore:
Timestamp:
2009-02-18T23:31:32+01:00 (17 years ago)
Author:
pieren
Message:

Fix minor bugs, add the fixed size grab scale configurable, fix pbls in transparency.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/cadastre-fr/src/cadastre_fr/CadastrePreferenceSetting.java

    r13497 r13784  
    33import static org.openstreetmap.josm.tools.I18n.tr;
    44
    5 import java.awt.Dimension;
    65import java.awt.event.ActionEvent;
    76import java.awt.event.ActionListener;
     
    4241   
    4342    private JRadioButton grabMultiplier4 = new JRadioButton("", true);
    44    
     43
     44    static final int DEFAULT_SQUARE_SIZE = 100;
     45    private JTextField grabMultiplier4Size = new JTextField(5);
     46
    4547    private JCheckBox enableCache = new JCheckBox(tr("Enable automatic caching."));
    4648
     
    6668
    6769        // option to alter the original colors of the wms images
    68         alterColors.addActionListener(new ActionListener() {
    69             public void actionPerformed(ActionEvent e) {
    70                 reversGrey.setEnabled(alterColors.isSelected());
    71                 transparency.setEnabled(alterColors.isSelected());
    72                 sliderTrans.setEnabled(transparency.isSelected() && alterColors.isSelected());
    73             }
    74         });
    7570        alterColors.setSelected(Main.pref.getBoolean("cadastrewms.alterColors", false));
    7671        alterColors.setToolTipText(tr("Replace the original white background by the backgound color defined in JOSM preferences."));
     
    7974        // option to reverse the grey colors (to see texts background)
    8075        reversGrey.setSelected(Main.pref.getBoolean("cadastrewms.invertGrey", false));
    81         reversGrey.setToolTipText(tr("Invert the original texts from black to white (and all intermediate greys)."));
     76        reversGrey.setToolTipText(tr("Invert the original black and white colors (and all intermediate greys). Useful for texts on dark backgrounds."));
    8277        reversGrey.setEnabled(alterColors.isSelected());
    83         cadastrewms.add(reversGrey, GBC.eop().insets(20, 0, 0, 0));
     78        cadastrewms.add(reversGrey, GBC.eop().insets(00, 0, 0, 0));
    8479
    8580        // option to enable transparency
     
    9186        transparency.setSelected(Main.pref.getBoolean("cadastrewms.backgroundTransparent", false));
    9287        transparency.setToolTipText(tr("Allows multiple layers stacking"));
    93         transparency.setEnabled(alterColors.isSelected());
    94         cadastrewms.add(transparency, GBC.eop().insets(20, 0, 0, 0));
     88        cadastrewms.add(transparency, GBC.eop().insets(0, 0, 0, 0));
    9589
    9690        // slider for transparency level
    97         sliderTrans.setPreferredSize(new Dimension(20,200));
    9891        sliderTrans.setSnapToTicks(true);
    9992        sliderTrans.setToolTipText(tr("Set WMS layers transparency. Right is opaque, left is transparent."));
     
    114107        cadastrewms.add(jLabelScale, GBC.std().insets(0, 5, 10, 0));
    115108        ButtonGroup bg = new ButtonGroup();
     109        ActionListener multiplierActionListener = new ActionListener() {
     110            public void actionPerformed(ActionEvent actionEvent) {
     111              AbstractButton button = (AbstractButton) actionEvent.getSource();
     112              grabMultiplier4Size.setEnabled(button == grabMultiplier4);
     113            }
     114          };
    116115        grabMultiplier1.setIcon(ImageProvider.get("preferences", "unsel_box_1"));
    117116        grabMultiplier1.setSelectedIcon(ImageProvider.get("preferences", "sel_box_1"));
     117        grabMultiplier1.addActionListener( multiplierActionListener);
    118118        grabMultiplier2.setIcon(ImageProvider.get("preferences", "unsel_box_2"));
    119119        grabMultiplier2.setSelectedIcon(ImageProvider.get("preferences", "sel_box_2"));
     120        grabMultiplier2.addActionListener( multiplierActionListener);
     121        grabMultiplier2.setToolTipText(tr("Grab smaller images (higher quality but use more memory)"));
    120122        grabMultiplier3.setIcon(ImageProvider.get("preferences", "unsel_box_3"));
    121123        grabMultiplier3.setSelectedIcon(ImageProvider.get("preferences", "sel_box_3"));
     124        grabMultiplier3.addActionListener( multiplierActionListener);
     125        grabMultiplier3.setToolTipText(tr("Grab smaller images (higher quality but use more memory)"));
    122126        grabMultiplier4.setIcon(ImageProvider.get("preferences", "unsel_box_4"));
    123127        grabMultiplier4.setSelectedIcon(ImageProvider.get("preferences", "sel_box_4"));
    124         String multiplierTooltip = "Grab smaller images (higher quality but use more memory)";
    125         grabMultiplier3.setToolTipText(multiplierTooltip);
     128        grabMultiplier4.addActionListener( multiplierActionListener);
     129        grabMultiplier4.setToolTipText(tr("Fixed size square (default is 100m)"));
    126130        bg.add(grabMultiplier1);
    127131        bg.add(grabMultiplier2);
    128132        bg.add(grabMultiplier3);
    129133        bg.add(grabMultiplier4);
    130         if (Main.pref.get("cadastrewms.scale", "1").equals(Scale.X1))
     134        String currentScale = Main.pref.get("cadastrewms.scale", "1");
     135        if (currentScale.equals(Scale.X1.value))
    131136            grabMultiplier1.setSelected(true);
    132         if (Main.pref.get("cadastrewms.scale", "1").equals(Scale.X2))
     137        if (currentScale.equals(Scale.X2.value))
    133138            grabMultiplier2.setSelected(true);
    134         if (Main.pref.get("cadastrewms.scale", "1").equals(Scale.X3))
     139        if (currentScale.equals(Scale.X3.value))
    135140            grabMultiplier3.setSelected(true);
    136         if (Main.pref.get("cadastrewms.scale", "1").equals(Scale.SQUARE_100M))
     141        if (currentScale.equals(Scale.SQUARE_100M.value))
    137142            grabMultiplier4.setSelected(true);
    138143        cadastrewms.add(grabMultiplier1, GBC.std().insets(5, 0, 5, 0));
    139144        cadastrewms.add(grabMultiplier2, GBC.std().insets(5, 0, 5, 0));
    140145        cadastrewms.add(grabMultiplier3, GBC.std().insets(5, 0, 5, 0));
    141         cadastrewms.add(grabMultiplier4, GBC.eol().fill(GBC.HORIZONTAL).insets(5, 0, 5, 0));
     146        cadastrewms.add(grabMultiplier4, GBC.std().insets(5, 0, 5, 0));
     147        int squareSize = getNumber("cadastrewms.squareSize", DEFAULT_SQUARE_SIZE);
     148        grabMultiplier4Size.setText(String.valueOf(squareSize));
     149        grabMultiplier4Size.setToolTipText(tr("Fixed size (from 25 to 1000 meters)"));
     150        grabMultiplier4Size.setEnabled(currentScale.equals(Scale.SQUARE_100M.value));
     151        cadastrewms.add(grabMultiplier4Size, GBC.eol().fill(GBC.HORIZONTAL).insets(5, 5, 0, 5));
    142152       
    143153        // option to enable automatic caching
     
    153163
    154164        // option to fix the cache size(in MB)
    155         int size;
    156         try {
    157             size = Integer.parseInt(Main.pref.get("cadastrewms.cacheSize", String.valueOf(DEFAULT_CACHE_SIZE)));
    158         } catch (NumberFormatException e) {
    159             size = DEFAULT_CACHE_SIZE;
    160         }
     165        int size = getNumber("cadastrewms.cacheSize", DEFAULT_CACHE_SIZE);
    161166        cacheSize.setText(String.valueOf(size));
    162167        cacheSize.setToolTipText(tr("Oldest files are automatically deleted when this size is exceeded"));
     
    182187        else if (grabMultiplier3.isSelected())
    183188            Main.pref.put("cadastrewms.scale", Scale.X3.toString());
    184         else
     189        else {
    185190            Main.pref.put("cadastrewms.scale", Scale.SQUARE_100M.toString());
     191            try {
     192                int squareSize = Integer.parseInt(grabMultiplier4Size.getText());
     193                if (squareSize >= 25 && squareSize <= 1000)
     194                    Main.pref.put("cadastrewms.squareSize", grabMultiplier4Size.getText());
     195            } catch (NumberFormatException e) { // ignore the last input
     196            }
     197        }
    186198        Main.pref.put("cadastrewms.enableCaching", enableCache.isSelected());
    187199       
     
    190202            CacheControl.cacheSize = Integer.parseInt(cacheSize.getText());
    191203            Main.pref.put("cadastrewms.cacheSize", String.valueOf(CacheControl.cacheSize));
    192         } catch (NumberFormatException e) {
    193             // ignore the last input
     204        } catch (NumberFormatException e) { // ignore the last input
    194205        }
    195206        CacheControl.cacheEnabled = enableCache.isSelected();
     
    199210    }
    200211
     212    private int getNumber(String pref_parameter, int def_value) {
     213        try {
     214            return Integer.parseInt(Main.pref.get(pref_parameter, String.valueOf(def_value)));
     215        } catch (NumberFormatException e) {
     216            return def_value;
     217        }
     218    }
    201219}
Note: See TracChangeset for help on using the changeset viewer.