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
23 public class BirthmarkSelectionCheckSetPane extends BirthmarkSelectablePane{
24 private static final long serialVersionUID = 3209854654743223453L;
26 private JPanel checks = new JPanel();
28 public BirthmarkSelectionCheckSetPane(StigmataFrame stigmata){
34 private void initLayouts(){
35 setLayout(new BorderLayout());
36 add(checks, BorderLayout.CENTER);
38 JButton checkAll = GUIUtility.createButton(getMessages(), "checkall");
39 JButton uncheckAll = GUIUtility.createButton(getMessages(), "uncheckall");
41 Box box = Box.createHorizontalBox();
42 box.add(Box.createHorizontalGlue());
44 box.add(Box.createHorizontalGlue());
46 box.add(Box.createHorizontalGlue());
47 add(box, BorderLayout.SOUTH);
49 ActionListener listener = new ActionListener(){
51 public void actionPerformed(ActionEvent e){
52 boolean flag = e.getActionCommand().equals("checkall");
53 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
54 BirthmarkSelection le = i.next();
61 checkAll.addActionListener(listener);
62 uncheckAll.addActionListener(listener);
66 * update layouts and update selected birthmarks list.
69 protected void updateLayouts(){
71 Dimension d = calculateDimension();
72 checks.setLayout(new GridLayout(d.height, d.width));
74 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
75 final BirthmarkSelection elem = i.next();
76 if(elem.isVisible(isExperimentalMode())){
77 JCheckBox check = new JCheckBox(elem.getService().getDisplayType());
78 check.setSelected(elem.isSelected());
79 check.addActionListener(new ActionListener(){
81 public void actionPerformed(ActionEvent e){
82 JCheckBox c = (JCheckBox)e.getSource();
83 elem.setSelected(c.isSelected());
84 select(elem.getService().getType(), c.isSelected());
91 select(elem.getType(), elem.isVisible(isExperimentalMode()) && elem.isSelected());
96 private Dimension calculateDimension(){
99 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
100 BirthmarkSelection selection = i.next();
101 if(selection.isVisible(isExperimentalMode())){
108 if((cols % 3) != 0) rows++;
112 return new Dimension(cols, rows);