Changeset 1028 in josm for trunk


Ignore:
Timestamp:
2008-10-06T00:24:38+02:00 (16 years ago)
Author:
stoecker
Message:

allow resizing for plugin prefs

File:
1 edited

Legend:

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

    r999 r1028  
    66
    77import java.awt.Dimension;
     8import java.awt.Graphics;
    89import java.awt.GridBagLayout;
    910import java.awt.event.ActionEvent;
     
    2728import javax.swing.BorderFactory;
    2829import javax.swing.Box;
     30import javax.swing.BoxLayout;
    2931import javax.swing.DefaultListModel;
    3032import javax.swing.JButton;
     
    7880
    7981        private Map<PluginDescription, Boolean> pluginMap;
    80         private Box pluginPanel = Box.createVerticalBox();
    8182        private JPanel plugin;
     83        private class MyBox extends Box {
     84                int lastwidth;
     85                int offset = 40;
     86                public MyBox()
     87                {
     88                        super(BoxLayout.Y_AXIS);
     89                }
     90                public int myGetWidth()
     91                {
     92                        int w = plugin.getWidth()-offset;
     93                        if(w <= 0) w = 450;
     94                        lastwidth = w;
     95                        return w;
     96                }
     97                public void paint(Graphics g)
     98                {
     99                        if(lastwidth != plugin.getWidth()-offset)
     100                                refreshPluginPanel(gui);
     101                        super.paint(g);
     102                }
     103        }
     104        private MyBox pluginPanel = new MyBox();
    82105        private PreferenceDialog gui;
    83106
     
    209232                pluginMap = new HashMap<PluginDescription, Boolean>();
    210233                pluginPanel.removeAll();
     234                int width = pluginPanel.myGetWidth();
    211235
    212236                // the following could probably be done more elegantly?
     
    246270                        JLabel label = new JLabel("<html><i>"+(plugin.description==null?tr("no description available"):plugin.description)+"</i></html>");
    247271                        label.setBorder(BorderFactory.createEmptyBorder(0,20,0,0));
    248                         label.setMaximumSize(new Dimension(450,1000));
     272                        label.setMaximumSize(new Dimension(width,1000));
    249273                        pluginPanel.add(label);
    250274                        pluginPanel.add(Box.createVerticalStrut(5));
Note: See TracChangeset for help on using the changeset viewer.