~tapaal-contributor/tapaal/disappearing-tokens-1940098

« back to all changes in this revision

Viewing changes to src/dk/aau/cs/gui/SharedPlacesAndTransitionsPanel.java

- Did some refactorings in the model.
- Added double click shortcut to shared places/transitions list.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
import java.awt.Container;
5
5
import java.awt.event.ActionEvent;
6
6
import java.awt.event.ActionListener;
 
7
import java.awt.event.MouseAdapter;
 
8
import java.awt.event.MouseEvent;
 
9
import java.awt.event.MouseListener;
7
10
 
8
11
import javax.swing.AbstractListModel;
9
12
import javax.swing.BorderFactory;
59
62
                list = new JList();
60
63
                list.addListSelectionListener(new ListSelectionListener() {
61
64
                        public void valueChanged(ListSelectionEvent e) {
62
 
                                JList source = (JList)e.getSource();
63
 
                                if(source.getSelectedIndex() == -1){
64
 
                                        removeButton.setEnabled(false);
65
 
                                        renameButton.setEnabled(false);
66
 
                                }else{
67
 
                                        removeButton.setEnabled(true);
68
 
                                        renameButton.setEnabled(true);
 
65
                                if(!e.getValueIsAdjusting()){
 
66
                                        JList source = (JList)e.getSource();
 
67
                                        if(source.getSelectedIndex() == -1){
 
68
                                                removeButton.setEnabled(false);
 
69
                                                renameButton.setEnabled(false);
 
70
                                        }else{
 
71
                                                removeButton.setEnabled(true);
 
72
                                                renameButton.setEnabled(true);
 
73
                                        }
69
74
                                }
70
75
                        }
71
76
                });
 
77
                list.addMouseListener(createDoubleClickMouseAdapter());
 
78
                
72
79
                JScrollPane scrollPane = new JScrollPane(list);
73
80
 
74
81
                placesTransitionsComboBox = new JComboBox(new String[]{ PLACES, TRANSITIONS });
119
126
                add(buttonPanel, BorderLayout.PAGE_END);
120
127
        }
121
128
 
 
129
        private MouseListener createDoubleClickMouseAdapter() {
 
130
                return new MouseAdapter() {
 
131
                        @Override
 
132
                        public void mouseClicked(MouseEvent arg0) {
 
133
                                if (!list.isSelectionEmpty()) {
 
134
                                        if (arg0.getButton() == MouseEvent.BUTTON1 && arg0.getClickCount() == 2) {
 
135
                                                if(isDisplayingTransitions()){
 
136
                                                        showSharedTransitionNameDialog((SharedTransition)list.getSelectedValue());
 
137
                                                }else{
 
138
                                                        showSharedPlaceNameDialog((SharedPlace)list.getSelectedValue());
 
139
                                                }
 
140
                                        }
 
141
                                }
 
142
                        }
 
143
                };
 
144
        }
 
145
 
122
146
        private boolean isDisplayingTransitions(){
123
147
                return placesTransitionsComboBox.getSelectedItem().equals(TRANSITIONS);
124
148
        }
135
159
                guiDialog.setLocationRelativeTo(null);
136
160
                guiDialog.setVisible(true);
137
161
        }
138
 
        
 
162
 
139
163
        private void showSharedPlaceNameDialog(SharedPlace placeToEdit) {
140
164
                EscapableDialog guiDialog = new EscapableDialog(CreateGui.getApp(), Pipe.TOOL + " " + Pipe.VERSION, true);
141
165
                Container contentPane = guiDialog.getContentPane();
142
166
                contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.PAGE_AXIS));
143
 
                
 
167
 
144
168
                JPanel panel = new SharedPlaceNamePanel(guiDialog.getRootPane(), sharedPlacesListModel, undoManager, placeToEdit);
145
169
                contentPane.add(panel);
146
170
 
177
201
                        network.remove(place);
178
202
                        fireContentsChanged(this, 0, getSize());
179
203
                }
180
 
                
 
204
 
181
205
                public void updatedName(){
182
206
                        fireContentsChanged(this, 0, getSize());
183
207
                }