1 package es.inteco.eni.swing;
2
3 import java.awt.event.MouseEvent;
4 import java.awt.event.MouseListener;
5
6 import javax.swing.tree.DefaultMutableTreeNode;
7
8 import es.inteco.eni.commons.EniConstants;
9 import es.inteco.eni.swing.TreeViewPane.TreeViewNode;
10
11
12
13
14
15
16
17
18 public class TreeViewMouseListener implements MouseListener{
19
20
21
22
23 private TreeViewPane treeViewPane;
24
25
26
27 private ENIValidator eniValidator;
28
29
30
31
32
33 public TreeViewMouseListener(ENIValidator eniValidator, TreeViewPane treeViewPane){
34 this.eniValidator = eniValidator;
35 this.treeViewPane = treeViewPane;
36 }
37
38
39
40
41
42 @Override
43 public void mouseClicked(MouseEvent e) {
44
45 }
46
47
48
49
50 public TreeViewPane gettreeViewPane() {
51 return treeViewPane;
52 }
53
54
55
56
57 public void settreeViewPane(TreeViewPane treeViewPane) {
58 this.treeViewPane = treeViewPane;
59 }
60
61
62
63
64
65 public ENIValidator getEniValidator() {
66 return eniValidator;
67 }
68
69
70
71
72 public void setEniValidator(ENIValidator eniValidator) {
73 this.eniValidator = eniValidator;
74 }
75
76
77
78
79
80 @Override
81 public void mouseEntered(MouseEvent e) {
82
83 }
84
85
86
87
88
89 @Override
90 public void mouseExited(MouseEvent e) {
91 }
92
93
94
95
96
97 @Override
98 public void mousePressed(MouseEvent e) {
99
100 if(e.getClickCount()==2){
101 DefaultMutableTreeNode node = (DefaultMutableTreeNode)gettreeViewPane().getTree().getLastSelectedPathComponent();
102 if (node == null){
103 return;
104 }
105
106 Object nodeInfo = node.getUserObject();
107 TreeViewNode treeViewNode = (TreeViewNode)nodeInfo;
108
109 if(treeViewNode!=null && FileOpener.isFile(treeViewNode.getXmlNode())){
110 DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode)node.getParent();
111 if(parentNode!=null){
112 Object parentNodeInfo = parentNode.getUserObject();
113 TreeViewNode parentTreeViewNode = (TreeViewNode)parentNodeInfo;
114 FileOpener fileOpener = new FileOpener();
115 fileOpener.openFile(getEniValidator(), treeViewNode.getXmlNode(), parentTreeViewNode.getXmlNode());
116 }
117 }
118 }
119 }
120
121
122
123
124
125
126
127 @Override
128 public void mouseReleased(MouseEvent e) {
129 }
130
131 }