1 package fr.ifremer.quadrige3.ui.swing.action;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.quadrige3.core.ProgressionCoreModel;
26 import org.nuiton.jaxx.application.swing.action.ApplicationActionUIHandler;
27
28 import java.awt.Dimension;
29
30
31
32
33 public class ActionUIHandler extends ApplicationActionUIHandler {
34
35 public ActionUIHandler() {
36 super();
37
38
39 progressionListener = evt -> {
40
41 String propertyName = evt.getPropertyName();
42 if (ProgressionCoreModel.PROPERTY_MESSAGE.equals(propertyName)) {
43
44
45 String newMessage = (String) evt.getNewValue();
46 ui.getTaskActionLabel().setText("<html><body>" + newMessage + "</body></html>");
47
48 adaptSize();
49 } else if (ProgressionCoreModel.PROPERTY_TOTAL.equals(propertyName)) {
50
51
52 ui.getTaskProgressBar().setMaximum((Integer) evt.getNewValue());
53
54 } else if (ProgressionCoreModel.PROPERTY_CURRENT.equals(propertyName)) {
55
56
57 ui.getTaskProgressBar().setValue((Integer) evt.getNewValue());
58 }
59 };
60 }
61
62
63
64
65 private void adaptSize() {
66
67 Dimension prefSize = ui.getPreferredSize();
68 Dimension size = ui.getSize();
69
70 if (prefSize.getWidth() > size.getWidth() || prefSize.getHeight() > size.getHeight()) {
71 ui.pack();
72 }
73
74 }
75 }