Lines 38-50
Link Here
|
38 |
* Version 2 license, then the option applies only if the new code is |
38 |
* Version 2 license, then the option applies only if the new code is |
39 |
* made subject to such option by the copyright holder. |
39 |
* made subject to such option by the copyright holder. |
40 |
*/ |
40 |
*/ |
41 |
|
|
|
42 |
package org.netbeans.modules.java.editor.options; |
41 |
package org.netbeans.modules.java.editor.options; |
43 |
|
42 |
|
|
|
43 |
import java.awt.Component; |
44 |
import java.util.ArrayList; |
45 |
import java.util.Arrays; |
46 |
import java.util.Collections; |
47 |
import java.util.List; |
48 |
import java.util.Vector; |
44 |
import java.util.prefs.Preferences; |
49 |
import java.util.prefs.Preferences; |
45 |
import javax.swing.JComponent; |
50 |
import javax.swing.JComponent; |
|
|
51 |
import javax.swing.JTable; |
46 |
import javax.swing.event.DocumentEvent; |
52 |
import javax.swing.event.DocumentEvent; |
47 |
import javax.swing.event.DocumentListener; |
53 |
import javax.swing.event.DocumentListener; |
|
|
54 |
import javax.swing.event.TableModelEvent; |
55 |
import javax.swing.event.TableModelListener; |
56 |
import javax.swing.table.DefaultTableModel; |
48 |
import org.netbeans.modules.options.editor.spi.PreferencesCustomizer; |
57 |
import org.netbeans.modules.options.editor.spi.PreferencesCustomizer; |
49 |
import org.openide.util.HelpCtx; |
58 |
import org.openide.util.HelpCtx; |
50 |
|
59 |
|
Lines 52-76
Link Here
|
52 |
* |
61 |
* |
53 |
* @author Dusan Balek |
62 |
* @author Dusan Balek |
54 |
*/ |
63 |
*/ |
55 |
public class CodeCompletionPanel extends javax.swing.JPanel implements DocumentListener { |
64 |
public class CodeCompletionPanel extends javax.swing.JPanel implements DocumentListener, TableModelListener { |
56 |
|
65 |
|
57 |
public static final String JAVA_AUTO_POPUP_ON_IDENTIFIER_PART = "javaAutoPopupOnIdentifierPart"; //NOI18N |
66 |
public static final String JAVA_AUTO_POPUP_ON_IDENTIFIER_PART = "javaAutoPopupOnIdentifierPart"; //NOI18N |
|
|
67 |
public static final boolean JAVA_AUTO_POPUP_ON_IDENTIFIER_PART_DEFAULT = false; |
58 |
public static final String JAVA_AUTO_COMPLETION_TRIGGERS = "javaAutoCompletionTriggers"; //NOI18N |
68 |
public static final String JAVA_AUTO_COMPLETION_TRIGGERS = "javaAutoCompletionTriggers"; //NOI18N |
|
|
69 |
public static final String JAVA_AUTO_COMPLETION_TRIGGERS_DEFAULT = "."; //NOI18N |
59 |
public static final String JAVA_COMPLETION_SELECTORS = "javaCompletionSelectors"; //NOI18N |
70 |
public static final String JAVA_COMPLETION_SELECTORS = "javaCompletionSelectors"; //NOI18N |
|
|
71 |
public static final String JAVA_COMPLETION_SELECTORS_DEFAULT = ".,;:([+-="; //NOI18N |
60 |
public static final String JAVADOC_AUTO_COMPLETION_TRIGGERS = "javadocAutoCompletionTriggers"; //NOI18N |
72 |
public static final String JAVADOC_AUTO_COMPLETION_TRIGGERS = "javadocAutoCompletionTriggers"; //NOI18N |
|
|
73 |
public static final String JAVADOC_AUTO_COMPLETION_TRIGGERS_DEFAULT = ".#@"; //NOI18N |
61 |
public static final String GUESS_METHOD_ARGUMENTS = "guessMethodArguments"; //NOI18N |
74 |
public static final String GUESS_METHOD_ARGUMENTS = "guessMethodArguments"; //NOI18N |
|
|
75 |
public static final boolean GUESS_METHOD_ARGUMENTS_DEFAULT = true; |
76 |
public static final String JAVA_COMPLETION_WHITELIST = "javaCompletionWhitelist"; //NOI18N |
77 |
public static final String JAVA_COMPLETION_WHITELIST_DEFAULT = ""; //NOI18N |
78 |
public static final String JAVA_COMPLETION_BLACKLIST = "javaCompletionBlacklist"; //NOI18N |
79 |
public static final String JAVA_COMPLETION_BLACKLIST_DEFAULT = ""; //NOI18N |
62 |
|
80 |
|
63 |
private Preferences preferences; |
81 |
private final Preferences preferences; |
64 |
|
82 |
|
|
|
83 |
private void initExcluderTable(JTable table, String pref) { |
84 |
String[] entries = pref.split(","); //NOI18N |
85 |
DefaultTableModel model = (DefaultTableModel) table.getModel(); |
86 |
for (String entry : entries) { |
87 |
if (entry.length() > 0) { |
88 |
model.addRow(new String[]{entry}); |
89 |
} |
90 |
} |
91 |
model.addTableModelListener(this); |
92 |
} |
93 |
|
65 |
/** Creates new form FmtTabsIndents */ |
94 |
/** Creates new form FmtTabsIndents */ |
66 |
public CodeCompletionPanel(Preferences p) { |
95 |
public CodeCompletionPanel(Preferences p) { |
67 |
initComponents(); |
96 |
initComponents(); |
68 |
preferences = p; |
97 |
preferences = p; |
69 |
guessMethodArguments.setSelected(preferences.getBoolean(GUESS_METHOD_ARGUMENTS, true)); |
98 |
guessMethodArguments.setSelected(preferences.getBoolean(GUESS_METHOD_ARGUMENTS, GUESS_METHOD_ARGUMENTS_DEFAULT)); |
70 |
javaAutoPopupOnIdentifierPart.setSelected(preferences.getBoolean(JAVA_AUTO_POPUP_ON_IDENTIFIER_PART, false)); |
99 |
javaAutoPopupOnIdentifierPart.setSelected(preferences.getBoolean(JAVA_AUTO_POPUP_ON_IDENTIFIER_PART, JAVA_AUTO_POPUP_ON_IDENTIFIER_PART_DEFAULT)); |
71 |
javaAutoCompletionTriggersField.setText(preferences.get(JAVA_AUTO_COMPLETION_TRIGGERS, ".")); //NOI18N |
100 |
javaAutoCompletionTriggersField.setText(preferences.get(JAVA_AUTO_COMPLETION_TRIGGERS, JAVA_AUTO_COMPLETION_TRIGGERS_DEFAULT)); |
72 |
javaCompletionSelectorsField.setText(preferences.get(JAVA_COMPLETION_SELECTORS, ".,;:([+-=")); //NOI18N |
101 |
javaCompletionSelectorsField.setText(preferences.get(JAVA_COMPLETION_SELECTORS, JAVA_COMPLETION_SELECTORS_DEFAULT)); |
73 |
javadocAutoCompletionTriggersField.setText(preferences.get(JAVADOC_AUTO_COMPLETION_TRIGGERS, ".#@")); //NOI18N |
102 |
javadocAutoCompletionTriggersField.setText(preferences.get(JAVADOC_AUTO_COMPLETION_TRIGGERS, JAVADOC_AUTO_COMPLETION_TRIGGERS_DEFAULT)); |
|
|
103 |
String blacklist = preferences.get(JAVA_COMPLETION_BLACKLIST, JAVA_COMPLETION_BLACKLIST_DEFAULT); |
104 |
initExcluderTable(javaCompletionExcludeTable, blacklist); |
105 |
String whitelist = preferences.get(JAVA_COMPLETION_WHITELIST, JAVA_COMPLETION_WHITELIST); |
106 |
initExcluderTable(javaCompletionIncludeTable, whitelist); |
74 |
javaAutoCompletionTriggersField.getDocument().addDocumentListener(this); |
107 |
javaAutoCompletionTriggersField.getDocument().addDocumentListener(this); |
75 |
javaCompletionSelectorsField.getDocument().addDocumentListener(this); |
108 |
javaCompletionSelectorsField.getDocument().addDocumentListener(this); |
76 |
javadocAutoCompletionTriggersField.getDocument().addDocumentListener(this); |
109 |
javadocAutoCompletionTriggersField.getDocument().addDocumentListener(this); |
Lines 97-102
Link Here
|
97 |
update(e); |
130 |
update(e); |
98 |
} |
131 |
} |
99 |
|
132 |
|
|
|
133 |
// allows common excluder buttons to know which table to act on |
134 |
private JTable getSelectedExcluderTable() { |
135 |
Component selected = javaCompletionExcluderTab.getSelectedComponent(); |
136 |
if (selected == javaCompletionExcludeScrollPane) { |
137 |
return javaCompletionExcludeTable; |
138 |
} else if (selected == javaCompletionIncludeScrollPane) { |
139 |
return javaCompletionIncludeTable; |
140 |
} else { |
141 |
throw new RuntimeException(selected.getName()); |
142 |
} |
143 |
} |
144 |
|
145 |
// listen to changes in the excluder lists, and do sanity checking on input |
146 |
public void tableChanged(TableModelEvent e) { |
147 |
DefaultTableModel model = (DefaultTableModel) e.getSource(); |
148 |
String pref; |
149 |
if (model == javaCompletionExcludeTable.getModel()) { |
150 |
pref = JAVA_COMPLETION_BLACKLIST; |
151 |
} else if (model == javaCompletionIncludeTable.getModel()) { |
152 |
pref = JAVA_COMPLETION_WHITELIST; |
153 |
} else { |
154 |
throw new RuntimeException(); |
155 |
} |
156 |
@SuppressWarnings("unchecked") |
157 |
Vector<Vector<String>> data = model.getDataVector(); |
158 |
List<String> entries = new ArrayList<String>(); |
159 |
for (Vector<String> row : data) { |
160 |
String entry = row.elementAt(0); |
161 |
if (entry == null) { |
162 |
continue; |
163 |
} |
164 |
entry = entry.trim(); |
165 |
if (entry.length() == 0) { |
166 |
continue; |
167 |
} |
168 |
// this could be checked by a custom editor |
169 |
if (!entry.matches("[$\\w.]*")) { //NOI18N |
170 |
continue; |
171 |
} |
172 |
entries.add(entry); |
173 |
} |
174 |
Collections.sort(entries); |
175 |
StringBuilder builder = new StringBuilder(); |
176 |
for (String entry : entries) { |
177 |
if (builder.length() > 0) { |
178 |
builder.append(","); //NOI18N |
179 |
} |
180 |
builder.append(entry); |
181 |
} |
182 |
preferences.put(pref, builder.toString()); |
183 |
} |
184 |
|
100 |
/** This method is called from within the constructor to |
185 |
/** This method is called from within the constructor to |
101 |
* initialize the form. |
186 |
* initialize the form. |
102 |
* WARNING: Do NOT modify this code. The content of this method is |
187 |
* WARNING: Do NOT modify this code. The content of this method is |
Lines 105-110
Link Here
|
105 |
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents |
190 |
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents |
106 |
private void initComponents() { |
191 |
private void initComponents() { |
107 |
|
192 |
|
|
|
193 |
javaCompletionExcluderFrame = new javax.swing.JFrame(); |
194 |
javaCompletionExcluderTab = new javax.swing.JTabbedPane(); |
195 |
javaCompletionExcludeScrollPane = new javax.swing.JScrollPane(); |
196 |
javaCompletionExcludeTable = new javax.swing.JTable(); |
197 |
javaCompletionIncludeScrollPane = new javax.swing.JScrollPane(); |
198 |
javaCompletionIncludeTable = new javax.swing.JTable(); |
199 |
javaCompletionExcluderAddButton = new javax.swing.JButton(); |
200 |
javaCompletionExcluderRemoveButton = new javax.swing.JButton(); |
201 |
javaCompletionExcluderCloseButton = new javax.swing.JButton(); |
202 |
javaCompletionPane = new javax.swing.JPanel(); |
108 |
guessMethodArguments = new javax.swing.JCheckBox(); |
203 |
guessMethodArguments = new javax.swing.JCheckBox(); |
109 |
javaAutoPopupOnIdentifierPart = new javax.swing.JCheckBox(); |
204 |
javaAutoPopupOnIdentifierPart = new javax.swing.JCheckBox(); |
110 |
javaAutoCompletionTriggersLabel = new javax.swing.JLabel(); |
205 |
javaAutoCompletionTriggersLabel = new javax.swing.JLabel(); |
Lines 114-124
Link Here
|
114 |
javadocAutoCompletionTriggersLabel = new javax.swing.JLabel(); |
209 |
javadocAutoCompletionTriggersLabel = new javax.swing.JLabel(); |
115 |
javadocAutoCompletionTriggersField = new javax.swing.JTextField(); |
210 |
javadocAutoCompletionTriggersField = new javax.swing.JTextField(); |
116 |
jSeparator1 = new javax.swing.JSeparator(); |
211 |
jSeparator1 = new javax.swing.JSeparator(); |
|
|
212 |
javaCompletionExcluderLabel = new javax.swing.JLabel(); |
213 |
javaCompletionExcluderButton = new javax.swing.JButton(); |
117 |
|
214 |
|
|
|
215 |
javaCompletionExcluderFrame.setTitle(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderFrame.title")); // NOI18N |
216 |
javaCompletionExcluderFrame.setAlwaysOnTop(true); |
217 |
javaCompletionExcluderFrame.setMinimumSize(new java.awt.Dimension(409, 233)); |
218 |
javaCompletionExcluderFrame.setUndecorated(true); |
219 |
|
220 |
javaCompletionExcludeTable.setModel(new javax.swing.table.DefaultTableModel( |
221 |
new Object [][] { |
222 |
|
223 |
}, |
224 |
new String [] { |
225 |
"Fully Qualified Name prefix" |
226 |
} |
227 |
) { |
228 |
Class[] types = new Class [] { |
229 |
java.lang.String.class |
230 |
}; |
231 |
|
232 |
public Class getColumnClass(int columnIndex) { |
233 |
return types [columnIndex]; |
234 |
} |
235 |
}); |
236 |
javaCompletionExcludeTable.getTableHeader().setReorderingAllowed(false); |
237 |
javaCompletionExcludeScrollPane.setViewportView(javaCompletionExcludeTable); |
238 |
javaCompletionExcludeTable.getColumnModel().getColumn(0).setHeaderValue(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title0")); // NOI18N |
239 |
|
240 |
javaCompletionExcluderTab.addTab(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcludeScrollPane.TabConstraints.tabTitle"), javaCompletionExcludeScrollPane); // NOI18N |
241 |
|
242 |
javaCompletionIncludeTable.setModel(new javax.swing.table.DefaultTableModel( |
243 |
new Object [][] { |
244 |
|
245 |
}, |
246 |
new String [] { |
247 |
"Fully Qualified Name prefix" |
248 |
} |
249 |
) { |
250 |
Class[] types = new Class [] { |
251 |
java.lang.String.class |
252 |
}; |
253 |
|
254 |
public Class getColumnClass(int columnIndex) { |
255 |
return types [columnIndex]; |
256 |
} |
257 |
}); |
258 |
javaCompletionIncludeTable.getTableHeader().setReorderingAllowed(false); |
259 |
javaCompletionIncludeScrollPane.setViewportView(javaCompletionIncludeTable); |
260 |
javaCompletionIncludeTable.getColumnModel().getColumn(0).setHeaderValue(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title0")); // NOI18N |
261 |
|
262 |
javaCompletionExcluderTab.addTab(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionIncludeScrollPane.TabConstraints.tabTitle"), javaCompletionIncludeScrollPane); // NOI18N |
263 |
|
264 |
org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderAddButton, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderAddButton.text")); // NOI18N |
265 |
javaCompletionExcluderAddButton.addActionListener(new java.awt.event.ActionListener() { |
266 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
267 |
javaCompletionExcluderAddButtonActionPerformed(evt); |
268 |
} |
269 |
}); |
270 |
|
271 |
org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderRemoveButton, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderRemoveButton.text")); // NOI18N |
272 |
javaCompletionExcluderRemoveButton.addActionListener(new java.awt.event.ActionListener() { |
273 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
274 |
javaCompletionExcluderRemoveButtonActionPerformed(evt); |
275 |
} |
276 |
}); |
277 |
|
278 |
org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderCloseButton, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderCloseButton.text")); // NOI18N |
279 |
javaCompletionExcluderCloseButton.addActionListener(new java.awt.event.ActionListener() { |
280 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
281 |
javaCompletionExcluderCloseButtonActionPerformed(evt); |
282 |
} |
283 |
}); |
284 |
|
285 |
org.jdesktop.layout.GroupLayout javaCompletionExcluderFrameLayout = new org.jdesktop.layout.GroupLayout(javaCompletionExcluderFrame.getContentPane()); |
286 |
javaCompletionExcluderFrame.getContentPane().setLayout(javaCompletionExcluderFrameLayout); |
287 |
javaCompletionExcluderFrameLayout.setHorizontalGroup( |
288 |
javaCompletionExcluderFrameLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
289 |
.add(org.jdesktop.layout.GroupLayout.TRAILING, javaCompletionExcluderFrameLayout.createSequentialGroup() |
290 |
.addContainerGap() |
291 |
.add(javaCompletionExcluderTab, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 298, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) |
292 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
293 |
.add(javaCompletionExcluderFrameLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) |
294 |
.add(javaCompletionExcluderCloseButton, 0, 0, Short.MAX_VALUE) |
295 |
.add(javaCompletionExcluderRemoveButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) |
296 |
.add(javaCompletionExcluderAddButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
297 |
.addContainerGap(10, Short.MAX_VALUE)) |
298 |
); |
299 |
javaCompletionExcluderFrameLayout.setVerticalGroup( |
300 |
javaCompletionExcluderFrameLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
301 |
.add(javaCompletionExcluderFrameLayout.createSequentialGroup() |
302 |
.add(javaCompletionExcluderFrameLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
303 |
.add(javaCompletionExcluderFrameLayout.createSequentialGroup() |
304 |
.addContainerGap() |
305 |
.add(javaCompletionExcluderTab, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 221, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
306 |
.add(javaCompletionExcluderFrameLayout.createSequentialGroup() |
307 |
.add(59, 59, 59) |
308 |
.add(javaCompletionExcluderAddButton) |
309 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
310 |
.add(javaCompletionExcluderRemoveButton) |
311 |
.add(63, 63, 63) |
312 |
.add(javaCompletionExcluderCloseButton))) |
313 |
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) |
314 |
); |
315 |
|
118 |
setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); |
316 |
setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); |
119 |
|
317 |
|
120 |
org.openide.awt.Mnemonics.setLocalizedText(guessMethodArguments, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "LBL_GuessMethodArgs")); // NOI18N |
318 |
org.openide.awt.Mnemonics.setLocalizedText(guessMethodArguments, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "LBL_GuessMethodArgs")); // NOI18N |
121 |
guessMethodArguments.setBorder(null); |
|
|
122 |
guessMethodArguments.addActionListener(new java.awt.event.ActionListener() { |
319 |
guessMethodArguments.addActionListener(new java.awt.event.ActionListener() { |
123 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
320 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
124 |
guessMethodArgumentsActionPerformed(evt); |
321 |
guessMethodArgumentsActionPerformed(evt); |
Lines 126-132
Link Here
|
126 |
}); |
323 |
}); |
127 |
|
324 |
|
128 |
org.openide.awt.Mnemonics.setLocalizedText(javaAutoPopupOnIdentifierPart, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "LBL_AutoPopupOnIdentifierPartBox")); // NOI18N |
325 |
org.openide.awt.Mnemonics.setLocalizedText(javaAutoPopupOnIdentifierPart, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "LBL_AutoPopupOnIdentifierPartBox")); // NOI18N |
129 |
javaAutoPopupOnIdentifierPart.setBorder(null); |
|
|
130 |
javaAutoPopupOnIdentifierPart.addActionListener(new java.awt.event.ActionListener() { |
326 |
javaAutoPopupOnIdentifierPart.addActionListener(new java.awt.event.ActionListener() { |
131 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
327 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
132 |
javaAutoPopupOnIdentifierPartActionPerformed(evt); |
328 |
javaAutoPopupOnIdentifierPartActionPerformed(evt); |
Lines 146-198
Link Here
|
146 |
|
342 |
|
147 |
javadocAutoCompletionTriggersField.setText(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javadocAutoCompletionTriggersField.text")); // NOI18N |
343 |
javadocAutoCompletionTriggersField.setText(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javadocAutoCompletionTriggersField.text")); // NOI18N |
148 |
|
344 |
|
149 |
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this); |
345 |
org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderLabel, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderLabel.text")); // NOI18N |
150 |
this.setLayout(layout); |
346 |
|
151 |
layout.setHorizontalGroup( |
347 |
org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderButton, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderButton.text")); // NOI18N |
152 |
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
348 |
javaCompletionExcluderButton.addActionListener(new java.awt.event.ActionListener() { |
153 |
.add(layout.createSequentialGroup() |
349 |
public void actionPerformed(java.awt.event.ActionEvent evt) { |
|
|
350 |
javaCompletionExcluderButtonActionPerformed(evt); |
351 |
} |
352 |
}); |
353 |
|
354 |
org.jdesktop.layout.GroupLayout javaCompletionPaneLayout = new org.jdesktop.layout.GroupLayout(javaCompletionPane); |
355 |
javaCompletionPane.setLayout(javaCompletionPaneLayout); |
356 |
javaCompletionPaneLayout.setHorizontalGroup( |
357 |
javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
358 |
.add(javaCompletionPaneLayout.createSequentialGroup() |
154 |
.addContainerGap() |
359 |
.addContainerGap() |
155 |
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
360 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
156 |
.add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 362, Short.MAX_VALUE) |
361 |
.add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 337, Short.MAX_VALUE) |
|
|
362 |
.add(javaCompletionPaneLayout.createSequentialGroup() |
363 |
.add(javadocAutoCompletionTriggersLabel) |
364 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
365 |
.add(javadocAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) |
366 |
.addContainerGap()) |
367 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
368 |
.add(javaCompletionPaneLayout.createSequentialGroup() |
369 |
.addContainerGap() |
370 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
157 |
.add(guessMethodArguments) |
371 |
.add(guessMethodArguments) |
158 |
.add(layout.createSequentialGroup() |
372 |
.add(javaCompletionPaneLayout.createSequentialGroup() |
159 |
.add(javaAutoCompletionTriggersLabel) |
373 |
.add(javaAutoCompletionTriggersLabel) |
160 |
.add(34, 34, 34) |
374 |
.add(34, 34, 34) |
161 |
.add(javaAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
375 |
.add(javaAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
162 |
.add(javaAutoPopupOnIdentifierPart) |
376 |
.add(javaAutoPopupOnIdentifierPart) |
163 |
.add(layout.createSequentialGroup() |
377 |
.add(javaCompletionPaneLayout.createSequentialGroup() |
164 |
.add(javaCompletionSelectorsLabel) |
378 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) |
|
|
379 |
.add(javaCompletionExcluderLabel) |
380 |
.add(javaCompletionSelectorsLabel)) |
381 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
382 |
.add(javaCompletionPaneLayout.createSequentialGroup() |
165 |
.add(30, 30, 30) |
383 |
.add(30, 30, 30) |
166 |
.add(javaCompletionSelectorsField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
384 |
.add(javaCompletionSelectorsField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
167 |
.add(layout.createSequentialGroup() |
385 |
.add(org.jdesktop.layout.GroupLayout.TRAILING, javaCompletionPaneLayout.createSequentialGroup() |
168 |
.add(javadocAutoCompletionTriggersLabel) |
386 |
.add(23, 23, 23) |
169 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
387 |
.add(javaCompletionExcluderButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 93, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))) |
170 |
.add(javadocAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) |
388 |
.addContainerGap(25, Short.MAX_VALUE))) |
171 |
.addContainerGap()) |
|
|
172 |
); |
389 |
); |
173 |
layout.setVerticalGroup( |
390 |
javaCompletionPaneLayout.setVerticalGroup( |
174 |
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
391 |
javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
175 |
.add(layout.createSequentialGroup() |
392 |
.add(javaCompletionPaneLayout.createSequentialGroup() |
|
|
393 |
.add(171, 171, 171) |
394 |
.add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) |
395 |
.add(18, 18, 18) |
396 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) |
397 |
.add(javadocAutoCompletionTriggersLabel) |
398 |
.add(javadocAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
399 |
.addContainerGap(23, Short.MAX_VALUE)) |
400 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
401 |
.add(javaCompletionPaneLayout.createSequentialGroup() |
176 |
.addContainerGap() |
402 |
.addContainerGap() |
177 |
.add(guessMethodArguments) |
403 |
.add(guessMethodArguments, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) |
178 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
404 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
179 |
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) |
405 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) |
180 |
.add(javaAutoCompletionTriggersLabel) |
406 |
.add(javaAutoCompletionTriggersLabel) |
181 |
.add(javaAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
407 |
.add(javaAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
182 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
408 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
183 |
.add(javaAutoPopupOnIdentifierPart) |
409 |
.add(javaAutoPopupOnIdentifierPart) |
184 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
410 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
185 |
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) |
411 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) |
186 |
.add(javaCompletionSelectorsLabel) |
412 |
.add(javaCompletionSelectorsLabel) |
187 |
.add(javaCompletionSelectorsField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
413 |
.add(javaCompletionSelectorsField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
188 |
.add(18, 18, 18) |
414 |
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) |
189 |
.add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) |
415 |
.add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) |
190 |
.add(18, 18, 18) |
416 |
.add(javaCompletionExcluderButton) |
191 |
.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) |
417 |
.add(javaCompletionExcluderLabel)) |
192 |
.add(javadocAutoCompletionTriggersLabel) |
418 |
.addContainerGap(91, Short.MAX_VALUE))) |
193 |
.add(javadocAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) |
|
|
194 |
.addContainerGap(30, Short.MAX_VALUE)) |
195 |
); |
419 |
); |
|
|
420 |
|
421 |
org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this); |
422 |
this.setLayout(layout); |
423 |
layout.setHorizontalGroup( |
424 |
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
425 |
.add(javaCompletionPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) |
426 |
); |
427 |
layout.setVerticalGroup( |
428 |
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) |
429 |
.add(javaCompletionPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) |
430 |
); |
196 |
}// </editor-fold>//GEN-END:initComponents |
431 |
}// </editor-fold>//GEN-END:initComponents |
197 |
|
432 |
|
198 |
private void javaAutoPopupOnIdentifierPartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaAutoPopupOnIdentifierPartActionPerformed |
433 |
private void javaAutoPopupOnIdentifierPartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaAutoPopupOnIdentifierPartActionPerformed |
Lines 203-208
Link Here
|
203 |
preferences.putBoolean(GUESS_METHOD_ARGUMENTS, guessMethodArguments.isSelected()); |
438 |
preferences.putBoolean(GUESS_METHOD_ARGUMENTS, guessMethodArguments.isSelected()); |
204 |
}//GEN-LAST:event_guessMethodArgumentsActionPerformed |
439 |
}//GEN-LAST:event_guessMethodArgumentsActionPerformed |
205 |
|
440 |
|
|
|
441 |
private void javaCompletionExcluderButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderButtonActionPerformed |
442 |
if (javaCompletionExcluderFrame.isVisible()) |
443 |
return; |
444 |
javaCompletionExcluderFrame.pack(); |
445 |
javaCompletionExcluderFrame.setLocationRelativeTo(this); |
446 |
javaCompletionExcluderFrame.setVisible(true); |
447 |
}//GEN-LAST:event_javaCompletionExcluderButtonActionPerformed |
448 |
|
449 |
private void javaCompletionExcluderAddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderAddButtonActionPerformed |
450 |
JTable table = getSelectedExcluderTable(); |
451 |
DefaultTableModel model = (DefaultTableModel) table.getModel(); |
452 |
int rows = model.getRowCount(); |
453 |
model.setRowCount(rows + 1); |
454 |
table.editCellAt(rows, 0); |
455 |
table.requestFocus(); |
456 |
}//GEN-LAST:event_javaCompletionExcluderAddButtonActionPerformed |
457 |
|
458 |
private void javaCompletionExcluderRemoveButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderRemoveButtonActionPerformed |
459 |
JTable table = getSelectedExcluderTable(); |
460 |
int[] rows = table.getSelectedRows(); |
461 |
if (rows.length == 0) |
462 |
return; |
463 |
// remove rows in descending order: row numbers change when a row is removed |
464 |
Arrays.sort(rows); |
465 |
DefaultTableModel model = (DefaultTableModel) table.getModel(); |
466 |
for (int row = rows.length - 1 ; row >=0 ; row--) { |
467 |
model.removeRow(row); |
468 |
} |
469 |
}//GEN-LAST:event_javaCompletionExcluderRemoveButtonActionPerformed |
470 |
|
471 |
private void javaCompletionExcluderCloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderCloseButtonActionPerformed |
472 |
javaCompletionExcluderFrame.setVisible(false); |
473 |
}//GEN-LAST:event_javaCompletionExcluderCloseButtonActionPerformed |
474 |
|
206 |
private void update(DocumentEvent e) { |
475 |
private void update(DocumentEvent e) { |
207 |
if (e.getDocument() == javaAutoCompletionTriggersField.getDocument()) |
476 |
if (e.getDocument() == javaAutoCompletionTriggersField.getDocument()) |
208 |
preferences.put(JAVA_AUTO_COMPLETION_TRIGGERS, javaAutoCompletionTriggersField.getText()); |
477 |
preferences.put(JAVA_AUTO_COMPLETION_TRIGGERS, javaAutoCompletionTriggersField.getText()); |
Lines 218-223
Link Here
|
218 |
private javax.swing.JTextField javaAutoCompletionTriggersField; |
487 |
private javax.swing.JTextField javaAutoCompletionTriggersField; |
219 |
private javax.swing.JLabel javaAutoCompletionTriggersLabel; |
488 |
private javax.swing.JLabel javaAutoCompletionTriggersLabel; |
220 |
private javax.swing.JCheckBox javaAutoPopupOnIdentifierPart; |
489 |
private javax.swing.JCheckBox javaAutoPopupOnIdentifierPart; |
|
|
490 |
private javax.swing.JScrollPane javaCompletionExcludeScrollPane; |
491 |
private javax.swing.JTable javaCompletionExcludeTable; |
492 |
private javax.swing.JButton javaCompletionExcluderAddButton; |
493 |
private javax.swing.JButton javaCompletionExcluderButton; |
494 |
private javax.swing.JButton javaCompletionExcluderCloseButton; |
495 |
private javax.swing.JFrame javaCompletionExcluderFrame; |
496 |
private javax.swing.JLabel javaCompletionExcluderLabel; |
497 |
private javax.swing.JButton javaCompletionExcluderRemoveButton; |
498 |
private javax.swing.JTabbedPane javaCompletionExcluderTab; |
499 |
private javax.swing.JScrollPane javaCompletionIncludeScrollPane; |
500 |
private javax.swing.JTable javaCompletionIncludeTable; |
501 |
private javax.swing.JPanel javaCompletionPane; |
221 |
private javax.swing.JTextField javaCompletionSelectorsField; |
502 |
private javax.swing.JTextField javaCompletionSelectorsField; |
222 |
private javax.swing.JLabel javaCompletionSelectorsLabel; |
503 |
private javax.swing.JLabel javaCompletionSelectorsLabel; |
223 |
private javax.swing.JTextField javadocAutoCompletionTriggersField; |
504 |
private javax.swing.JTextField javadocAutoCompletionTriggersField; |
Lines 226-232
Link Here
|
226 |
|
507 |
|
227 |
private static class CodeCompletionPreferencesCusromizer implements PreferencesCustomizer { |
508 |
private static class CodeCompletionPreferencesCusromizer implements PreferencesCustomizer { |
228 |
|
509 |
|
229 |
private Preferences preferences; |
510 |
private final Preferences preferences; |
230 |
|
511 |
|
231 |
private CodeCompletionPreferencesCusromizer(Preferences p) { |
512 |
private CodeCompletionPreferencesCusromizer(Preferences p) { |
232 |
preferences = p; |
513 |
preferences = p; |