source: java/main/src/main/java/com/framsticks/gui/table/ProcedureEditor.java @ 193

Last change on this file since 193 was 193, checked in by Maciej Komosinski, 10 years ago

Set svn:eol-style native for all textual files

  • Property svn:eol-style set to native
File size: 1.5 KB
Line 
1package com.framsticks.gui.table;
2
3import java.awt.Component;
4import java.awt.event.ActionEvent;
5import java.awt.event.ActionListener;
6
7import javax.swing.DefaultCellEditor;
8import javax.swing.JButton;
9import javax.swing.JCheckBox;
10import javax.swing.JTable;
11
12import com.framsticks.params.types.ProcedureParam;
13import com.framsticks.util.lang.Casting;
14
15@SuppressWarnings("serial")
16public class ProcedureEditor extends DefaultCellEditor {
17
18        protected JButton button;
19
20        private ProcedureParam procedure;
21
22        private boolean isPushed;
23
24        public ProcedureEditor(JCheckBox checkBox) {
25                super(checkBox);
26                button = new JButton();
27                button.setOpaque(true);
28                button.addActionListener(new ActionListener() {
29                        public void actionPerformed(ActionEvent e) {
30                                fireEditingStopped();
31                        }
32                });
33        }
34
35        public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
36                TableModel.transferCellAppeariance(table, button, isSelected);
37                procedure = Casting.assertCast(ProcedureParam.class, value);
38                button.setText(procedure.getName());
39                isPushed = true;
40                return button;
41        }
42
43        public Object getCellEditorValue() {
44                if (isPushed) {
45                        //
46                        //
47                        // JOptionPane.showMessageDialog(button, label + ": Ouch!");
48                        // System.out.println(label + ": Ouch!");
49                }
50                isPushed = false;
51                return procedure;
52        }
53
54        public boolean stopCellEditing() {
55                isPushed = false;
56                return super.stopCellEditing();
57        }
58
59        protected void fireEditingStopped() {
60                super.fireEditingStopped();
61        }
62
63}
Note: See TracBrowser for help on using the repository browser.