Ignore:
Timestamp:
2008-12-23T15:07:05+01:00 (17 years ago)
Author:
stoecker
Message:

removed usage of tab stops

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java

    r1084 r1169  
    5454public class HistoryDialog extends ToggleDialog implements SelectionChangedListener {
    5555
    56         public static final Date unifyDate(Date d) {
    57                 Calendar c = Calendar.getInstance();
    58                 c.setTime(d);
    59                 c.set(Calendar.MINUTE, 0);
    60                 c.set(Calendar.SECOND, 0);
    61                 return c.getTime();
    62         }
     56    public static final Date unifyDate(Date d) {
     57        Calendar c = Calendar.getInstance();
     58        c.setTime(d);
     59        c.set(Calendar.MINUTE, 0);
     60        c.set(Calendar.SECOND, 0);
     61        return c.getTime();
     62    }
    6363
    64         private static class HistoryItem implements Comparable<HistoryItem> {
    65                 OsmPrimitive osm;
    66                 boolean visible;
     64    private static class HistoryItem implements Comparable<HistoryItem> {
     65        OsmPrimitive osm;
     66        boolean visible;
    6767
    68                 public int compareTo(HistoryItem o) {
    69                         return unifyDate(osm.getTimestamp()).compareTo(unifyDate(o.osm.getTimestamp()));
    70                 }
    71         }
     68        public int compareTo(HistoryItem o) {
     69            return unifyDate(osm.getTimestamp()).compareTo(unifyDate(o.osm.getTimestamp()));
     70        }
     71    }
    7272
    73         private final DefaultTableModel data = new DefaultTableModel(){
    74                 @Override public boolean isCellEditable(int row, int column) {
    75                         return false;
    76                 }
    77         };
     73    private final DefaultTableModel data = new DefaultTableModel(){
     74        @Override public boolean isCellEditable(int row, int column) {
     75            return false;
     76        }
     77    };
    7878
    79         /**
    80         * Main table. 3 columns:
    81         * Object | Date | visible (icon, no text)
    82         */
    83         private JTable history = new JTable(data);
    84         private JScrollPane historyPane = new JScrollPane(history);
     79    /**
     80    * Main table. 3 columns:
     81    * Object | Date | visible (icon, no text)
     82    */
     83    private JTable history = new JTable(data);
     84    private JScrollPane historyPane = new JScrollPane(history);
    8585
    86         private Map<OsmPrimitive, List<HistoryItem>> cache = new HashMap<OsmPrimitive, List<HistoryItem>>();
    87         private JLabel notLoaded = new JLabel("<html><i>"+tr("Click Reload to refresh list")+"</i></html>");
     86    private Map<OsmPrimitive, List<HistoryItem>> cache = new HashMap<OsmPrimitive, List<HistoryItem>>();
     87    private JLabel notLoaded = new JLabel("<html><i>"+tr("Click Reload to refresh list")+"</i></html>");
    8888
    89         public HistoryDialog() {
    90                 super(tr("History"), "history", tr("Display the history of all selected items."),
    91                 Shortcut.registerShortcut("subwindow:history", tr("Toggle: {0}", tr("History")), KeyEvent.VK_H,
    92                 Shortcut.GROUP_LAYER, Shortcut.SHIFT_DEFAULT), 150);
    93                 historyPane.setVisible(false);
    94                 notLoaded.setVisible(true);
    95                 notLoaded.setHorizontalAlignment(JLabel.CENTER);
     89    public HistoryDialog() {
     90        super(tr("History"), "history", tr("Display the history of all selected items."),
     91        Shortcut.registerShortcut("subwindow:history", tr("Toggle: {0}", tr("History")), KeyEvent.VK_H,
     92        Shortcut.GROUP_LAYER, Shortcut.SHIFT_DEFAULT), 150);
     93        historyPane.setVisible(false);
     94        notLoaded.setVisible(true);
     95        notLoaded.setHorizontalAlignment(JLabel.CENTER);
    9696
    97                 history.setDefaultRenderer(Object.class, new DefaultTableCellRenderer(){
    98                         @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    99                                 return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    100                         }
    101                 });
    102                 data.setColumnIdentifiers(new Object[]{tr("Object"),tr("Date"),""});
    103                 history.getColumnModel().getColumn(0).setPreferredWidth(200);
    104                 history.getColumnModel().getColumn(1).setPreferredWidth(200);
    105                 history.getColumnModel().getColumn(2).setPreferredWidth(20);
    106                 final TableCellRenderer oldRenderer = history.getTableHeader().getDefaultRenderer();
    107                 history.getTableHeader().setDefaultRenderer(new DefaultTableCellRenderer(){
    108                         @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    109                                 JComponent c = (JComponent)oldRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    110                                 if (!value.equals(""))
    111                                         return c;
    112                                 JLabel l = new JLabel(ImageProvider.get("misc","showhide"));
    113                                 l.setForeground(c.getForeground());
    114                                 l.setBackground(c.getBackground());
    115                                 l.setFont(c.getFont());
    116                                 l.setBorder(c.getBorder());
    117                                 l.setOpaque(true);
    118                                 return l;
    119                         }
    120                 });
     97        history.setDefaultRenderer(Object.class, new DefaultTableCellRenderer(){
     98            @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
     99                return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
     100            }
     101        });
     102        data.setColumnIdentifiers(new Object[]{tr("Object"),tr("Date"),""});
     103        history.getColumnModel().getColumn(0).setPreferredWidth(200);
     104        history.getColumnModel().getColumn(1).setPreferredWidth(200);
     105        history.getColumnModel().getColumn(2).setPreferredWidth(20);
     106        final TableCellRenderer oldRenderer = history.getTableHeader().getDefaultRenderer();
     107        history.getTableHeader().setDefaultRenderer(new DefaultTableCellRenderer(){
     108            @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
     109                JComponent c = (JComponent)oldRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
     110                if (!value.equals(""))
     111                    return c;
     112                JLabel l = new JLabel(ImageProvider.get("misc","showhide"));
     113                l.setForeground(c.getForeground());
     114                l.setBackground(c.getBackground());
     115                l.setFont(c.getFont());
     116                l.setBorder(c.getBorder());
     117                l.setOpaque(true);
     118                return l;
     119            }
     120        });
    121121
    122                 JPanel centerPanel = new JPanel(new GridBagLayout());
    123                 centerPanel.add(notLoaded, GBC.eol().fill(GBC.BOTH));
    124                 centerPanel.add(historyPane, GBC.eol().fill(GBC.BOTH));
    125                 add(centerPanel, BorderLayout.CENTER);
     122        JPanel centerPanel = new JPanel(new GridBagLayout());
     123        centerPanel.add(notLoaded, GBC.eol().fill(GBC.BOTH));
     124        centerPanel.add(historyPane, GBC.eol().fill(GBC.BOTH));
     125        add(centerPanel, BorderLayout.CENTER);
    126126
    127                 JPanel buttons = new JPanel(new GridLayout(1,2));
    128                 buttons.add(new SideButton(marktr("Reload"), "refresh", "History", tr("Reload all currently selected objects and refresh the list."),
    129                 new ActionListener(){
    130                         public void actionPerformed(ActionEvent e) {
    131                                 reload();
    132                         }
    133                 }));
    134                 buttons.add(new SideButton(marktr("Revert"), "revert", "History",
    135                 tr("Revert the state of all currently selected objects to the version selected in the history list."), new ActionListener(){
    136                         public void actionPerformed(ActionEvent e) {
    137                                 JOptionPane.showMessageDialog(Main.parent, tr("Not implemented yet."));
    138                         }
    139                 }));
    140                 add(buttons, BorderLayout.SOUTH);
     127        JPanel buttons = new JPanel(new GridLayout(1,2));
     128        buttons.add(new SideButton(marktr("Reload"), "refresh", "History", tr("Reload all currently selected objects and refresh the list."),
     129        new ActionListener(){
     130            public void actionPerformed(ActionEvent e) {
     131                reload();
     132            }
     133        }));
     134        buttons.add(new SideButton(marktr("Revert"), "revert", "History",
     135        tr("Revert the state of all currently selected objects to the version selected in the history list."), new ActionListener(){
     136            public void actionPerformed(ActionEvent e) {
     137                JOptionPane.showMessageDialog(Main.parent, tr("Not implemented yet."));
     138            }
     139        }));
     140        add(buttons, BorderLayout.SOUTH);
    141141
    142                 DataSet.selListeners.add(this);
    143         }
     142        DataSet.selListeners.add(this);
     143    }
    144144
    145145
    146         @Override public void setVisible(boolean b) {
    147                 super.setVisible(b);
    148                 if (b)
    149                         update();
    150         }
     146    @Override public void setVisible(boolean b) {
     147        super.setVisible(b);
     148        if (b)
     149            update();
     150    }
    151151
    152152
    153         public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
    154                 if (isVisible())
    155                         update();
    156         }
     153    public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
     154        if (isVisible())
     155            update();
     156    }
    157157
    158         /**
    159         * Identify all new objects in the selection and if any, hide the list.
    160         * Else, update the list with the selected items shown.
    161         */
    162         private void update() {
    163                 Collection<OsmPrimitive> sel = Main.ds.getSelected();
    164                 if (!cache.keySet().containsAll(sel)) {
    165                         historyPane.setVisible(false);
    166                         notLoaded.setVisible(true);
    167                 } else {
    168                         SortedSet<HistoryItem> orderedHistory = new TreeSet<HistoryItem>();
    169                         for (OsmPrimitive osm : sel)
    170                                 orderedHistory.addAll(cache.get(osm));
    171                         data.setRowCount(0);
    172                         for (HistoryItem i : orderedHistory)
    173                                 data.addRow(new Object[]{i.osm, i.osm.timestamp, i.visible});
    174                         historyPane.setVisible(true);
    175                         notLoaded.setVisible(false);
    176                 }
    177         }
     158    /**
     159    * Identify all new objects in the selection and if any, hide the list.
     160    * Else, update the list with the selected items shown.
     161    */
     162    private void update() {
     163        Collection<OsmPrimitive> sel = Main.ds.getSelected();
     164        if (!cache.keySet().containsAll(sel)) {
     165            historyPane.setVisible(false);
     166            notLoaded.setVisible(true);
     167        } else {
     168            SortedSet<HistoryItem> orderedHistory = new TreeSet<HistoryItem>();
     169            for (OsmPrimitive osm : sel)
     170                orderedHistory.addAll(cache.get(osm));
     171            data.setRowCount(0);
     172            for (HistoryItem i : orderedHistory)
     173                data.addRow(new Object[]{i.osm, i.osm.timestamp, i.visible});
     174            historyPane.setVisible(true);
     175            notLoaded.setVisible(false);
     176        }
     177    }
    178178
    179         void reload() {
    180                 JOptionPane.showMessageDialog(Main.parent, tr("Not implemented yet."));
    181         }
     179    void reload() {
     180        JOptionPane.showMessageDialog(Main.parent, tr("Not implemented yet."));
     181    }
    182182}
Note: See TracChangeset for help on using the changeset viewer.