1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package org.ximtec.igesture.geco.gui.action;
28
29 import java.awt.event.ActionEvent;
30 import java.io.File;
31
32 import javax.swing.JFileChooser;
33 import javax.swing.JOptionPane;
34
35 import org.sigtec.graphix.widget.BasicAction;
36 import org.sigtec.util.MIME;
37 import org.ximtec.igesture.core.GestureSet;
38 import org.ximtec.igesture.geco.gui.MainView;
39 import org.ximtec.igesture.geco.util.Constant;
40 import org.ximtec.igesture.geco.util.ExtensionFileFilter;
41 import org.ximtec.igesture.geco.util.GuiBundleTool;
42 import org.ximtec.igesture.util.XMLTool;
43
44
45
46
47
48
49
50
51
52 public class LoadGestureSetAction extends BasicAction {
53
54
55
56
57 public static final String KEY = "LoadGestureSetAction";
58
59 private MainView mainView;
60
61
62 public LoadGestureSetAction(MainView mainView) {
63 super(KEY, GuiBundleTool.getBundle());
64 this.mainView = mainView;
65 }
66
67
68
69
70
71
72
73 public void actionPerformed(ActionEvent event) {
74
75 int n = 0;
76 if (!mainView.getModel().getMappings().isEmpty()) {
77 n = JOptionPane.showConfirmDialog(mainView,
78 Constant.LOAD_GESTURE_SET_CONFIRMATION, Constant.EMPTY_STRING,
79 JOptionPane.YES_NO_OPTION);
80 }
81 if (n == 0) {
82 JFileChooser fileChooser = new JFileChooser();
83 fileChooser.setFileFilter(new ExtensionFileFilter(MIME
84 .getExtension(MIME.XML), new String[] { MIME
85 .getExtension(MIME.XML) }));
86 int status = fileChooser.showOpenDialog(null);
87 if (status == JFileChooser.APPROVE_OPTION) {
88 File selectedFile = fileChooser.getSelectedFile();
89 if (selectedFile != null) {
90 String ext = selectedFile.getName().substring(
91 selectedFile.getName().length() - 3,
92 selectedFile.getName().length());
93 if (ext.equals(MIME.getExtension(MIME.XML))) {
94
95 mainView.getModel().clearData();
96 mainView.getModel().loadGestureSet(
97 loadGestureSet(selectedFile));
98 mainView.getModel().setGestureSetFileName(
99 selectedFile.getAbsolutePath());
100
101 mainView.updateGestureList();
102 mainView.enableSaveButton();
103 }
104
105 }
106
107 }
108
109 }
110
111 }
112
113
114
115
116
117
118
119 public GestureSet loadGestureSet(File file) {
120 return XMLTool.importGestureSet(file);
121 }
122
123 }