1 package jp.sourceforge.stigmata.ui.swing;
3 import java.awt.BorderLayout;
4 import java.awt.Dimension;
5 import java.awt.GridLayout;
6 import java.awt.event.ActionEvent;
7 import java.awt.event.ActionListener;
8 import java.util.Iterator;
10 import javax.swing.Box;
11 import javax.swing.JButton;
12 import javax.swing.JCheckBox;
13 import javax.swing.JPanel;
17 * @author Haruaki TAMADA
19 public class BirthmarkSelectionCheckSetPane extends BirthmarkSelectablePane{
20 private static final long serialVersionUID = 3209854654743223453L;
22 private JPanel checks = new JPanel();
24 public BirthmarkSelectionCheckSetPane(StigmataFrame stigmata){
30 private void initLayouts(){
31 setLayout(new BorderLayout());
32 add(checks, BorderLayout.CENTER);
34 JButton checkAll = GUIUtility.createButton(getMessages(), "checkall");
35 JButton uncheckAll = GUIUtility.createButton(getMessages(), "uncheckall");
37 Box box = Box.createHorizontalBox();
38 box.add(Box.createHorizontalGlue());
40 box.add(Box.createHorizontalGlue());
42 box.add(Box.createHorizontalGlue());
43 add(box, BorderLayout.SOUTH);
45 ActionListener listener = new ActionListener(){
47 public void actionPerformed(ActionEvent e){
48 boolean flag = e.getActionCommand().equals("checkall");
49 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
50 BirthmarkSelection le = i.next();
57 checkAll.addActionListener(listener);
58 uncheckAll.addActionListener(listener);
62 * update layouts and update selected birthmarks list.
65 protected void updateLayouts(){
67 Dimension d = calculateDimension();
68 checks.setLayout(new GridLayout(d.height, d.width));
70 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
71 final BirthmarkSelection elem = i.next();
72 if(elem.isVisible(isExperimentalMode())){
73 JCheckBox check = new JCheckBox(elem.getService().getType());
74 check.setSelected(elem.isSelected());
75 check.addActionListener(new ActionListener(){
77 public void actionPerformed(ActionEvent e){
78 JCheckBox c = (JCheckBox)e.getSource();
79 elem.setSelected(c.isSelected());
80 select(elem.getService().getType(), c.isSelected());
87 select(elem.getType(), elem.isVisible(isExperimentalMode()) && elem.isSelected());
92 private Dimension calculateDimension(){
95 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
96 BirthmarkSelection selection = i.next();
97 if(selection.isVisible(isExperimentalMode())){
104 if((cols % 3) != 0) rows++;
108 return new Dimension(cols, rows);