/[schmitzm]/trunk/src/skrueger/swing/checkboxtree/CheckBoxNodeEditor.java
ViewVC logotype

Annotation of /trunk/src/skrueger/swing/checkboxtree/CheckBoxNodeEditor.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 714 - (hide annotations)
Sun Feb 21 19:17:34 2010 UTC (15 years ago) by alfonx
File MIME type: text/plain
File size: 2278 byte(s)
Started a new wizard to import maps and data from other GP atlases. Basically works. This included some simplifacation in the ResourceManager code. It is now a field of the specific AtlasConfig instance. 
1 alfonx 714 package skrueger.swing.checkboxtree;
2    
3     import java.awt.Component;
4     import java.awt.event.ItemEvent;
5     import java.awt.event.ItemListener;
6     import java.awt.event.MouseEvent;
7     import java.util.EventObject;
8    
9     import javax.swing.AbstractCellEditor;
10     import javax.swing.JCheckBox;
11     import javax.swing.JTree;
12     import javax.swing.event.ChangeEvent;
13     import javax.swing.tree.DefaultMutableTreeNode;
14     import javax.swing.tree.TreeCellEditor;
15     import javax.swing.tree.TreePath;
16    
17     public class CheckBoxNodeEditor extends AbstractCellEditor implements TreeCellEditor {
18    
19     protected CheckBoxNodeRenderer renderer = new CheckBoxNodeRenderer();
20    
21     ChangeEvent changeEvent = null;
22    
23     JTree tree;
24    
25     public CheckBoxNodeEditor(JTree tree) {
26     this.tree = tree;
27     }
28    
29     public Object getCellEditorValue() {
30     JCheckBox checkbox = renderer.getLeafRenderer();
31     CheckBoxNode checkBoxNode = new CheckBoxNode(checkbox.getText(),
32     checkbox.isSelected());
33     return checkBoxNode;
34     }
35    
36     public boolean isCellEditable(EventObject event) {
37     boolean returnValue = false;
38     if (event instanceof MouseEvent) {
39     MouseEvent mouseEvent = (MouseEvent) event;
40     TreePath path = tree.getPathForLocation(mouseEvent.getX(),
41     mouseEvent.getY());
42     if (path != null) {
43     Object node = path.getLastPathComponent();
44     if ((node != null) && (node instanceof DefaultMutableTreeNode)) {
45     DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) node;
46     Object userObject = treeNode.getUserObject();
47     returnValue = ((treeNode.isLeaf()) && (userObject instanceof CheckBoxNode));
48     }
49     }
50     }
51     return returnValue;
52     }
53    
54     public Component getTreeCellEditorComponent(JTree tree, Object value,
55     boolean selected, boolean expanded, boolean leaf, int row) {
56    
57     Component editor = renderer.getTreeCellRendererComponent(tree, value,
58     true, expanded, leaf, row, true);
59    
60     // editor always selected / focused
61     ItemListener itemListener = new ItemListener() {
62     public void itemStateChanged(ItemEvent itemEvent) {
63     if (stopCellEditing()) {
64     fireEditingStopped();
65     }
66     }
67     };
68     if (editor instanceof JCheckBox) {
69     ((JCheckBox) editor).addItemListener(itemListener);
70     }
71    
72     return editor;
73     }
74     }

Properties

Name Value
svn:eol-style native
svn:keywords Id URL
svn:mime-type text/plain

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26