James Moger
2012-01-05 cb285cbfddfc0b633d6b8cdb4dc0d2bd2b8b51ef
src/com/gitblit/client/JPalette.java
@@ -18,6 +18,7 @@
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
@@ -39,6 +40,10 @@
   private PaletteModel<T> selectedModel;
   public JPalette() {
      this(false);
   }
   public JPalette(boolean controlOrder) {
      super(new BorderLayout(5, 5));
      availableModel = new PaletteModel<T>();
@@ -85,16 +90,44 @@
         }
      });
      JButton up = new JButton("\u2191");
      up.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent event) {
            int row = selected.getSelectedRow();
            if (row > 0) {
               T o = selectedModel.list.remove(row);
               selectedModel.list.add(row - 1, o);
               selectedModel.fireTableDataChanged();
            }
         }
      });
      JButton down = new JButton("\u2193");
      down.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent event) {
            int row = selected.getSelectedRow();
            if (row < selected.getRowCount() - 1) {
               T o = selectedModel.list.remove(row);
               selectedModel.list.add(row + 1, o);
               selectedModel.fireTableDataChanged();
            }
         }
      });
      JPanel controls = new JPanel(new GridLayout(0, 1, 0, 5));
      controls.add(add);
      controls.add(subtract);
      if (controlOrder) {
         controls.add(up);
         controls.add(down);
      }
      JPanel center = new JPanel(new GridBagLayout());
      center.add(controls);
      add(newListPanel("Available", available), BorderLayout.WEST);
      add(newListPanel(Translation.get("gb.available"), available), BorderLayout.WEST);
      add(center, BorderLayout.CENTER);
      add(newListPanel("Selected", selected), BorderLayout.EAST);
      add(newListPanel(Translation.get("gb.selected"), selected), BorderLayout.EAST);
   }
   private JPanel newListPanel(String label, JTable table) {
@@ -110,7 +143,9 @@
      JScrollPane jsp = new JScrollPane(table);
      jsp.setPreferredSize(new Dimension(225, 175));
      JPanel panel = new JPanel(new BorderLayout());
      panel.add(new JLabel(label), BorderLayout.NORTH);
      JLabel jlabel = new JLabel(label);
      jlabel.setFont(jlabel.getFont().deriveFont(Font.BOLD));
      panel.add(jlabel, BorderLayout.NORTH);
      panel.add(jsp, BorderLayout.CENTER);
      return panel;
   }
@@ -161,7 +196,7 @@
      @Override
      public String getColumnName(int column) {
         return "Name";
         return Translation.get("gb.name");
      }
      public Class<?> getColumnClass(int columnIndex) {