1 package fr.ifremer.tutti.ui.swing.content.protocol.rtp;
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 import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel;
28 import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI;
29 import jaxx.runtime.SwingUtil;
30
31 import javax.swing.JToggleButton;
32 import javax.swing.RowSorter;
33 import java.awt.event.WindowAdapter;
34 import java.awt.event.WindowEvent;
35
36 import static org.nuiton.i18n.I18n.t;
37
38
39
40
41
42
43 public class RtpButton extends JToggleButton {
44
45 private static final long serialVersionUID = 1L;
46
47 protected final RtpEditorUI popup;
48
49 public RtpButton(final EditProtocolUI ui) {
50
51 setIcon(SwingUtil.createActionIcon("edit-rtp"));
52 setText(t("tutti.editRtp.button"));
53 setToolTipText(t("tutti.editRtp.button.tip"));
54
55 popup = ui.getRtpEditorUI();
56
57 popup.addWindowListener(new WindowAdapter() {
58
59 @Override
60 public void windowOpened(WindowEvent e) {
61 setSelected(true);
62 }
63
64 @Override
65 public void windowClosing(WindowEvent e) {
66 setSelected(false);
67 }
68
69 @Override
70 public void windowClosed(WindowEvent e) {
71
72 setSelected(false);
73 }
74 });
75
76 addActionListener(e -> {
77 if (isSelected()) {
78 if (!popup.isVisible()) {
79 SwingUtil.center(ui.getHandler().getContext().getMainUI(), popup);
80 popup.openEditor();
81 }
82 }
83
84
85
86 });
87
88 }
89
90 public void init(EditProtocolSpeciesTableModel tableModel, RowSorter rowSorter, int rowIndex) {
91 popup.setBean(tableModel, rowSorter, rowIndex);
92 }
93
94 }