1 package jp.sourceforge.stigmata.ui.swing;
7 import java.awt.BorderLayout;
8 import java.awt.Dimension;
9 import java.awt.GridLayout;
10 import java.awt.event.ActionEvent;
11 import java.awt.event.ActionListener;
12 import java.util.Iterator;
14 import javax.swing.Box;
15 import javax.swing.JButton;
16 import javax.swing.JCheckBox;
17 import javax.swing.JPanel;
21 * @author Haruaki TAMADA
24 public class BirthmarkSelectionCheckSetPane extends BirthmarkSelectablePane{
25 private static final long serialVersionUID = 3209854654743223453L;
27 private JPanel checks = new JPanel();
29 public BirthmarkSelectionCheckSetPane(StigmataFrame stigmata){
35 private void initLayouts(){
36 setLayout(new BorderLayout());
37 add(checks, BorderLayout.CENTER);
39 JButton checkAll = GUIUtility.createButton(getMessages(), "checkall");
40 JButton uncheckAll = GUIUtility.createButton(getMessages(), "uncheckall");
42 Box box = Box.createHorizontalBox();
43 box.add(Box.createHorizontalGlue());
45 box.add(Box.createHorizontalGlue());
47 box.add(Box.createHorizontalGlue());
48 add(box, BorderLayout.SOUTH);
50 ActionListener listener = new ActionListener(){
52 public void actionPerformed(ActionEvent e){
53 boolean flag = e.getActionCommand().equals("checkall");
54 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
55 BirthmarkSelection le = i.next();
62 checkAll.addActionListener(listener);
63 uncheckAll.addActionListener(listener);
67 * update layouts and update selected birthmarks list.
70 protected void updateLayouts(){
72 Dimension d = calculateDimension();
73 checks.setLayout(new GridLayout(d.height, d.width));
75 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
76 final BirthmarkSelection elem = i.next();
77 if(elem.isVisible(isExperimentalMode())){
78 JCheckBox check = new JCheckBox(elem.getService().getDisplayType());
79 check.setSelected(elem.isSelected());
80 check.addActionListener(new ActionListener(){
82 public void actionPerformed(ActionEvent e){
83 JCheckBox c = (JCheckBox)e.getSource();
84 elem.setSelected(c.isSelected());
85 select(elem.getService().getType(), c.isSelected());
92 select(elem.getType(), elem.isVisible(isExperimentalMode()) && elem.isSelected());
97 private Dimension calculateDimension(){
100 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
101 BirthmarkSelection selection = i.next();
102 if(selection.isVisible(isExperimentalMode())){
109 if((cols % 3) != 0) rows++;
113 return new Dimension(cols, rows);