Changeset 2185 in josm


Ignore:
Timestamp:
2009-09-23T11:14:18+02:00 (12 years ago)
Author:
stoecker
Message:

see #3550 - fixed resizable side views - patch by bastiK

Location:
trunk/src/org/openstreetmap/josm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/Main.java

    r2169 r2185  
    526526        // save the current window geometry and the width of the toggle dialog area
    527527        String newGeometry = "";
    528         String newToggleDlgWidth = "";
     528        String newToggleDlgWidth = null;
    529529        try {
    530530            if (((JFrame)parent).getExtendedState() == JFrame.NORMAL) {
     
    549549                newGeometry = width + "x" + height + "+" + x + "+" + y;
    550550            }
    551 
    552             newToggleDlgWidth = Integer.toString(map.getToggleDlgWidth());
    553             if (newToggleDlgWidth.equals(Integer.toString(map.DEF_TOGGLE_DLG_WIDTH))) {
    554                 newToggleDlgWidth = "";
     551           
     552            if (map  != null) {
     553                newToggleDlgWidth = Integer.toString(map.getToggleDlgWidth());
     554                if (newToggleDlgWidth.equals(Integer.toString(map.DEF_TOGGLE_DLG_WIDTH))) {
     555                    newToggleDlgWidth = "";
     556                }
    555557            }
    556558        }
    557559        catch (Exception e) {
    558560            System.out.println("Failed to save GUI geometry: " + e);
     561            e.printStackTrace();
    559562        }
    560563        pref.put("gui.geometry", newGeometry);
    561         pref.put("toggleDialogs.width", newToggleDlgWidth);
     564        if (newToggleDlgWidth != null) {
     565            pref.put("toggleDialogs.width", newToggleDlgWidth);
     566        }
    562567    }
    563568}
  • trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java

    r2162 r2185  
    66import java.awt.Component;
    77import java.awt.Dimension;
     8import java.awt.Graphics;
    89import java.awt.GridBagLayout;
    910import java.awt.Image;
     
    2425import javax.swing.ImageIcon;
    2526import javax.swing.JButton;
     27import javax.swing.JComponent;
    2628import javax.swing.JDialog;
    2729import javax.swing.JLabel;
     
    415417     */
    416418    private class TitleBar extends JPanel {
    417         private JLabel leftPart;
     419        final private JLabel lblTitle;
    418420
    419421        public TitleBar(String toggleDialogName, String iconName) {
     
    425427            ImageIcon inIcon = ImageProvider.get("dialogs", iconName);
    426428            ImageIcon smallIcon = new ImageIcon(inIcon.getImage().getScaledInstance(16 , 16, Image.SCALE_SMOOTH));
    427             leftPart = new JLabel("",smallIcon, JLabel.TRAILING);
    428             leftPart.setIconTextGap(8);
    429             add(leftPart, GBC.std());
    430             add(Box.createHorizontalGlue(),GBC.std().fill(GBC.HORIZONTAL));
     429            lblTitle = new JLabel("",smallIcon, JLabel.TRAILING);
     430            lblTitle.setIconTextGap(8);
     431           
     432            JPanel conceal = new JPanel();
     433            conceal.add(lblTitle);
     434            conceal.setVisible(false);
     435            add(conceal, GBC.std());
     436           
     437            // Cannot add the label directly since it would displace other elements on resize
     438            JComponent lblTitle_weak = new JComponent() {
     439                @Override
     440                public void paintComponent(Graphics g) {
     441                    lblTitle.paint(g);
     442                }
     443            };
     444            lblTitle_weak.setPreferredSize(new Dimension(Integer.MAX_VALUE,20));
     445            lblTitle_weak.setMinimumSize(new Dimension(0,20));
     446            add(lblTitle_weak, GBC.std().fill(GBC.HORIZONTAL));
     447
    431448            addMouseListener(
    432449                    new MouseAdapter() {
     
    468485
    469486        public void setTitle(String title) {
    470             leftPart.setText(title);
     487            lblTitle.setText(title);
    471488        }
    472489
    473490        public String getTitle() {
    474             return leftPart.getText();
     491            return lblTitle.getText();
    475492        }
    476493    }
Note: See TracChangeset for help on using the changeset viewer.