From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 25 Feb 2013 08:40:30 -0500 Subject: [PATCH] Merge pull request #75 from thefake/master --- src/com/gitblit/client/JPalette.java | 63 +++++++++++++++++++++++++++---- 1 files changed, 55 insertions(+), 8 deletions(-) diff --git a/src/com/gitblit/client/JPalette.java b/src/com/gitblit/client/JPalette.java index 19456e1..a0c2b25 100644 --- a/src/com/gitblit/client/JPalette.java +++ b/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; @@ -37,8 +38,16 @@ private static final long serialVersionUID = 1L; private PaletteModel<T> availableModel; private PaletteModel<T> selectedModel; + private JButton add; + private JButton subtract; + private JButton up; + private JButton down; public JPalette() { + this(false); + } + + public JPalette(boolean controlOrder) { super(new BorderLayout(5, 5)); availableModel = new PaletteModel<T>(); @@ -47,7 +56,7 @@ final JTable available = new JTable(availableModel); final JTable selected = new JTable(selectedModel); - JButton add = new JButton("->"); + add = new JButton("->"); add.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { List<T> move = new ArrayList<T>(); @@ -65,7 +74,7 @@ selectedModel.fireTableDataChanged(); } }); - JButton subtract = new JButton("<-"); + subtract = new JButton("<-"); subtract.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { List<T> move = new ArrayList<T>(); @@ -85,34 +94,72 @@ } }); + 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(); + } + } + }); + + 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) { NameRenderer nameRenderer = new NameRenderer(); table.setCellSelectionEnabled(false); table.setRowSelectionAllowed(true); - table.setRowHeight(nameRenderer.getFont().getSize() + 8); table.getTableHeader().setReorderingAllowed(false); table.setGridColor(new Color(0xd9d9d9)); table.setBackground(Color.white); table.getColumn(table.getColumnName(0)).setCellRenderer(nameRenderer); JScrollPane jsp = new JScrollPane(table); - jsp.setPreferredSize(new Dimension(225, 175)); + jsp.setPreferredSize(new Dimension(225, 160)); 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; + } + + @Override + public void setEnabled(boolean enabled) { + super.setEnabled(enabled); + add.setEnabled(enabled); + subtract.setEnabled(enabled); + up.setEnabled(enabled); + down.setEnabled(enabled); } public void setObjects(List<T> all, List<T> selected) { @@ -161,7 +208,7 @@ @Override public String getColumnName(int column) { - return "Name"; + return Translation.get("gb.name"); } public Class<?> getColumnClass(int columnIndex) { -- Gitblit v1.9.1