Ignore:
Timestamp:
2008-12-23T14:05:09+01:00 (15 years ago)
Author:
stoecker
Message:

fix bug #1607 and #1833

File:
1 edited

Legend:

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

    r1053 r1165  
    77import java.awt.event.ActionEvent;
    88import java.awt.event.ActionListener;
     9import java.awt.GridBagLayout;
    910
     11import javax.swing.BorderFactory;
    1012import javax.swing.JCheckBox;
    1113import javax.swing.JLabel;
    1214import javax.swing.JTextField;
     15import javax.swing.JScrollPane;
     16import javax.swing.JPanel;
     17import javax.swing.Box;
    1318
    1419import org.openstreetmap.josm.Main;
     
    2530        private JCheckBox drawGpsArrows = new JCheckBox(tr("Draw Direction Arrows"));
    2631        private JCheckBox drawGpsArrowsFast = new JCheckBox(tr("Fast drawing (looks uglier)"));
     32        private JTextField drawGpsArrowsMinDist = new JTextField(8);
    2733        private JCheckBox interestingDirections = new JCheckBox(tr("Only interesting direction hints (e.g. with oneway tag)."));
    2834        private JCheckBox segmentOrderNumber = new JCheckBox(tr("Draw segment order numbers"));
     
    3137        private JCheckBox inactive = new JCheckBox(tr("Draw inactive layers in other color"));
    3238        private JCheckBox useAntialiasing = new JCheckBox(tr("Smooth map graphics (antialiasing)"));
    33         private JCheckBox showSplashScreen = new JCheckBox(tr("Show splash screen at startup"));
    3439
    3540        public void addGui(PreferenceDialog gui) {
    3641            gui.display.setPreferredSize(new Dimension(400,600));
     42        JPanel panel = new JPanel(new GridBagLayout());
     43        panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
     44
    3745            // drawRawGpsLines
    3846                drawRawGpsLines.addActionListener(new ActionListener(){
     
    4250                            drawGpsArrows.setEnabled(drawRawGpsLines.isSelected());
    4351                            drawGpsArrowsFast.setEnabled(drawGpsArrows.isSelected() && drawGpsArrows.isEnabled());
     52                            drawGpsArrowsMinDist.setEnabled(drawGpsArrows.isSelected() && drawGpsArrows.isEnabled());
    4453                            colorTracks.setEnabled(drawRawGpsLines.isSelected());
    4554                        }
     
    4756                drawRawGpsLines.setSelected(Main.pref.getBoolean("draw.rawgps.lines"));
    4857                drawRawGpsLines.setToolTipText(tr("If your gps device draw too few lines, select this to draw lines along your way."));
    49                 gui.display.add(drawRawGpsLines, GBC.eol().insets(20,0,0,0));
     58                panel.add(drawRawGpsLines, GBC.eol().insets(20,0,0,0));
    5059
    5160                // drawRawGpsMaxLineLength
    52                 drawRawGpsMaxLineLength.setText(Main.pref.get("draw.rawgps.max-line-length", "-1"));
     61                drawRawGpsMaxLineLength.setText(Integer.toString(Main.pref.getInteger("draw.rawgps.max-line-length", -1)));
    5362                drawRawGpsMaxLineLength.setToolTipText(tr("Maximum length (in meters) to draw lines. Set to '-1' to draw all lines."));
    5463                drawRawGpsMaxLineLength.setEnabled(drawRawGpsLines.isSelected());
    55                 gui.display.add(new JLabel(tr("Maximum length (meters)")), GBC.std().insets(40,0,0,0));
    56                 gui.display.add(drawRawGpsMaxLineLength, GBC.eol().fill(GBC.HORIZONTAL).insets(5,0,0,5));
     64                panel.add(new JLabel(tr("Maximum length (meters)")), GBC.std().insets(40,0,0,0));
     65                panel.add(drawRawGpsMaxLineLength, GBC.eol().fill(GBC.HORIZONTAL).insets(5,0,0,5));
    5766
    5867                // forceRawGpsLines
     
    6069                forceRawGpsLines.setSelected(Main.pref.getBoolean("draw.rawgps.lines.force"));
    6170                forceRawGpsLines.setEnabled(drawRawGpsLines.isSelected());
    62                 gui.display.add(forceRawGpsLines, GBC.eop().insets(40,0,0,0));
     71                panel.add(forceRawGpsLines, GBC.eop().insets(40,0,0,0));
    6372               
    6473                // drawGpsArrows
     
    6675                        public void actionPerformed(ActionEvent e) {
    6776                            drawGpsArrowsFast.setEnabled(drawGpsArrows.isSelected() && drawGpsArrows.isEnabled());
     77                            drawGpsArrowsMinDist.setEnabled(drawGpsArrows.isSelected() && drawGpsArrows.isEnabled());
    6878                        }
    6979                });
     
    7181                drawGpsArrows.setSelected(Main.pref.getBoolean("draw.rawgps.direction"));
    7282                drawGpsArrows.setEnabled(drawRawGpsLines.isSelected());
    73                 gui.display.add(drawGpsArrows, GBC.eop().insets(40,0,0,0));
     83                panel.add(drawGpsArrows, GBC.eop().insets(40,0,0,0));
    7484
    7585                // drawGpsArrowsFast
     
    7787                drawGpsArrowsFast.setSelected(Main.pref.getBoolean("draw.rawgps.alternatedirection"));
    7888                drawGpsArrowsFast.setEnabled(drawGpsArrows.isSelected() && drawGpsArrows.isEnabled());
    79                 gui.display.add(drawGpsArrowsFast, GBC.eop().insets(60,0,0,0));
     89                panel.add(drawGpsArrowsFast, GBC.eop().insets(60,0,0,0));
     90
     91                // drawGpsArrowsMinDist
     92                drawGpsArrowsMinDist.setToolTipText(tr("Don't draw arrows if they are not at least this distance away from the last one."));
     93                drawGpsArrowsMinDist.setText(Integer.toString(Main.pref.getInteger("draw.rawgps.min-arrow-distance", 0)));
     94                drawGpsArrowsMinDist.setEnabled(drawGpsArrows.isSelected() && drawGpsArrows.isEnabled());
     95                panel.add(new JLabel(tr("Minimum distance (pixels)")), GBC.std().insets(60,0,0,0));
     96                panel.add(drawGpsArrowsMinDist, GBC.eol().fill(GBC.HORIZONTAL).insets(5,0,0,5));
    8097
    8198                // colorTracks
     
    83100                colorTracks.setToolTipText(tr("Choose the hue for the track color by the velocity at that point."));
    84101                colorTracks.setEnabled(drawRawGpsLines.isSelected());
    85                 gui.display.add(colorTracks, GBC.eop().insets(40,0,0,0));
     102                panel.add(colorTracks, GBC.eop().insets(40,0,0,0));
    86103               
    87104                // largeGpsPoints
    88105                largeGpsPoints.setSelected(Main.pref.getBoolean("draw.rawgps.large"));
    89106                largeGpsPoints.setToolTipText(tr("Draw larger dots for the GPS points."));
    90                 gui.display.add(largeGpsPoints, GBC.eop().insets(20,0,0,0));
     107                panel.add(largeGpsPoints, GBC.eop().insets(20,0,0,0));
    91108               
     109                panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH));
     110                JScrollPane scrollpane = new JScrollPane(panel);
     111                scrollpane.setBorder(BorderFactory.createEmptyBorder( 0, 0, 0, 0 ));
     112                gui.displaycontent.addTab(tr("GPS Points"), scrollpane);
     113                panel = new JPanel(new GridBagLayout());
     114                panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
     115
    92116                // directionHint
    93117                directionHint.addActionListener(new ActionListener(){
     
    103127                directionHint.setToolTipText(tr("Draw direction hints for way segments."));
    104128                directionHint.setSelected(Main.pref.getBoolean("draw.segment.direction"));
    105                 gui.display.add(directionHint, GBC.eop().insets(20,0,0,0));
     129                panel.add(directionHint, GBC.eop().insets(20,0,0,0));
    106130
    107131                // only interesting directions
     
    109133                interestingDirections.setSelected(Main.pref.getBoolean("draw.segment.relevant_directions_only"));
    110134                interestingDirections.setEnabled(directionHint.isSelected());
    111                 gui.display.add(interestingDirections, GBC.eop().insets(40,0,0,0));
     135                panel.add(interestingDirections, GBC.eop().insets(40,0,0,0));
    112136               
    113137                // segment order number
    114138                segmentOrderNumber.setToolTipText(tr("Draw the order numbers of all segments within their way."));
    115139                segmentOrderNumber.setSelected(Main.pref.getBoolean("draw.segment.order_number"));
    116                 gui.display.add(segmentOrderNumber, GBC.eop().insets(20,0,0,0));
     140                panel.add(segmentOrderNumber, GBC.eop().insets(20,0,0,0));
    117141               
    118142                // antialiasing
    119143                useAntialiasing.setToolTipText(tr("Apply antialiasing to the map view resulting in a smoother appearance."));
    120144                useAntialiasing.setSelected(Main.pref.getBoolean("mappaint.use-antialiasing"));
    121                 gui.display.add(useAntialiasing, GBC.eop().insets(20,0,0,0));
     145                panel.add(useAntialiasing, GBC.eop().insets(20,0,0,0));
    122146               
    123147                // downloaded area
    124148                sourceBounds.setToolTipText(tr("Draw the boundaries of data loaded from the server."));
    125149                sourceBounds.setSelected(Main.pref.getBoolean("draw.data.downloaded_area", true));
    126                 gui.display.add(sourceBounds, GBC.eop().insets(20,0,0,0));
     150                panel.add(sourceBounds, GBC.eop().insets(20,0,0,0));
    127151
    128152                // virtual nodes
    129153                virtualNodes.setToolTipText(tr("Draw virtual nodes in select mode for easy way modification."));
    130154                virtualNodes.setSelected(Main.pref.getInteger("mappaint.node.virtual-size", 8) != 0);
    131                 gui.display.add(virtualNodes, GBC.eop().insets(20,0,0,0));
     155                panel.add(virtualNodes, GBC.eop().insets(20,0,0,0));
    132156
    133157                // background layers in inactive color
    134158                inactive.setToolTipText(tr("Draw the inactive data layers in a different color."));
    135159                inactive.setSelected(Main.pref.getBoolean("draw.data.inactive_color", true));
    136                 gui.display.add(inactive, GBC.eop().insets(20,0,0,0));
     160                panel.add(inactive, GBC.eop().insets(20,0,0,0));
    137161
    138                 // Show splash screen on startup
    139                 showSplashScreen.setToolTipText(tr("Show splash screen at startup"));
    140                 showSplashScreen.setSelected(Main.pref.getBoolean("draw.splashscreen", true));
    141                 gui.display.add(showSplashScreen, GBC.eop().insets(20, 0, 0, 0));
     162                panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH));
     163                scrollpane = new JScrollPane(panel);
     164                scrollpane.setBorder(BorderFactory.createEmptyBorder( 0, 0, 0, 0 ));
     165                gui.displaycontent.addTab(tr("OSM Data"), scrollpane);
    142166        }
    143167
     
    148172                Main.pref.put("draw.rawgps.direction", drawGpsArrows.isSelected());
    149173                Main.pref.put("draw.rawgps.alternatedirection", drawGpsArrowsFast.isSelected());
     174                Main.pref.put("draw.rawgps.min-arrow-distance", drawGpsArrowsMinDist.getText());
    150175                Main.pref.put("draw.rawgps.colors", colorTracks.isSelected());
    151176                Main.pref.put("draw.rawgps.large", largeGpsPoints.isSelected());
     
    156181                Main.pref.put("draw.data.inactive_color", inactive.isSelected());
    157182                Main.pref.put("mappaint.use-antialiasing", useAntialiasing.isSelected());
    158                 Main.pref.put("draw.splashscreen", showSplashScreen.isSelected());
    159183                int vn = Main.pref.getInteger("mappaint.node.virtual-size", 8);
    160184                if(virtualNodes.isSelected()) { if (vn < 1) vn = 8; }
Note: See TracChangeset for help on using the changeset viewer.