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(){
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.
68 protected void updateLayouts(){
70 Dimension d = calculateDimension();
71 checks.setLayout(new GridLayout(d.height, d.width));
73 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
74 final BirthmarkSelection elem = i.next();
75 if(elem.isVisible(isExpertMode())){
76 JCheckBox check = new JCheckBox(elem.getService().getDisplayType());
77 check.setSelected(elem.isSelected());
78 check.addActionListener(new ActionListener(){
79 public void actionPerformed(ActionEvent e){
80 JCheckBox c = (JCheckBox)e.getSource();
81 elem.setSelected(c.isSelected());
82 select(elem.getService().getType(), c.isSelected());
89 select(elem.getType(), elem.isVisible(isExpertMode()) && elem.isSelected());
94 private Dimension calculateDimension(){
97 for(Iterator<BirthmarkSelection> i = birthmarkSelections(); i.hasNext(); ){
98 BirthmarkSelection selection = i.next();
99 if(selection.isVisible(isExpertMode())){
106 if((cols % 3) != 0) rows++;
110 return new Dimension(cols, rows);