This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 125060
Collapse All | Expand All

(-)a/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionProvider.java (-3 / +6 lines)
Lines 2427-2433 Link Here
2427
                                    (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e)) &&
2427
                                    (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e)) &&
2428
                                    (!isStatic || e.getModifiers().contains(STATIC)) &&
2428
                                    (!isStatic || e.getModifiers().contains(STATIC)) &&
2429
                                    tu.isAccessible(scope, e, t) &&
2429
                                    tu.isAccessible(scope, e, t) &&
2430
                                    !Utilities.isExcluded(Utilities.getElementName(e.getEnclosingElement(), true) + "." + sn); //NOI18N
2430
                                    (!Utilities.isExcludeMethods() || !Utilities.isExcluded(Utilities.getElementName(e.getEnclosingElement(), true) + "." + sn)); //NOI18N
2431
                    }
2431
                    }
2432
                    return false;
2432
                    return false;
2433
                }
2433
                }
Lines 2616-2622 Link Here
2616
                                    isOfKindAndType(((ExecutableType)asMemberOf(e, t, types)).getReturnType(), e, kinds, baseType, scope, trees, types) &&
2616
                                    isOfKindAndType(((ExecutableType)asMemberOf(e, t, types)).getReturnType(), e, kinds, baseType, scope, trees, types) &&
2617
                                    (isSuperCall && e.getModifiers().contains(PROTECTED) || tu.isAccessible(scope, e, isSuperCall && enclType != null ? enclType : t)) &&
2617
                                    (isSuperCall && e.getModifiers().contains(PROTECTED) || tu.isAccessible(scope, e, isSuperCall && enclType != null ? enclType : t)) &&
2618
                                    (!isStatic || e.getModifiers().contains(STATIC)) &&
2618
                                    (!isStatic || e.getModifiers().contains(STATIC)) &&
2619
                                    !Utilities.isExcluded(Utilities.getElementName(e.getEnclosingElement(), true) + "." + sn); //NOI18N
2619
                                    (!Utilities.isExcludeMethods() || !Utilities.isExcluded(Utilities.getElementName(e.getEnclosingElement(), true) + "." + sn)); //NOI18N
2620
                        case CLASS:
2620
                        case CLASS:
2621
                        case ENUM:
2621
                        case ENUM:
2622
                        case INTERFACE:
2622
                        case INTERFACE:
Lines 2721-2727 Link Here
2721
            for(Element e : pe.getEnclosedElements()) {
2721
            for(Element e : pe.getEnclosedElements()) {
2722
                if (e.getKind().isClass() || e.getKind().isInterface()) {
2722
                if (e.getKind().isClass() || e.getKind().isInterface()) {
2723
                    String name = e.getSimpleName().toString();
2723
                    String name = e.getSimpleName().toString();
2724
                        if (startsWith(env, name, prefix) && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e)) && trees.isAccessible(scope, (TypeElement)e) && isOfKindAndType(e.asType(), e, kinds, baseType, scope, trees, types)) {
2724
                        if (startsWith(env, name, prefix) && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e))
2725
                        && trees.isAccessible(scope, (TypeElement)e)
2726
                        && isOfKindAndType(e.asType(), e, kinds, baseType, scope, trees, types)
2727
                        && !Utilities.isExcluded(Utilities.getElementName(e, true))) {
2725
                            results.add(JavaCompletionItem.createTypeItem((TypeElement)e, (DeclaredType)e.asType(), anchorOffset, false, elements.isDeprecated(e), insideNew, isOfSmartType(env, e.asType(), smartTypes)));
2728
                            results.add(JavaCompletionItem.createTypeItem((TypeElement)e, (DeclaredType)e.asType(), anchorOffset, false, elements.isDeprecated(e), insideNew, isOfSmartType(env, e.asType(), smartTypes)));
2726
                    }
2729
                    }
2727
                }
2730
                }
(-)a/java.editor/src/org/netbeans/modules/editor/java/Utilities.java (-28 / +43 lines)
Lines 56-61 Link Here
56
import com.sun.source.util.Trees;
56
import com.sun.source.util.Trees;
57
57
58
import java.util.*;
58
import java.util.*;
59
import java.util.concurrent.atomic.AtomicBoolean;
59
import java.util.concurrent.atomic.AtomicReference;
60
import java.util.concurrent.atomic.AtomicReference;
60
import java.util.prefs.PreferenceChangeEvent;
61
import java.util.prefs.PreferenceChangeEvent;
61
import java.util.prefs.PreferenceChangeListener;
62
import java.util.prefs.PreferenceChangeListener;
Lines 89-110 Link Here
89
 * @author Dusan Balek
90
 * @author Dusan Balek
90
 * @author Sam Halliday
91
 * @author Sam Halliday
91
 */
92
 */
92
public class Utilities {
93
public final class Utilities {
93
    
94
    
94
    private static final String CAPTURED_WILDCARD = "<captured wildcard>"; //NOI18N
95
    private static final String CAPTURED_WILDCARD = "<captured wildcard>"; //NOI18N
95
    private static final String ERROR = "<error>"; //NOI18N
96
    private static final String ERROR = "<error>"; //NOI18N
96
    private static final String UNKNOWN = "<unknown>"; //NOI18N
97
    private static final String UNKNOWN = "<unknown>"; //NOI18N
97
98
98
    private static boolean caseSensitive = true;
99
    private static volatile boolean caseSensitive = true;
99
    private static boolean showDeprecatedMembers = true;
100
    private static volatile boolean showDeprecatedMembers = true;
100
    private static boolean guessMethodArguments = true;
101
    private static volatile boolean guessMethodArguments = true;
101
    private static boolean autoPopupOnJavaIdentifierPart = true;
102
    private static volatile boolean autoPopupOnJavaIdentifierPart = true;
102
    private static String javaCompletionAutoPopupTriggers = null;
103
    private static volatile boolean javaCompletionExcluderMethods;
103
    private static String javaCompletionSelectors = null;
104
    private static volatile String javaCompletionAutoPopupTriggers = null;
104
    private static String javadocCompletionAutoPopupTriggers = null;
105
    private static volatile String javaCompletionSelectors = null;
106
    private static volatile String javadocCompletionAutoPopupTriggers = null;
105
    
107
    
106
    private static boolean inited;
108
    private static final AtomicBoolean inited = new AtomicBoolean(false);
107
    private static Preferences preferences;
109
    private static volatile Preferences preferences;
108
    private static final PreferenceChangeListener preferencesTracker = new PreferenceChangeListener() {
110
    private static final PreferenceChangeListener preferencesTracker = new PreferenceChangeListener() {
109
        public void preferenceChange(PreferenceChangeEvent evt) {
111
        public void preferenceChange(PreferenceChangeEvent evt) {
110
            String settingName = evt == null ? null : evt.getKey();
112
            String settingName = evt == null ? null : evt.getKey();
Lines 131-147 Link Here
131
            }
133
            }
132
            if (settingName == null || CodeCompletionPanel.JAVA_COMPLETION_BLACKLIST.equals(settingName)) {
134
            if (settingName == null || CodeCompletionPanel.JAVA_COMPLETION_BLACKLIST.equals(settingName)) {
133
                String blacklist = preferences.get(CodeCompletionPanel.JAVA_COMPLETION_BLACKLIST, CodeCompletionPanel.JAVA_COMPLETION_BLACKLIST_DEFAULT);
135
                String blacklist = preferences.get(CodeCompletionPanel.JAVA_COMPLETION_BLACKLIST, CodeCompletionPanel.JAVA_COMPLETION_BLACKLIST_DEFAULT);
134
                updateExcluder(exclude, blacklist);
136
                updateExcluder(excludeRef, blacklist);
135
            }
137
            }
136
            if (settingName == null || CodeCompletionPanel.JAVA_COMPLETION_WHITELIST.equals(settingName)) {
138
            if (settingName == null || CodeCompletionPanel.JAVA_COMPLETION_WHITELIST.equals(settingName)) {
137
                String whitelist = preferences.get(CodeCompletionPanel.JAVA_COMPLETION_WHITELIST, CodeCompletionPanel.JAVA_COMPLETION_WHITELIST_DEFAULT);
139
                String whitelist = preferences.get(CodeCompletionPanel.JAVA_COMPLETION_WHITELIST, CodeCompletionPanel.JAVA_COMPLETION_WHITELIST_DEFAULT);
138
                updateExcluder(include, whitelist);
140
                updateExcluder(includeRef, whitelist);
141
            }
142
            if (settingName == null || CodeCompletionPanel.JAVA_COMPLETION_EXCLUDER_METHODS.equals(settingName)) {
143
                javaCompletionExcluderMethods = preferences.getBoolean(CodeCompletionPanel.JAVA_COMPLETION_EXCLUDER_METHODS, CodeCompletionPanel.JAVA_COMPLETION_EXCLUDER_METHODS_DEFAULT);
139
            }
144
            }
140
        }
145
        }
141
    };
146
    };
142
    
147
    
143
    private static String cachedPrefix = null;
148
    private static volatile String cachedPrefix = null;
144
    private static Pattern cachedPattern = null;
149
    private static volatile Pattern cachedPattern = null;
145
    
150
    
146
    public static boolean startsWith(String theString, String prefix) {
151
    public static boolean startsWith(String theString, String prefix) {
147
        if (theString == null || theString.length() == 0 || ERROR.equals(theString))
152
        if (theString == null || theString.length() == 0 || ERROR.equals(theString))
Lines 225-232 Link Here
225
        return javadocCompletionAutoPopupTriggers;
230
        return javadocCompletionAutoPopupTriggers;
226
    }
231
    }
227
232
228
    static private volatile AtomicReference<Collection<String>> exclude;
233
    static private volatile AtomicReference<Collection<String>> excludeRef = new AtomicReference<Collection<String>>();
229
    static private volatile AtomicReference<Collection<String>> include;
234
    static private volatile AtomicReference<Collection<String>> includeRef = new AtomicReference<Collection<String>>();
230
235
231
    private static void updateExcluder(AtomicReference<Collection<String>> existing, String updated) {
236
    private static void updateExcluder(AtomicReference<Collection<String>> existing, String updated) {
232
        Collection<String> nue = new LinkedList<String>();
237
        Collection<String> nue = new LinkedList<String>();
Lines 236-242 Link Here
236
        }
241
        }
237
        String[] entries = updated.split(","); //NOI18N
242
        String[] entries = updated.split(","); //NOI18N
238
        for (String entry : entries) {
243
        for (String entry : entries) {
239
            if (entry != null && entry.length() != 0) {
244
            if (entry.length() != 0) {
240
                nue.add(entry);
245
                nue.add(entry);
241
            }
246
            }
242
        }
247
        }
Lines 244-261 Link Here
244
    }
249
    }
245
250
246
    /**
251
    /**
252
     * @return the user setting for whether the excluder should operate on methods
253
     */
254
    public static boolean isExcludeMethods(){
255
        lazyInit();
256
        return javaCompletionExcluderMethods;
257
    }
258
259
    /**
247
     * @param fqn Fully Qualified Name (including method names). Packages names are expected to
260
     * @param fqn Fully Qualified Name (including method names). Packages names are expected to
248
     * end in a trailing "."
261
     * end in a trailing "." except the default package.
249
     * @return
262
     * @return
250
     */
263
     */
251
    public static boolean isExcluded(final CharSequence fqn) {
264
    public static boolean isExcluded(final CharSequence fqn) {
252
        if (fqn == null || fqn.length() == 0 || fqn.equals(".")) { //NOI18N
265
        if (fqn == null || fqn.length() == 0) {
253
            return true;
266
            return true;
254
        }
267
        }
255
        lazyInit();
268
        lazyInit();
256
        String s = fqn.toString();
269
        String s = fqn.toString();
257
        if (!include.get().isEmpty()) {
270
        Collection<String> include = includeRef.get();
258
            for (String entry : include.get()) {
271
        Collection<String> exclude = excludeRef.get();
272
273
        if (include != null && !include.isEmpty()) {
274
            for (String entry : include) {
259
                if (entry.length() > fqn.length()) {
275
                if (entry.length() > fqn.length()) {
260
                    if (entry.startsWith(s)) {
276
                    if (entry.startsWith(s)) {
261
                        return false;
277
                        return false;
Lines 266-273 Link Here
266
            }
282
            }
267
        }
283
        }
268
284
269
        if (!exclude.get().isEmpty()) {
285
        if (exclude != null && !exclude.isEmpty()) {
270
            for (String entry : exclude.get()) {
286
            for (String entry : exclude) {
271
                if (entry.length() <= fqn.length() && s.startsWith(entry)) {
287
                if (entry.length() <= fqn.length() && s.startsWith(entry)) {
272
                    return true;
288
                    return true;
273
                }
289
                }
Lines 278-288 Link Here
278
    }
294
    }
279
295
280
    private static void lazyInit() {
296
    private static void lazyInit() {
281
        if (!inited) {
297
        if (inited.compareAndSet(false, true)) {
282
            inited = true;
283
            Collection<String> empty = Collections.emptySet();
284
            exclude = new AtomicReference<Collection<String>>(empty);
285
            include = new AtomicReference<Collection<String>>(empty);
286
            preferences = MimeLookup.getLookup(JavaKit.JAVA_MIME_TYPE).lookup(Preferences.class);
298
            preferences = MimeLookup.getLookup(JavaKit.JAVA_MIME_TYPE).lookup(Preferences.class);
287
            preferences.addPreferenceChangeListener(WeakListeners.create(PreferenceChangeListener.class, preferencesTracker, preferences));
299
            preferences.addPreferenceChangeListener(WeakListeners.create(PreferenceChangeListener.class, preferencesTracker, preferences));
288
            preferencesTracker.preferenceChange(null);
300
            preferencesTracker.preferenceChange(null);
Lines 851-856 Link Here
851
863
852
        return found;
864
        return found;
853
    }
865
    }
866
867
    private Utilities() {
868
    }
854
    
869
    
855
    
870
    
856
}
871
}
(-)a/java.editor/src/org/netbeans/modules/java/editor/javadoc/JavadocCompletionQuery.java (-3 / +8 lines)
Lines 762-769 Link Here
762
//                                isOfKindAndType(asMemberOf(e, t, types), e, kinds, baseType, scope, trees, types) &&
762
//                                isOfKindAndType(asMemberOf(e, t, types), e, kinds, baseType, scope, trees, types) &&
763
                                tu.isAccessible(scope, e, t);
763
                                tu.isAccessible(scope, e, t);
764
                    case METHOD:
764
                    case METHOD:
765
                        return Utilities.startsWith(e.getSimpleName().toString(), prefix) &&
765
                        String sn = e.getSimpleName().toString();
766
                                (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e));
766
                        return Utilities.startsWith(sn, prefix) &&
767
                                (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e)) &&
768
                                (!Utilities.isExcludeMethods() || !Utilities.isExcluded(Utilities.getElementName(e.getEnclosingElement(), true) + "." + sn)); //NOI18N
767
//                                &&
769
//                                &&
768
//                                isOfKindAndType(((ExecutableType)asMemberOf(e, t, types)).getReturnType(), e, kinds, baseType, scope, trees, types) &&
770
//                                isOfKindAndType(((ExecutableType)asMemberOf(e, t, types)).getReturnType(), e, kinds, baseType, scope, trees, types) &&
769
//                                (isSuperCall && e.getModifiers().contains(PROTECTED) || tu.isAccessible(scope, e, isSuperCall && enclType != null ? enclType : t)) &&
771
//                                (isSuperCall && e.getModifiers().contains(PROTECTED) || tu.isAccessible(scope, e, isSuperCall && enclType != null ? enclType : t)) &&
Lines 1042-1048 Link Here
1042
        for(Element e : pe.getEnclosedElements()) {
1044
        for(Element e : pe.getEnclosedElements()) {
1043
            if (e.getKind().isClass() || e.getKind().isInterface()) {
1045
            if (e.getKind().isClass() || e.getKind().isInterface()) {
1044
                String name = e.getSimpleName().toString();
1046
                String name = e.getSimpleName().toString();
1045
                    if (Utilities.startsWith(name, prefix) && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e)) && trees.isAccessible(scope, (TypeElement)e) && isOfKindAndType(e.asType(), e, kinds, baseType, scope, trees, types)) {
1047
                    if (Utilities.startsWith(name, prefix) && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e))
1048
                        && trees.isAccessible(scope, (TypeElement)e)
1049
                        && isOfKindAndType(e.asType(), e, kinds, baseType, scope, trees, types)
1050
                        && !Utilities.isExcluded(Utilities.getElementName(e, true))) {
1046
                        items.add(JavadocCompletionItem.createTypeItem((TypeElement) e, substitutionOffset, false, elements.isDeprecated(e)/*, isOfSmartType(env, e.asType(), smartTypes)*/));
1051
                        items.add(JavadocCompletionItem.createTypeItem((TypeElement) e, substitutionOffset, false, elements.isDeprecated(e)/*, isOfSmartType(env, e.asType(), smartTypes)*/));
1047
                }
1052
                }
1048
            }
1053
            }
(-)a/java.editor/src/org/netbeans/modules/java/editor/options/Bundle.properties (-6 / +21 lines)
Lines 120-133 Link Here
120
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title3=Title 4
120
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title3=Title 4
121
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title2=Title 3
121
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title2=Title 3
122
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title1=Title 2
122
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title1=Title 2
123
CodeCompletionPanel.javaCompletionExcluderButton.text=Exclude
123
CodeCompletionPanel.javaCompletionExcluderButton.text=Excluder
124
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title3_1=Title 4
124
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title3_1=Title 4
125
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title2_1=Title 3
125
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title2_1=Title 3
126
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title1_1=Title 2
126
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title1_1=Title 2
127
CodeCompletionPanel.javaCompletionExcluderAddButton.text=Add
128
CodeCompletionPanel.javaCompletionExcluderRemoveButton.text=Remove
129
CodeCompletionPanel.javaCompletionExcluderCloseButton.text=Close
130
CodeCompletionPanel.javaCompletionExcluderEditButton.text=Edit
127
CodeCompletionPanel.javaCompletionExcludeScrollPane.TabConstraints.tabTitle=Exclude
131
CodeCompletionPanel.javaCompletionExcludeScrollPane.TabConstraints.tabTitle=Exclude
128
CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title0=Fully Qualified Name prefix
129
CodeCompletionPanel.javaCompletionExcluderAddButton.text=Add
130
CodeCompletionPanel.javaCompletionIncludeScrollPane.TabConstraints.tabTitle=Include
132
CodeCompletionPanel.javaCompletionIncludeScrollPane.TabConstraints.tabTitle=Include
131
CodeCompletionPanel.javaCompletionExcluderRemoveButton.text=Remove
133
CodeCompletionPanel.javaCompletionExcluderDialogCancelButton.text=Cancel
132
CodeCompletionPanel.javaCompletionExcluderFrame.title=Java Completion Excluder
134
CodeCompletionPanel.javaCompletionExcluderDialogTextField.text=
133
CodeCompletionPanel.javaCompletionExcluderCloseButton.text=Close
135
CodeCompletionPanel.javaCompletionExcluderDialogOkButton.text=OK
136
CodeCompletionPanel.javaCompletionExcluderDialogLabel.text=<html>Enter prefix for fully qualified packages, classes or methods. Wildcards are accepted, but will be ignored. Examples:<br> <code>sun, sun., sun.*, java.lang.Object.wait</code></html>
137
CodeCompletionPanel.javaCompletionExcluderMethodsCheckBox.text=Apply rules to methods
138
CodeCompletionPanel.javaCompletionExcluderDialog1.title=Java Completion Excluder
139
CodeCompletionPanel.javaCompletionExcluderButton.AccessibleContext.accessibleName=Excluder
140
CodeCompletionPanel.javaCompletionExcluderDialog2.AccessibleContext.accessibleName=Java Completion Excluder Input
141
CodeCompletionPanel.javaCompletionExcluderDialogTextField.AccessibleContext.accessibleName=Java Code Excluder Rule Input
142
CodeCompletionPanel.javaCompletionExcluderDialogTextField.AccessibleContext.accessibleDescription=Requires a prefix for fully qualified packages, classes or methods. Wildcards are accepted.
143
CodeCompletionPanel.javaCompletionExcluderDialogLabel.AccessibleContext.accessibleName=Java Completion Excluder Help
144
CodeCompletionPanel.javaCompletionExcluderTab.AccessibleContext.accessibleName=Java Completion Excluder Tab
145
CodeCompletionPanel.javaCompletionExcludeScrollPane.AccessibleContext.accessibleName=Scroller
146
CodeCompletionPanel.javaCompletionIncludeScrollPane.AccessibleContext.accessibleName=Scroller
147
CodeCompletionPanel.javaCompletionExcludeJlist.AccessibleContext.accessibleName=Java Completion Excluder Exclude List
148
CodeCompletionPanel.javaCompletionIncludeJlist.AccessibleContext.accessibleName=Java Completion Excluder Include List
(-)a/java.editor/src/org/netbeans/modules/java/editor/options/CodeCompletionPanel.form (-63 / +187 lines)
Lines 2-32 Link Here
2
2
3
<Form version="1.5" maxVersion="1.5" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
3
<Form version="1.5" maxVersion="1.5" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
4
  <NonVisualComponents>
4
  <NonVisualComponents>
5
    <Container class="javax.swing.JFrame" name="javaCompletionExcluderFrame">
5
    <Container class="javax.swing.JDialog" name="javaCompletionExcluderDialog2">
6
      <Properties>
7
        <Property name="modal" type="boolean" value="true"/>
8
        <Property name="undecorated" type="boolean" value="true"/>
9
      </Properties>
10
      <AccessibilityProperties>
11
        <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
12
          <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderDialog2.AccessibleContext.accessibleName" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
13
        </Property>
14
      </AccessibilityProperties>
15
16
      <Layout>
17
        <DimensionLayout dim="0">
18
          <Group type="103" groupAlignment="0" attributes="0">
19
              <Group type="102" alignment="0" attributes="0">
20
                  <EmptySpace max="-2" attributes="0"/>
21
                  <Group type="103" groupAlignment="1" max="-2" attributes="0">
22
                      <Component id="javaCompletionExcluderDialogLabel" alignment="0" min="0" pref="0" max="32767" attributes="1"/>
23
                      <Component id="javaCompletionExcluderDialogTextField" alignment="0" pref="307" max="32767" attributes="1"/>
24
                  </Group>
25
                  <EmptySpace type="unrelated" max="-2" attributes="0"/>
26
                  <Group type="103" groupAlignment="0" max="-2" attributes="0">
27
                      <Component id="javaCompletionExcluderDialogOkButton" max="32767" attributes="1"/>
28
                      <Component id="javaCompletionExcluderDialogCancelButton" alignment="0" max="32767" attributes="1"/>
29
                  </Group>
30
                  <EmptySpace max="32767" attributes="0"/>
31
              </Group>
32
          </Group>
33
        </DimensionLayout>
34
        <DimensionLayout dim="1">
35
          <Group type="103" groupAlignment="0" attributes="0">
36
              <Group type="102" alignment="1" attributes="0">
37
                  <Group type="103" groupAlignment="1" attributes="0">
38
                      <Group type="102" attributes="0">
39
                          <EmptySpace max="-2" attributes="0"/>
40
                          <Component id="javaCompletionExcluderDialogLabel" min="-2" max="-2" attributes="0"/>
41
                          <EmptySpace max="32767" attributes="0"/>
42
                      </Group>
43
                      <Group type="102" alignment="1" attributes="0">
44
                          <EmptySpace max="-2" attributes="0"/>
45
                          <Component id="javaCompletionExcluderDialogCancelButton" min="-2" max="-2" attributes="0"/>
46
                          <EmptySpace max="-2" attributes="0"/>
47
                      </Group>
48
                  </Group>
49
                  <Group type="103" groupAlignment="3" attributes="0">
50
                      <Component id="javaCompletionExcluderDialogTextField" alignment="3" min="-2" max="-2" attributes="0"/>
51
                      <Component id="javaCompletionExcluderDialogOkButton" alignment="3" min="-2" max="-2" attributes="0"/>
52
                  </Group>
53
                  <EmptySpace min="-2" pref="61" max="-2" attributes="0"/>
54
              </Group>
55
          </Group>
56
        </DimensionLayout>
57
      </Layout>
58
      <SubComponents>
59
        <Component class="javax.swing.JTextField" name="javaCompletionExcluderDialogTextField">
60
          <Properties>
61
            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
62
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderDialogTextField.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
63
            </Property>
64
          </Properties>
65
          <AccessibilityProperties>
66
            <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
67
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderDialogTextField.AccessibleContext.accessibleName" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
68
            </Property>
69
            <Property name="AccessibleContext.accessibleDescription" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
70
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderDialogTextField.AccessibleContext.accessibleDescription" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
71
            </Property>
72
          </AccessibilityProperties>
73
          <Events>
74
            <EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="javaCompletionExcluderDialogTextFieldKeyTyped"/>
75
          </Events>
76
        </Component>
77
        <Component class="javax.swing.JButton" name="javaCompletionExcluderDialogOkButton">
78
          <Properties>
79
            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
80
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderDialogOkButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
81
            </Property>
82
          </Properties>
83
          <Events>
84
            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="javaCompletionExcluderDialogOkButtonActionPerformed"/>
85
          </Events>
86
        </Component>
87
        <Component class="javax.swing.JLabel" name="javaCompletionExcluderDialogLabel">
88
          <Properties>
89
            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
90
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderDialogLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
91
            </Property>
92
          </Properties>
93
          <AccessibilityProperties>
94
            <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
95
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderDialogLabel.AccessibleContext.accessibleName" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
96
            </Property>
97
          </AccessibilityProperties>
98
        </Component>
99
        <Component class="javax.swing.JButton" name="javaCompletionExcluderDialogCancelButton">
100
          <Properties>
101
            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
102
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderDialogCancelButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
103
            </Property>
104
          </Properties>
105
          <Events>
106
            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="javaCompletionExcluderDialogCancelButtonActionPerformed"/>
107
          </Events>
108
        </Component>
109
      </SubComponents>
110
    </Container>
111
    <Container class="javax.swing.JDialog" name="javaCompletionExcluderDialog1">
6
      <Properties>
112
      <Properties>
7
        <Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
113
        <Property name="title" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
8
          <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderFrame.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
114
          <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderDialog1.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
9
        </Property>
115
        </Property>
10
        <Property name="alwaysOnTop" type="boolean" value="true"/>
116
        <Property name="modal" type="boolean" value="true"/>
11
        <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
12
          <Dimension value="[409, 233]"/>
13
        </Property>
14
        <Property name="undecorated" type="boolean" value="true"/>
15
      </Properties>
117
      </Properties>
16
118
17
      <Layout>
119
      <Layout>
18
        <DimensionLayout dim="0">
120
        <DimensionLayout dim="0">
19
          <Group type="103" groupAlignment="0" attributes="0">
121
          <Group type="103" groupAlignment="0" attributes="0">
20
              <Group type="102" alignment="1" attributes="0">
122
              <Group type="102" attributes="0">
21
                  <EmptySpace max="-2" attributes="0"/>
123
                  <EmptySpace max="-2" attributes="0"/>
22
                  <Component id="javaCompletionExcluderTab" min="-2" pref="298" max="-2" attributes="0"/>
124
                  <Group type="103" groupAlignment="0" attributes="0">
23
                  <EmptySpace max="-2" attributes="0"/>
125
                      <Group type="102" attributes="0">
24
                  <Group type="103" groupAlignment="0" max="-2" attributes="0">
126
                          <Component id="javaCompletionExcluderTab" min="-2" pref="298" max="-2" attributes="0"/>
25
                      <Component id="javaCompletionExcluderCloseButton" min="0" pref="0" max="32767" attributes="1"/>
127
                          <EmptySpace max="-2" attributes="0"/>
26
                      <Component id="javaCompletionExcluderRemoveButton" alignment="0" max="32767" attributes="1"/>
128
                          <Group type="103" groupAlignment="0" max="-2" attributes="0">
27
                      <Component id="javaCompletionExcluderAddButton" alignment="0" max="32767" attributes="1"/>
129
                              <Component id="javaCompletionExcluderEditButton" max="32767" attributes="1"/>
130
                              <Component id="javaCompletionExcluderRemoveButton" alignment="0" max="32767" attributes="1"/>
131
                              <Component id="javaCompletionExcluderAddButton" alignment="0" max="32767" attributes="1"/>
132
                          </Group>
133
                      </Group>
134
                      <Group type="102" alignment="0" attributes="0">
135
                          <Component id="javaCompletionExcluderMethodsCheckBox" min="-2" max="-2" attributes="0"/>
136
                          <EmptySpace min="-2" pref="125" max="-2" attributes="0"/>
137
                          <Component id="javaCompletionExcluderCloseButton" pref="93" max="32767" attributes="1"/>
138
                      </Group>
28
                  </Group>
139
                  </Group>
29
                  <EmptySpace pref="10" max="32767" attributes="0"/>
140
                  <EmptySpace max="32767" attributes="0"/>
30
              </Group>
141
              </Group>
31
          </Group>
142
          </Group>
32
        </DimensionLayout>
143
        </DimensionLayout>
Lines 37-50 Link Here
37
                      <Group type="102" attributes="0">
148
                      <Group type="102" attributes="0">
38
                          <EmptySpace max="-2" attributes="0"/>
149
                          <EmptySpace max="-2" attributes="0"/>
39
                          <Component id="javaCompletionExcluderTab" min="-2" pref="221" max="-2" attributes="0"/>
150
                          <Component id="javaCompletionExcluderTab" min="-2" pref="221" max="-2" attributes="0"/>
151
                          <EmptySpace max="-2" attributes="0"/>
152
                          <Group type="103" groupAlignment="3" attributes="0">
153
                              <Component id="javaCompletionExcluderMethodsCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
154
                              <Component id="javaCompletionExcluderCloseButton" alignment="3" min="-2" max="-2" attributes="0"/>
155
                          </Group>
40
                      </Group>
156
                      </Group>
41
                      <Group type="102" alignment="0" attributes="0">
157
                      <Group type="102" alignment="0" attributes="0">
42
                          <EmptySpace min="-2" pref="59" max="-2" attributes="0"/>
158
                          <EmptySpace min="-2" pref="59" max="-2" attributes="0"/>
43
                          <Component id="javaCompletionExcluderAddButton" min="-2" max="-2" attributes="0"/>
159
                          <Component id="javaCompletionExcluderAddButton" min="-2" max="-2" attributes="0"/>
44
                          <EmptySpace max="-2" attributes="0"/>
160
                          <EmptySpace max="-2" attributes="0"/>
161
                          <Component id="javaCompletionExcluderEditButton" min="-2" max="-2" attributes="0"/>
162
                          <EmptySpace max="-2" attributes="0"/>
45
                          <Component id="javaCompletionExcluderRemoveButton" min="-2" max="-2" attributes="0"/>
163
                          <Component id="javaCompletionExcluderRemoveButton" min="-2" max="-2" attributes="0"/>
46
                          <EmptySpace min="-2" pref="63" max="-2" attributes="0"/>
47
                          <Component id="javaCompletionExcluderCloseButton" min="-2" max="-2" attributes="0"/>
48
                      </Group>
164
                      </Group>
49
                  </Group>
165
                  </Group>
50
                  <EmptySpace max="32767" attributes="0"/>
166
                  <EmptySpace max="32767" attributes="0"/>
Lines 54-63 Link Here
54
      </Layout>
170
      </Layout>
55
      <SubComponents>
171
      <SubComponents>
56
        <Container class="javax.swing.JTabbedPane" name="javaCompletionExcluderTab">
172
        <Container class="javax.swing.JTabbedPane" name="javaCompletionExcluderTab">
173
          <AccessibilityProperties>
174
            <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
175
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderTab.AccessibleContext.accessibleName" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
176
            </Property>
177
          </AccessibilityProperties>
57
178
58
          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
179
          <Layout class="org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout"/>
59
          <SubComponents>
180
          <SubComponents>
60
            <Container class="javax.swing.JScrollPane" name="javaCompletionExcludeScrollPane">
181
            <Container class="javax.swing.JScrollPane" name="javaCompletionExcludeScrollPane">
182
              <AccessibilityProperties>
183
                <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
184
                  <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcludeScrollPane.AccessibleContext.accessibleName" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
185
                </Property>
186
              </AccessibilityProperties>
61
              <AuxValues>
187
              <AuxValues>
62
                <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
188
                <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
63
              </AuxValues>
189
              </AuxValues>
Lines 73-104 Link Here
73
199
74
              <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
200
              <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
75
              <SubComponents>
201
              <SubComponents>
76
                <Component class="javax.swing.JTable" name="javaCompletionExcludeTable">
202
                <Component class="javax.swing.JList" name="javaCompletionExcludeJlist">
77
                  <Properties>
203
                  <AccessibilityProperties>
78
                    <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
204
                    <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
79
                      <Table columnCount="1" rowCount="0">
205
                      <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcludeJlist.AccessibleContext.accessibleName" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
80
                        <Column editable="true" title="Fully Qualified Name prefix" type="java.lang.String"/>
81
                      </Table>
82
                    </Property>
206
                    </Property>
83
                    <Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
207
                  </AccessibilityProperties>
84
                      <TableColumnModel selectionModel="0">
85
                        <Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
86
                          <Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
87
                            <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title0" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
88
                          </Title>
89
                          <Editor/>
90
                          <Renderer/>
91
                        </Column>
92
                      </TableColumnModel>
93
                    </Property>
94
                    <Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
95
                      <TableHeader reorderingAllowed="false" resizingAllowed="true"/>
96
                    </Property>
97
                  </Properties>
98
                </Component>
208
                </Component>
99
              </SubComponents>
209
              </SubComponents>
100
            </Container>
210
            </Container>
101
            <Container class="javax.swing.JScrollPane" name="javaCompletionIncludeScrollPane">
211
            <Container class="javax.swing.JScrollPane" name="javaCompletionIncludeScrollPane">
212
              <AccessibilityProperties>
213
                <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
214
                  <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionIncludeScrollPane.AccessibleContext.accessibleName" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
215
                </Property>
216
              </AccessibilityProperties>
102
              <AuxValues>
217
              <AuxValues>
103
                <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
218
                <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
104
              </AuxValues>
219
              </AuxValues>
Lines 114-141 Link Here
114
229
115
              <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
230
              <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
116
              <SubComponents>
231
              <SubComponents>
117
                <Component class="javax.swing.JTable" name="javaCompletionIncludeTable">
232
                <Component class="javax.swing.JList" name="javaCompletionIncludeJlist">
118
                  <Properties>
233
                  <AccessibilityProperties>
119
                    <Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
234
                    <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
120
                      <Table columnCount="1" rowCount="0">
235
                      <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionIncludeJlist.AccessibleContext.accessibleName" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
121
                        <Column editable="true" title="Fully Qualified Name prefix" type="java.lang.String"/>
122
                      </Table>
123
                    </Property>
236
                    </Property>
124
                    <Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
237
                  </AccessibilityProperties>
125
                      <TableColumnModel selectionModel="0">
126
                        <Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
127
                          <Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
128
                            <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title0" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
129
                          </Title>
130
                          <Editor/>
131
                          <Renderer/>
132
                        </Column>
133
                      </TableColumnModel>
134
                    </Property>
135
                    <Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
136
                      <TableHeader reorderingAllowed="false" resizingAllowed="true"/>
137
                    </Property>
138
                  </Properties>
139
                </Component>
238
                </Component>
140
              </SubComponents>
239
              </SubComponents>
141
            </Container>
240
            </Container>
Lines 171-176 Link Here
171
            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="javaCompletionExcluderCloseButtonActionPerformed"/>
270
            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="javaCompletionExcluderCloseButtonActionPerformed"/>
172
          </Events>
271
          </Events>
173
        </Component>
272
        </Component>
273
        <Component class="javax.swing.JButton" name="javaCompletionExcluderEditButton">
274
          <Properties>
275
            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
276
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderEditButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
277
            </Property>
278
          </Properties>
279
          <Events>
280
            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="javaCompletionExcluderEditButtonActionPerformed"/>
281
          </Events>
282
        </Component>
283
        <Component class="javax.swing.JCheckBox" name="javaCompletionExcluderMethodsCheckBox">
284
          <Properties>
285
            <Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
286
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderMethodsCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
287
            </Property>
288
          </Properties>
289
          <Events>
290
            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="javaCompletionExcluderMethodsCheckBoxActionPerformed"/>
291
          </Events>
292
        </Component>
174
      </SubComponents>
293
      </SubComponents>
175
    </Container>
294
    </Container>
176
  </NonVisualComponents>
295
  </NonVisualComponents>
Lines 244-257 Link Here
244
                                      <EmptySpace min="-2" pref="30" max="-2" attributes="0"/>
363
                                      <EmptySpace min="-2" pref="30" max="-2" attributes="0"/>
245
                                      <Component id="javaCompletionSelectorsField" min="-2" pref="86" max="-2" attributes="1"/>
364
                                      <Component id="javaCompletionSelectorsField" min="-2" pref="86" max="-2" attributes="1"/>
246
                                  </Group>
365
                                  </Group>
247
                                  <Group type="102" alignment="1" attributes="0">
366
                                  <Group type="102" alignment="0" attributes="0">
248
                                      <EmptySpace min="-2" pref="23" max="-2" attributes="0"/>
367
                                      <EmptySpace min="-2" pref="23" max="-2" attributes="0"/>
249
                                      <Component id="javaCompletionExcluderButton" min="-2" pref="93" max="-2" attributes="0"/>
368
                                      <Component id="javaCompletionExcluderButton" min="-2" max="-2" attributes="0"/>
250
                                  </Group>
369
                                  </Group>
251
                              </Group>
370
                              </Group>
252
                          </Group>
371
                          </Group>
253
                      </Group>
372
                      </Group>
254
                      <EmptySpace pref="199" max="32767" attributes="0"/>
373
                      <EmptySpace min="-2" pref="213" max="-2" attributes="0"/>
255
                  </Group>
374
                  </Group>
256
              </Group>
375
              </Group>
257
          </Group>
376
          </Group>
Lines 266-272 Link Here
266
                      <Component id="javadocAutoCompletionTriggersLabel" alignment="3" min="-2" max="-2" attributes="0"/>
385
                      <Component id="javadocAutoCompletionTriggersLabel" alignment="3" min="-2" max="-2" attributes="0"/>
267
                      <Component id="javadocAutoCompletionTriggersField" alignment="3" min="-2" max="-2" attributes="0"/>
386
                      <Component id="javadocAutoCompletionTriggersField" alignment="3" min="-2" max="-2" attributes="0"/>
268
                  </Group>
387
                  </Group>
269
                  <EmptySpace pref="23" max="32767" attributes="0"/>
388
                  <EmptySpace pref="31" max="32767" attributes="0"/>
270
              </Group>
389
              </Group>
271
              <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
390
              <Group type="103" rootIndex="1" groupAlignment="0" attributes="0">
272
                  <Group type="102" alignment="0" attributes="0">
391
                  <Group type="102" alignment="0" attributes="0">
Lines 375-380 Link Here
375
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
494
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
376
            </Property>
495
            </Property>
377
          </Properties>
496
          </Properties>
497
          <AccessibilityProperties>
498
            <Property name="AccessibleContext.accessibleName" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
499
              <ResourceString bundle="org/netbeans/modules/java/editor/options/Bundle.properties" key="CodeCompletionPanel.javaCompletionExcluderButton.AccessibleContext.accessibleName" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
500
            </Property>
501
          </AccessibilityProperties>
378
          <Events>
502
          <Events>
379
            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="javaCompletionExcluderButtonActionPerformed"/>
503
            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="javaCompletionExcluderButtonActionPerformed"/>
380
          </Events>
504
          </Events>
(-)a/java.editor/src/org/netbeans/modules/java/editor/options/CodeCompletionPanel.java (-187 / +302 lines)
Lines 42-59 Link Here
42
package org.netbeans.modules.java.editor.options;
42
package org.netbeans.modules.java.editor.options;
43
43
44
import java.awt.Component;
44
import java.awt.Component;
45
import java.util.Arrays;
46
import java.util.Collection;
47
import java.util.TreeSet;
48
import java.util.Vector;
49
import java.util.prefs.Preferences;
45
import java.util.prefs.Preferences;
46
import javax.swing.DefaultListModel;
50
import javax.swing.JComponent;
47
import javax.swing.JComponent;
51
import javax.swing.JTable;
48
import javax.swing.JList;
52
import javax.swing.event.DocumentEvent;
49
import javax.swing.event.DocumentEvent;
53
import javax.swing.event.DocumentListener;
50
import javax.swing.event.DocumentListener;
54
import javax.swing.event.TableModelEvent;
55
import javax.swing.event.TableModelListener;
56
import javax.swing.table.DefaultTableModel;
57
import org.netbeans.modules.options.editor.spi.PreferencesCustomizer;
51
import org.netbeans.modules.options.editor.spi.PreferencesCustomizer;
58
import org.openide.util.HelpCtx;
52
import org.openide.util.HelpCtx;
59
53
Lines 62-68 Link Here
62
 * @author Dusan Balek
56
 * @author Dusan Balek
63
 * @author Sam Halliday
57
 * @author Sam Halliday
64
 */
58
 */
65
public class CodeCompletionPanel extends javax.swing.JPanel implements DocumentListener, TableModelListener {
59
public class CodeCompletionPanel extends javax.swing.JPanel implements DocumentListener {
66
60
67
    public static final String JAVA_AUTO_POPUP_ON_IDENTIFIER_PART = "javaAutoPopupOnIdentifierPart"; //NOI18N
61
    public static final String JAVA_AUTO_POPUP_ON_IDENTIFIER_PART = "javaAutoPopupOnIdentifierPart"; //NOI18N
68
    public static final boolean JAVA_AUTO_POPUP_ON_IDENTIFIER_PART_DEFAULT = false;
62
    public static final boolean JAVA_AUTO_POPUP_ON_IDENTIFIER_PART_DEFAULT = false;
Lines 78-96 Link Here
78
    public static final String JAVA_COMPLETION_WHITELIST_DEFAULT = ""; //NOI18N
72
    public static final String JAVA_COMPLETION_WHITELIST_DEFAULT = ""; //NOI18N
79
    public static final String JAVA_COMPLETION_BLACKLIST = "javaCompletionBlacklist"; //NOI18N
73
    public static final String JAVA_COMPLETION_BLACKLIST = "javaCompletionBlacklist"; //NOI18N
80
    public static final String JAVA_COMPLETION_BLACKLIST_DEFAULT = ""; //NOI18N
74
    public static final String JAVA_COMPLETION_BLACKLIST_DEFAULT = ""; //NOI18N
75
    public static final String JAVA_COMPLETION_EXCLUDER_METHODS = "javaCompletionExcluderMethods"; //NOI18N
76
    public static final boolean JAVA_COMPLETION_EXCLUDER_METHODS_DEFAULT = false;
77
78
    private static final String JAVA_FQN_REGEX = "[$\\w._]*";
81
79
82
    private final Preferences preferences;
80
    private final Preferences preferences;
83
81
84
    private void initExcluderTable(JTable table, String pref) {
82
    // null if a new entry is to be created, otherwise the entry to be replaced
85
        String[] entries = pref.split(","); //NOI18N
83
    private volatile String javaExcluderEditing;
86
        DefaultTableModel model = (DefaultTableModel) table.getModel();
87
        for (String entry : entries) {
88
            if (entry.length() > 0) {
89
                model.addRow(new String[]{entry});
90
            }
91
        }
92
        model.addTableModelListener(this);
93
    }
94
84
95
    /** Creates new form FmtTabsIndents */
85
    /** Creates new form FmtTabsIndents */
96
    public CodeCompletionPanel(Preferences p) {
86
    public CodeCompletionPanel(Preferences p) {
Lines 100-120 Link Here
100
        javaAutoPopupOnIdentifierPart.setSelected(preferences.getBoolean(JAVA_AUTO_POPUP_ON_IDENTIFIER_PART, JAVA_AUTO_POPUP_ON_IDENTIFIER_PART_DEFAULT));
90
        javaAutoPopupOnIdentifierPart.setSelected(preferences.getBoolean(JAVA_AUTO_POPUP_ON_IDENTIFIER_PART, JAVA_AUTO_POPUP_ON_IDENTIFIER_PART_DEFAULT));
101
        javaAutoCompletionTriggersField.setText(preferences.get(JAVA_AUTO_COMPLETION_TRIGGERS, JAVA_AUTO_COMPLETION_TRIGGERS_DEFAULT));
91
        javaAutoCompletionTriggersField.setText(preferences.get(JAVA_AUTO_COMPLETION_TRIGGERS, JAVA_AUTO_COMPLETION_TRIGGERS_DEFAULT));
102
        javaCompletionSelectorsField.setText(preferences.get(JAVA_COMPLETION_SELECTORS, JAVA_COMPLETION_SELECTORS_DEFAULT));
92
        javaCompletionSelectorsField.setText(preferences.get(JAVA_COMPLETION_SELECTORS, JAVA_COMPLETION_SELECTORS_DEFAULT));
103
        javadocAutoCompletionTriggersField.setText(preferences.get(JAVADOC_AUTO_COMPLETION_TRIGGERS, JAVADOC_AUTO_COMPLETION_TRIGGERS_DEFAULT));
93
        javadocAutoCompletionTriggersField.setText(preferences.get(JAVADOC_AUTO_COMPLETION_TRIGGERS, JAVADOC_AUTO_COMPLETION_TRIGGERS_DEFAULT));        
104
        String blacklist = preferences.get(JAVA_COMPLETION_BLACKLIST, JAVA_COMPLETION_BLACKLIST_DEFAULT);
94
        String blacklist = preferences.get(JAVA_COMPLETION_BLACKLIST, JAVA_COMPLETION_BLACKLIST_DEFAULT);
105
        initExcluderTable(javaCompletionExcludeTable, blacklist);
95
        initExcluderList(javaCompletionExcludeJlist, blacklist);
106
        String whitelist = preferences.get(JAVA_COMPLETION_WHITELIST, JAVA_COMPLETION_WHITELIST_DEFAULT);
96
        String whitelist = preferences.get(JAVA_COMPLETION_WHITELIST, JAVA_COMPLETION_WHITELIST_DEFAULT);
107
        initExcluderTable(javaCompletionIncludeTable, whitelist);
97
        initExcluderList(javaCompletionIncludeJlist, whitelist);
98
        javaCompletionExcluderMethodsCheckBox.setSelected(preferences.getBoolean(JAVA_COMPLETION_EXCLUDER_METHODS, JAVA_COMPLETION_EXCLUDER_METHODS_DEFAULT));
99
        javaCompletionExcluderDialog2.getRootPane().setDefaultButton(javaCompletionExcluderDialogOkButton);
100
101
        // can't NetBeans visual editor do these automatically?
102
        javaCompletionExcluderDialog1.pack();
103
        javaCompletionExcluderDialog1.setLocationRelativeTo(this);
104
        javaCompletionExcluderDialog2.pack();
105
        javaCompletionExcluderDialog2.setLocationRelativeTo(this);
106
108
        javaAutoCompletionTriggersField.getDocument().addDocumentListener(this);
107
        javaAutoCompletionTriggersField.getDocument().addDocumentListener(this);
109
        javaCompletionSelectorsField.getDocument().addDocumentListener(this);
108
        javaCompletionSelectorsField.getDocument().addDocumentListener(this);
110
        javadocAutoCompletionTriggersField.getDocument().addDocumentListener(this);
109
        javadocAutoCompletionTriggersField.getDocument().addDocumentListener(this);
111
    }
110
    }
111
112
    private void initExcluderList(JList jList, String list) {
113
        DefaultListModel model = new DefaultListModel();
114
        String [] entries = list.split(","); //NOI18N
115
        for (String entry : entries){
116
            if (entry.length() != 0)
117
                model.addElement(entry);
118
        }
119
        jList.setModel(model);
120
    }
121
122
    private void openExcluderEditor() {
123
        assert !javaCompletionExcluderDialog2.isVisible();
124
        javaCompletionExcluderDialogTextField.setText(javaExcluderEditing);
125
        javaCompletionExcluderDialog2.setVisible(true);
126
        javaCompletionExcluderDialogTextField.requestFocus();
127
    }
112
    
128
    
113
    public static PreferencesCustomizer.Factory getCustomizerFactory() {
129
    public static PreferencesCustomizer.Factory getCustomizerFactory() {
114
        return new PreferencesCustomizer.Factory() {
130
        return new PreferencesCustomizer.Factory() {
115
131
116
            public PreferencesCustomizer create(Preferences preferences) {
132
            public PreferencesCustomizer create(Preferences preferences) {
117
                return new CodeCompletionPreferencesCusromizer(preferences);
133
                return new CodeCompletionPreferencesCustomizer(preferences);
118
            }
134
            }
119
        };
135
        };
120
    }
136
    }
Lines 131-190 Link Here
131
        update(e);
147
        update(e);
132
    }
148
    }
133
149
134
    // allows common excluder buttons to know which table to act on
135
    private JTable getSelectedExcluderTable() {
136
        Component selected = javaCompletionExcluderTab.getSelectedComponent();
137
        if (selected == javaCompletionExcludeScrollPane) {
138
            return javaCompletionExcludeTable;
139
        } else if (selected == javaCompletionIncludeScrollPane) {
140
            return javaCompletionIncludeTable;
141
        } else {
142
            throw new RuntimeException(selected.getName());
143
        }
144
    }
145
146
    // listen to changes in the excluder lists, and do sanity checking on input
147
    public void tableChanged(TableModelEvent e) {
148
        DefaultTableModel model = (DefaultTableModel) e.getSource();
149
        String pref;
150
        if (model == javaCompletionExcludeTable.getModel()) {
151
            pref = JAVA_COMPLETION_BLACKLIST;
152
        } else if (model == javaCompletionIncludeTable.getModel()) {
153
            pref = JAVA_COMPLETION_WHITELIST;
154
        } else {
155
            throw new RuntimeException();
156
        }
157
        @SuppressWarnings("unchecked")
158
        Vector<Vector<String>> data = model.getDataVector();
159
        Collection<String> entries = new TreeSet<String>();
160
        for (Vector<String> row : data) {
161
            String entry = row.elementAt(0);
162
            if (entry == null) {
163
                continue;
164
            }
165
            // users can enter wildcards, which is the same as the raw prefix
166
            if (entry.contains("*"))
167
                entry = entry.replaceAll("\\*", "");
168
            entry = entry.trim();
169
            if (entry.length() == 0) {
170
                continue;
171
            }
172
            // this could be checked by a custom editor on input
173
            if (!entry.matches("[$\\w._]*")) { //NOI18N
174
                continue;
175
            }
176
            entries.add(entry);
177
        }
178
        StringBuilder builder = new StringBuilder();
179
        for (String entry : entries) {
180
            if (builder.length() > 0) {
181
                builder.append(","); //NOI18N
182
            }
183
            builder.append(entry);
184
        }
185
        preferences.put(pref, builder.toString());
186
    }
187
188
    /** This method is called from within the constructor to
150
    /** This method is called from within the constructor to
189
     * initialize the form.
151
     * initialize the form.
190
     * WARNING: Do NOT modify this code. The content of this method is
152
     * WARNING: Do NOT modify this code. The content of this method is
Lines 193-207 Link Here
193
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
155
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
194
    private void initComponents() {
156
    private void initComponents() {
195
157
196
        javaCompletionExcluderFrame = new javax.swing.JFrame();
158
        javaCompletionExcluderDialog2 = new javax.swing.JDialog();
159
        javaCompletionExcluderDialogTextField = new javax.swing.JTextField();
160
        javaCompletionExcluderDialogOkButton = new javax.swing.JButton();
161
        javaCompletionExcluderDialogLabel = new javax.swing.JLabel();
162
        javaCompletionExcluderDialogCancelButton = new javax.swing.JButton();
163
        javaCompletionExcluderDialog1 = new javax.swing.JDialog();
197
        javaCompletionExcluderTab = new javax.swing.JTabbedPane();
164
        javaCompletionExcluderTab = new javax.swing.JTabbedPane();
198
        javaCompletionExcludeScrollPane = new javax.swing.JScrollPane();
165
        javaCompletionExcludeScrollPane = new javax.swing.JScrollPane();
199
        javaCompletionExcludeTable = new javax.swing.JTable();
166
        javaCompletionExcludeJlist = new javax.swing.JList();
200
        javaCompletionIncludeScrollPane = new javax.swing.JScrollPane();
167
        javaCompletionIncludeScrollPane = new javax.swing.JScrollPane();
201
        javaCompletionIncludeTable = new javax.swing.JTable();
168
        javaCompletionIncludeJlist = new javax.swing.JList();
202
        javaCompletionExcluderAddButton = new javax.swing.JButton();
169
        javaCompletionExcluderAddButton = new javax.swing.JButton();
203
        javaCompletionExcluderRemoveButton = new javax.swing.JButton();
170
        javaCompletionExcluderRemoveButton = new javax.swing.JButton();
204
        javaCompletionExcluderCloseButton = new javax.swing.JButton();
171
        javaCompletionExcluderCloseButton = new javax.swing.JButton();
172
        javaCompletionExcluderEditButton = new javax.swing.JButton();
173
        javaCompletionExcluderMethodsCheckBox = new javax.swing.JCheckBox();
205
        javaCompletionPane = new javax.swing.JPanel();
174
        javaCompletionPane = new javax.swing.JPanel();
206
        guessMethodArguments = new javax.swing.JCheckBox();
175
        guessMethodArguments = new javax.swing.JCheckBox();
207
        javaAutoPopupOnIdentifierPart = new javax.swing.JCheckBox();
176
        javaAutoPopupOnIdentifierPart = new javax.swing.JCheckBox();
Lines 215-268 Link Here
215
        javaCompletionExcluderLabel = new javax.swing.JLabel();
184
        javaCompletionExcluderLabel = new javax.swing.JLabel();
216
        javaCompletionExcluderButton = new javax.swing.JButton();
185
        javaCompletionExcluderButton = new javax.swing.JButton();
217
186
218
        javaCompletionExcluderFrame.setTitle(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderFrame.title")); // NOI18N
187
        javaCompletionExcluderDialog2.setModal(true);
219
        javaCompletionExcluderFrame.setAlwaysOnTop(true);
188
        javaCompletionExcluderDialog2.setUndecorated(true);
220
        javaCompletionExcluderFrame.setMinimumSize(new java.awt.Dimension(409, 233));
221
        javaCompletionExcluderFrame.setUndecorated(true);
222
189
223
        javaCompletionExcludeTable.setModel(new javax.swing.table.DefaultTableModel(
190
        javaCompletionExcluderDialogTextField.setText(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderDialogTextField.text")); // NOI18N
224
            new Object [][] {
191
        javaCompletionExcluderDialogTextField.addKeyListener(new java.awt.event.KeyAdapter() {
225
192
            public void keyTyped(java.awt.event.KeyEvent evt) {
226
            },
193
                javaCompletionExcluderDialogTextFieldKeyTyped(evt);
227
            new String [] {
228
                "Fully Qualified Name prefix"
229
            }
230
        ) {
231
            Class[] types = new Class [] {
232
                java.lang.String.class
233
            };
234
235
            public Class getColumnClass(int columnIndex) {
236
                return types [columnIndex];
237
            }
194
            }
238
        });
195
        });
239
        javaCompletionExcludeTable.getTableHeader().setReorderingAllowed(false);
196
240
        javaCompletionExcludeScrollPane.setViewportView(javaCompletionExcludeTable);
197
        org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderDialogOkButton, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderDialogOkButton.text")); // NOI18N
241
        javaCompletionExcludeTable.getColumnModel().getColumn(0).setHeaderValue(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title0")); // NOI18N
198
        javaCompletionExcluderDialogOkButton.addActionListener(new java.awt.event.ActionListener() {
199
            public void actionPerformed(java.awt.event.ActionEvent evt) {
200
                javaCompletionExcluderDialogOkButtonActionPerformed(evt);
201
            }
202
        });
203
204
        org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderDialogLabel, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderDialogLabel.text")); // NOI18N
205
206
        org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderDialogCancelButton, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderDialogCancelButton.text")); // NOI18N
207
        javaCompletionExcluderDialogCancelButton.addActionListener(new java.awt.event.ActionListener() {
208
            public void actionPerformed(java.awt.event.ActionEvent evt) {
209
                javaCompletionExcluderDialogCancelButtonActionPerformed(evt);
210
            }
211
        });
212
213
        org.jdesktop.layout.GroupLayout javaCompletionExcluderDialog2Layout = new org.jdesktop.layout.GroupLayout(javaCompletionExcluderDialog2.getContentPane());
214
        javaCompletionExcluderDialog2.getContentPane().setLayout(javaCompletionExcluderDialog2Layout);
215
        javaCompletionExcluderDialog2Layout.setHorizontalGroup(
216
            javaCompletionExcluderDialog2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
217
            .add(javaCompletionExcluderDialog2Layout.createSequentialGroup()
218
                .addContainerGap()
219
                .add(javaCompletionExcluderDialog2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
220
                    .add(org.jdesktop.layout.GroupLayout.LEADING, javaCompletionExcluderDialogLabel, 0, 0, Short.MAX_VALUE)
221
                    .add(org.jdesktop.layout.GroupLayout.LEADING, javaCompletionExcluderDialogTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 307, Short.MAX_VALUE))
222
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
223
                .add(javaCompletionExcluderDialog2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
224
                    .add(javaCompletionExcluderDialogOkButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
225
                    .add(javaCompletionExcluderDialogCancelButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
226
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
227
        );
228
        javaCompletionExcluderDialog2Layout.setVerticalGroup(
229
            javaCompletionExcluderDialog2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
230
            .add(org.jdesktop.layout.GroupLayout.TRAILING, javaCompletionExcluderDialog2Layout.createSequentialGroup()
231
                .add(javaCompletionExcluderDialog2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
232
                    .add(javaCompletionExcluderDialog2Layout.createSequentialGroup()
233
                        .addContainerGap()
234
                        .add(javaCompletionExcluderDialogLabel)
235
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
236
                    .add(javaCompletionExcluderDialog2Layout.createSequentialGroup()
237
                        .addContainerGap()
238
                        .add(javaCompletionExcluderDialogCancelButton)
239
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)))
240
                .add(javaCompletionExcluderDialog2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
241
                    .add(javaCompletionExcluderDialogTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
242
                    .add(javaCompletionExcluderDialogOkButton))
243
                .add(61, 61, 61))
244
        );
245
246
        javaCompletionExcluderDialogTextField.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderDialogTextField.AccessibleContext.accessibleName")); // NOI18N
247
        javaCompletionExcluderDialogTextField.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderDialogTextField.AccessibleContext.accessibleDescription")); // NOI18N
248
        javaCompletionExcluderDialogLabel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderDialogLabel.AccessibleContext.accessibleName")); // NOI18N
249
250
        javaCompletionExcluderDialog2.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderDialog2.AccessibleContext.accessibleName")); // NOI18N
251
252
        javaCompletionExcluderDialog1.setTitle(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderDialog1.title")); // NOI18N
253
        javaCompletionExcluderDialog1.setModal(true);
254
255
        javaCompletionExcludeScrollPane.setViewportView(javaCompletionExcludeJlist);
256
        javaCompletionExcludeJlist.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcludeJlist.AccessibleContext.accessibleName")); // NOI18N
242
257
243
        javaCompletionExcluderTab.addTab(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcludeScrollPane.TabConstraints.tabTitle"), javaCompletionExcludeScrollPane); // NOI18N
258
        javaCompletionExcluderTab.addTab(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcludeScrollPane.TabConstraints.tabTitle"), javaCompletionExcludeScrollPane); // NOI18N
259
        javaCompletionExcludeScrollPane.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcludeScrollPane.AccessibleContext.accessibleName")); // NOI18N
244
260
245
        javaCompletionIncludeTable.setModel(new javax.swing.table.DefaultTableModel(
261
        javaCompletionIncludeScrollPane.setViewportView(javaCompletionIncludeJlist);
246
            new Object [][] {
262
        javaCompletionIncludeJlist.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionIncludeJlist.AccessibleContext.accessibleName")); // NOI18N
247
248
            },
249
            new String [] {
250
                "Fully Qualified Name prefix"
251
            }
252
        ) {
253
            Class[] types = new Class [] {
254
                java.lang.String.class
255
            };
256
257
            public Class getColumnClass(int columnIndex) {
258
                return types [columnIndex];
259
            }
260
        });
261
        javaCompletionIncludeTable.getTableHeader().setReorderingAllowed(false);
262
        javaCompletionIncludeScrollPane.setViewportView(javaCompletionIncludeTable);
263
        javaCompletionIncludeTable.getColumnModel().getColumn(0).setHeaderValue(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcludeTable.columnModel.title0")); // NOI18N
264
263
265
        javaCompletionExcluderTab.addTab(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionIncludeScrollPane.TabConstraints.tabTitle"), javaCompletionIncludeScrollPane); // NOI18N
264
        javaCompletionExcluderTab.addTab(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionIncludeScrollPane.TabConstraints.tabTitle"), javaCompletionIncludeScrollPane); // NOI18N
265
        javaCompletionIncludeScrollPane.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionIncludeScrollPane.AccessibleContext.accessibleName")); // NOI18N
266
266
267
        org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderAddButton, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderAddButton.text")); // NOI18N
267
        org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderAddButton, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderAddButton.text")); // NOI18N
268
        javaCompletionExcluderAddButton.addActionListener(new java.awt.event.ActionListener() {
268
        javaCompletionExcluderAddButton.addActionListener(new java.awt.event.ActionListener() {
Lines 285-321 Link Here
285
            }
285
            }
286
        });
286
        });
287
287
288
        org.jdesktop.layout.GroupLayout javaCompletionExcluderFrameLayout = new org.jdesktop.layout.GroupLayout(javaCompletionExcluderFrame.getContentPane());
288
        org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderEditButton, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderEditButton.text")); // NOI18N
289
        javaCompletionExcluderFrame.getContentPane().setLayout(javaCompletionExcluderFrameLayout);
289
        javaCompletionExcluderEditButton.addActionListener(new java.awt.event.ActionListener() {
290
        javaCompletionExcluderFrameLayout.setHorizontalGroup(
290
            public void actionPerformed(java.awt.event.ActionEvent evt) {
291
            javaCompletionExcluderFrameLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
291
                javaCompletionExcluderEditButtonActionPerformed(evt);
292
            .add(org.jdesktop.layout.GroupLayout.TRAILING, javaCompletionExcluderFrameLayout.createSequentialGroup()
292
            }
293
        });
294
295
        org.openide.awt.Mnemonics.setLocalizedText(javaCompletionExcluderMethodsCheckBox, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderMethodsCheckBox.text")); // NOI18N
296
        javaCompletionExcluderMethodsCheckBox.addActionListener(new java.awt.event.ActionListener() {
297
            public void actionPerformed(java.awt.event.ActionEvent evt) {
298
                javaCompletionExcluderMethodsCheckBoxActionPerformed(evt);
299
            }
300
        });
301
302
        org.jdesktop.layout.GroupLayout javaCompletionExcluderDialog1Layout = new org.jdesktop.layout.GroupLayout(javaCompletionExcluderDialog1.getContentPane());
303
        javaCompletionExcluderDialog1.getContentPane().setLayout(javaCompletionExcluderDialog1Layout);
304
        javaCompletionExcluderDialog1Layout.setHorizontalGroup(
305
            javaCompletionExcluderDialog1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
306
            .add(javaCompletionExcluderDialog1Layout.createSequentialGroup()
293
                .addContainerGap()
307
                .addContainerGap()
294
                .add(javaCompletionExcluderTab, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 298, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
308
                .add(javaCompletionExcluderDialog1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
295
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
309
                    .add(javaCompletionExcluderDialog1Layout.createSequentialGroup()
296
                .add(javaCompletionExcluderFrameLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
310
                        .add(javaCompletionExcluderTab, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 298, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
297
                    .add(javaCompletionExcluderCloseButton, 0, 0, Short.MAX_VALUE)
311
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
298
                    .add(javaCompletionExcluderRemoveButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
312
                        .add(javaCompletionExcluderDialog1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
299
                    .add(javaCompletionExcluderAddButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
313
                            .add(javaCompletionExcluderEditButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
300
                .addContainerGap(10, Short.MAX_VALUE))
314
                            .add(javaCompletionExcluderRemoveButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
315
                            .add(javaCompletionExcluderAddButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
316
                    .add(javaCompletionExcluderDialog1Layout.createSequentialGroup()
317
                        .add(javaCompletionExcluderMethodsCheckBox)
318
                        .add(125, 125, 125)
319
                        .add(javaCompletionExcluderCloseButton, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 93, Short.MAX_VALUE)))
320
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
301
        );
321
        );
302
        javaCompletionExcluderFrameLayout.setVerticalGroup(
322
        javaCompletionExcluderDialog1Layout.setVerticalGroup(
303
            javaCompletionExcluderFrameLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
323
            javaCompletionExcluderDialog1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
304
            .add(javaCompletionExcluderFrameLayout.createSequentialGroup()
324
            .add(javaCompletionExcluderDialog1Layout.createSequentialGroup()
305
                .add(javaCompletionExcluderFrameLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
325
                .add(javaCompletionExcluderDialog1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
306
                    .add(javaCompletionExcluderFrameLayout.createSequentialGroup()
326
                    .add(javaCompletionExcluderDialog1Layout.createSequentialGroup()
307
                        .addContainerGap()
327
                        .addContainerGap()
308
                        .add(javaCompletionExcluderTab, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 221, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
328
                        .add(javaCompletionExcluderTab, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 221, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
309
                    .add(javaCompletionExcluderFrameLayout.createSequentialGroup()
329
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
330
                        .add(javaCompletionExcluderDialog1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
331
                            .add(javaCompletionExcluderMethodsCheckBox)
332
                            .add(javaCompletionExcluderCloseButton)))
333
                    .add(javaCompletionExcluderDialog1Layout.createSequentialGroup()
310
                        .add(59, 59, 59)
334
                        .add(59, 59, 59)
311
                        .add(javaCompletionExcluderAddButton)
335
                        .add(javaCompletionExcluderAddButton)
312
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
336
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
313
                        .add(javaCompletionExcluderRemoveButton)
337
                        .add(javaCompletionExcluderEditButton)
314
                        .add(63, 63, 63)
338
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
315
                        .add(javaCompletionExcluderCloseButton)))
339
                        .add(javaCompletionExcluderRemoveButton)))
316
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
340
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
317
        );
341
        );
318
342
343
        javaCompletionExcluderTab.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderTab.AccessibleContext.accessibleName")); // NOI18N
344
319
        setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
345
        setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
320
346
321
        org.openide.awt.Mnemonics.setLocalizedText(guessMethodArguments, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "LBL_GuessMethodArgs")); // NOI18N
347
        org.openide.awt.Mnemonics.setLocalizedText(guessMethodArguments, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "LBL_GuessMethodArgs")); // NOI18N
Lines 361-367 Link Here
361
            .add(javaCompletionPaneLayout.createSequentialGroup()
387
            .add(javaCompletionPaneLayout.createSequentialGroup()
362
                .addContainerGap()
388
                .addContainerGap()
363
                .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
389
                .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
364
                    .add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 337, Short.MAX_VALUE)
390
                    .add(jSeparator1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 511, Short.MAX_VALUE)
365
                    .add(javaCompletionPaneLayout.createSequentialGroup()
391
                    .add(javaCompletionPaneLayout.createSequentialGroup()
366
                        .add(javadocAutoCompletionTriggersLabel)
392
                        .add(javadocAutoCompletionTriggersLabel)
367
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
393
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
Lines 371-394 Link Here
371
                .add(javaCompletionPaneLayout.createSequentialGroup()
397
                .add(javaCompletionPaneLayout.createSequentialGroup()
372
                    .addContainerGap()
398
                    .addContainerGap()
373
                    .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
399
                    .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
374
                    .add(guessMethodArguments)
400
                        .add(guessMethodArguments)
375
                        .add(javaCompletionPaneLayout.createSequentialGroup()
401
                        .add(javaCompletionPaneLayout.createSequentialGroup()
376
                        .add(javaAutoCompletionTriggersLabel)
402
                            .add(javaAutoCompletionTriggersLabel)
377
                        .add(34, 34, 34)
403
                            .add(34, 34, 34)
378
                        .add(javaAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
404
                            .add(javaAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
379
                    .add(javaAutoPopupOnIdentifierPart)
405
                        .add(javaAutoPopupOnIdentifierPart)
380
                        .add(javaCompletionPaneLayout.createSequentialGroup()
406
                        .add(javaCompletionPaneLayout.createSequentialGroup()
381
                            .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
407
                            .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
382
                                .add(javaCompletionExcluderLabel)
408
                                .add(javaCompletionExcluderLabel)
383
                                .add(javaCompletionSelectorsLabel))
409
                                .add(javaCompletionSelectorsLabel))
384
                            .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
410
                            .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
385
                                .add(javaCompletionPaneLayout.createSequentialGroup()
411
                                .add(javaCompletionPaneLayout.createSequentialGroup()
386
                        .add(30, 30, 30)
412
                                    .add(30, 30, 30)
387
                        .add(javaCompletionSelectorsField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
413
                                    .add(javaCompletionSelectorsField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 86, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
388
                                .add(org.jdesktop.layout.GroupLayout.TRAILING, javaCompletionPaneLayout.createSequentialGroup()
414
                                .add(javaCompletionPaneLayout.createSequentialGroup()
389
                                    .add(23, 23, 23)
415
                                    .add(23, 23, 23)
390
                                    .add(javaCompletionExcluderButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 93, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))))
416
                                    .add(javaCompletionExcluderButton)))))
391
                    .addContainerGap(25, Short.MAX_VALUE)))
417
                    .add(213, 213, 213)))
392
        );
418
        );
393
        javaCompletionPaneLayout.setVerticalGroup(
419
        javaCompletionPaneLayout.setVerticalGroup(
394
            javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
420
            javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
Lines 399-419 Link Here
399
                .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
425
                .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
400
                    .add(javadocAutoCompletionTriggersLabel)
426
                    .add(javadocAutoCompletionTriggersLabel)
401
                    .add(javadocAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
427
                    .add(javadocAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
402
                .addContainerGap(23, Short.MAX_VALUE))
428
                .addContainerGap(31, Short.MAX_VALUE))
403
            .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
429
            .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
404
                .add(javaCompletionPaneLayout.createSequentialGroup()
430
                .add(javaCompletionPaneLayout.createSequentialGroup()
405
                .addContainerGap()
431
                    .addContainerGap()
406
                    .add(guessMethodArguments, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
432
                    .add(guessMethodArguments, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
407
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
433
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
408
                    .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
434
                    .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
409
                    .add(javaAutoCompletionTriggersLabel)
435
                        .add(javaAutoCompletionTriggersLabel)
410
                    .add(javaAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
436
                        .add(javaAutoCompletionTriggersField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
411
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
437
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
412
                .add(javaAutoPopupOnIdentifierPart)
438
                    .add(javaAutoPopupOnIdentifierPart)
413
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
439
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
414
                    .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
440
                    .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
415
                    .add(javaCompletionSelectorsLabel)
441
                        .add(javaCompletionSelectorsLabel)
416
                    .add(javaCompletionSelectorsField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
442
                        .add(javaCompletionSelectorsField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
417
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
443
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
418
                    .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
444
                    .add(javaCompletionPaneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
419
                        .add(javaCompletionExcluderButton)
445
                        .add(javaCompletionExcluderButton)
Lines 421-426 Link Here
421
                    .addContainerGap(91, Short.MAX_VALUE)))
447
                    .addContainerGap(91, Short.MAX_VALUE)))
422
        );
448
        );
423
449
450
        javaCompletionExcluderButton.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.javaCompletionExcluderButton.AccessibleContext.accessibleName")); // NOI18N
451
424
        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
452
        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
425
        this.setLayout(layout);
453
        this.setLayout(layout);
426
        layout.setHorizontalGroup(
454
        layout.setHorizontalGroup(
Lines 442-480 Link Here
442
}//GEN-LAST:event_guessMethodArgumentsActionPerformed
470
}//GEN-LAST:event_guessMethodArgumentsActionPerformed
443
471
444
	private void javaCompletionExcluderButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderButtonActionPerformed
472
	private void javaCompletionExcluderButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderButtonActionPerformed
445
        if (javaCompletionExcluderFrame.isVisible())
473
        assert !javaCompletionExcluderDialog1.isVisible();
446
            return;
474
        javaCompletionExcluderDialog1.setVisible(true);
447
        javaCompletionExcluderFrame.pack();
448
        javaCompletionExcluderFrame.setLocationRelativeTo(this);
449
        javaCompletionExcluderFrame.setVisible(true);
450
}//GEN-LAST:event_javaCompletionExcluderButtonActionPerformed
475
}//GEN-LAST:event_javaCompletionExcluderButtonActionPerformed
451
476
452
	private void javaCompletionExcluderAddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderAddButtonActionPerformed
477
	private void javaCompletionExcluderAddButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderAddButtonActionPerformed
453
        JTable table = getSelectedExcluderTable();
478
        openExcluderEditor();
454
        DefaultTableModel model = (DefaultTableModel) table.getModel();
455
        int rows = model.getRowCount();
456
        model.setRowCount(rows + 1);
457
        table.editCellAt(rows, 0);
458
        table.requestFocus();
459
}//GEN-LAST:event_javaCompletionExcluderAddButtonActionPerformed
479
}//GEN-LAST:event_javaCompletionExcluderAddButtonActionPerformed
460
480
461
    private void javaCompletionExcluderRemoveButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderRemoveButtonActionPerformed
481
    private void javaCompletionExcluderRemoveButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderRemoveButtonActionPerformed
462
        JTable table = getSelectedExcluderTable();
482
        JList list = getSelectedExcluderList();
463
        int[] rows = table.getSelectedRows();
483
        int[] rows = list.getSelectedIndices();
464
        if (rows.length == 0)
484
        DefaultListModel model = (DefaultListModel) list.getModel();
465
            return;
466
        // remove rows in descending order: row numbers change when a row is removed
485
        // remove rows in descending order: row numbers change when a row is removed
467
        Arrays.sort(rows);
468
        DefaultTableModel model = (DefaultTableModel) table.getModel();
469
        for (int row = rows.length - 1; row >= 0; row--) {
486
        for (int row = rows.length - 1; row >= 0; row--) {
470
            model.removeRow(rows[row]);
487
            model.remove(rows[row]);
471
        }
488
        }
489
        updateExcluder(list);
472
}//GEN-LAST:event_javaCompletionExcluderRemoveButtonActionPerformed
490
}//GEN-LAST:event_javaCompletionExcluderRemoveButtonActionPerformed
473
491
474
    private void javaCompletionExcluderCloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderCloseButtonActionPerformed
492
    private void javaCompletionExcluderCloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderCloseButtonActionPerformed
475
        javaCompletionExcluderFrame.setVisible(false);
493
        javaCompletionExcluderDialog1.setVisible(false);
476
    }//GEN-LAST:event_javaCompletionExcluderCloseButtonActionPerformed
494
    }//GEN-LAST:event_javaCompletionExcluderCloseButtonActionPerformed
477
495
496
    private void javaCompletionExcluderEditButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderEditButtonActionPerformed
497
        JList list = getSelectedExcluderList();
498
        int index = list.getSelectedIndex();
499
        if (index == -1)
500
            return;
501
        DefaultListModel model = (DefaultListModel) list.getModel();
502
        javaExcluderEditing = (String) model.getElementAt(index);
503
        openExcluderEditor();
504
}//GEN-LAST:event_javaCompletionExcluderEditButtonActionPerformed
505
506
    private void javaCompletionExcluderMethodsCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderMethodsCheckBoxActionPerformed
507
        preferences.putBoolean(JAVA_COMPLETION_EXCLUDER_METHODS, javaCompletionExcluderMethodsCheckBox.isSelected());
508
}//GEN-LAST:event_javaCompletionExcluderMethodsCheckBoxActionPerformed
509
510
    private void javaCompletionExcluderDialogOkButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderDialogOkButtonActionPerformed
511
        JList list = getSelectedExcluderList();
512
        String text = javaCompletionExcluderDialogTextField.getText();
513
        DefaultListModel model = (DefaultListModel) list.getModel();
514
        int index = model.size();
515
        if (javaExcluderEditing != null){
516
            // if this was an "edit" rather than "add", then remove the old entry first
517
            index = model.indexOf(javaExcluderEditing);
518
            model.remove(index);
519
            javaExcluderEditing = null;
520
        }
521
        String[] entries = text.split(","); // NOI18N
522
        for (String entry : entries) {
523
            // strip wildcards
524
            if (entry.contains("*"))  { // NOI18N
525
                entry = entry.replaceAll("\\*", "");  // NOI18N
526
            }
527
            entry = entry.trim();
528
            if (entry.length() != 0 && entry.matches(JAVA_FQN_REGEX)){
529
                model.insertElementAt(entry, index);
530
                index++;
531
            }
532
        }
533
        updateExcluder(list);
534
        javaCompletionExcluderDialog2.setVisible(false);
535
        javaCompletionExcluderDialogTextField.setText(null);
536
    }//GEN-LAST:event_javaCompletionExcluderDialogOkButtonActionPerformed
537
538
    private void javaCompletionExcluderDialogCancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_javaCompletionExcluderDialogCancelButtonActionPerformed
539
        javaCompletionExcluderDialog2.setVisible(false);
540
        javaCompletionExcluderDialogTextField.setText(null);
541
        javaExcluderEditing = null;
542
    }//GEN-LAST:event_javaCompletionExcluderDialogCancelButtonActionPerformed
543
544
    private void javaCompletionExcluderDialogTextFieldKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_javaCompletionExcluderDialogTextFieldKeyTyped
545
        char c = evt.getKeyChar();
546
        // could use javax.lang.model.SourceVersion.isIdentifier if we had Java 6
547
        if (c != ' ' && c != ',' && c != '*' && !String.valueOf(c).matches(JAVA_FQN_REGEX)) { //NOI18N
548
            getToolkit().beep();
549
            evt.consume();
550
        }
551
    }//GEN-LAST:event_javaCompletionExcluderDialogTextFieldKeyTyped
552
478
    private void update(DocumentEvent e) {
553
    private void update(DocumentEvent e) {
479
        if (e.getDocument() == javaAutoCompletionTriggersField.getDocument())
554
        if (e.getDocument() == javaAutoCompletionTriggersField.getDocument())
480
            preferences.put(JAVA_AUTO_COMPLETION_TRIGGERS, javaAutoCompletionTriggersField.getText());
555
            preferences.put(JAVA_AUTO_COMPLETION_TRIGGERS, javaAutoCompletionTriggersField.getText());
Lines 484-506 Link Here
484
            preferences.put(JAVADOC_AUTO_COMPLETION_TRIGGERS, javadocAutoCompletionTriggersField.getText());
559
            preferences.put(JAVADOC_AUTO_COMPLETION_TRIGGERS, javadocAutoCompletionTriggersField.getText());
485
    }
560
    }
486
561
562
    private void updateExcluder(JList list) {
563
        DefaultListModel model = (DefaultListModel) list.getModel();
564
        StringBuilder builder = new StringBuilder();
565
        for (int i = 0 ; i < model.size() ; i++) {
566
            String entry = (String) model.getElementAt(i);
567
            if (builder.length() > 0) {
568
                builder.append(","); //NOI18N
569
            }
570
            builder.append(entry);
571
        }
572
        String pref;
573
        if (list == javaCompletionExcludeJlist)
574
            pref = JAVA_COMPLETION_BLACKLIST;
575
        else if (list == javaCompletionIncludeJlist)
576
            pref = JAVA_COMPLETION_WHITELIST;
577
        else
578
            throw new RuntimeException(list.getName());
579
580
        preferences.put(pref, builder.toString());
581
    }
582
583
    // allows common excluder buttons to know which table to act on
584
    private JList getSelectedExcluderList() {
585
        Component selected = javaCompletionExcluderTab.getSelectedComponent();
586
        if (selected == javaCompletionExcludeScrollPane) {
587
            return javaCompletionExcludeJlist;
588
        } else if (selected == javaCompletionIncludeScrollPane) {
589
            return javaCompletionIncludeJlist;
590
        } else {
591
            throw new RuntimeException(selected.getName());
592
        }
593
    }
594
487
    // Variables declaration - do not modify//GEN-BEGIN:variables
595
    // Variables declaration - do not modify//GEN-BEGIN:variables
488
    private javax.swing.JCheckBox guessMethodArguments;
596
    private javax.swing.JCheckBox guessMethodArguments;
489
    private javax.swing.JSeparator jSeparator1;
597
    private javax.swing.JSeparator jSeparator1;
490
    private javax.swing.JTextField javaAutoCompletionTriggersField;
598
    private javax.swing.JTextField javaAutoCompletionTriggersField;
491
    private javax.swing.JLabel javaAutoCompletionTriggersLabel;
599
    private javax.swing.JLabel javaAutoCompletionTriggersLabel;
492
    private javax.swing.JCheckBox javaAutoPopupOnIdentifierPart;
600
    private javax.swing.JCheckBox javaAutoPopupOnIdentifierPart;
601
    private javax.swing.JList javaCompletionExcludeJlist;
493
    private javax.swing.JScrollPane javaCompletionExcludeScrollPane;
602
    private javax.swing.JScrollPane javaCompletionExcludeScrollPane;
494
    private javax.swing.JTable javaCompletionExcludeTable;
495
    private javax.swing.JButton javaCompletionExcluderAddButton;
603
    private javax.swing.JButton javaCompletionExcluderAddButton;
496
    private javax.swing.JButton javaCompletionExcluderButton;
604
    private javax.swing.JButton javaCompletionExcluderButton;
497
    private javax.swing.JButton javaCompletionExcluderCloseButton;
605
    private javax.swing.JButton javaCompletionExcluderCloseButton;
498
    private javax.swing.JFrame javaCompletionExcluderFrame;
606
    private javax.swing.JDialog javaCompletionExcluderDialog1;
607
    private javax.swing.JDialog javaCompletionExcluderDialog2;
608
    private javax.swing.JButton javaCompletionExcluderDialogCancelButton;
609
    private javax.swing.JLabel javaCompletionExcluderDialogLabel;
610
    private javax.swing.JButton javaCompletionExcluderDialogOkButton;
611
    private javax.swing.JTextField javaCompletionExcluderDialogTextField;
612
    private javax.swing.JButton javaCompletionExcluderEditButton;
499
    private javax.swing.JLabel javaCompletionExcluderLabel;
613
    private javax.swing.JLabel javaCompletionExcluderLabel;
614
    private javax.swing.JCheckBox javaCompletionExcluderMethodsCheckBox;
500
    private javax.swing.JButton javaCompletionExcluderRemoveButton;
615
    private javax.swing.JButton javaCompletionExcluderRemoveButton;
501
    private javax.swing.JTabbedPane javaCompletionExcluderTab;
616
    private javax.swing.JTabbedPane javaCompletionExcluderTab;
617
    private javax.swing.JList javaCompletionIncludeJlist;
502
    private javax.swing.JScrollPane javaCompletionIncludeScrollPane;
618
    private javax.swing.JScrollPane javaCompletionIncludeScrollPane;
503
    private javax.swing.JTable javaCompletionIncludeTable;
504
    private javax.swing.JPanel javaCompletionPane;
619
    private javax.swing.JPanel javaCompletionPane;
505
    private javax.swing.JTextField javaCompletionSelectorsField;
620
    private javax.swing.JTextField javaCompletionSelectorsField;
506
    private javax.swing.JLabel javaCompletionSelectorsLabel;
621
    private javax.swing.JLabel javaCompletionSelectorsLabel;
Lines 508-518 Link Here
508
    private javax.swing.JLabel javadocAutoCompletionTriggersLabel;
623
    private javax.swing.JLabel javadocAutoCompletionTriggersLabel;
509
    // End of variables declaration//GEN-END:variables
624
    // End of variables declaration//GEN-END:variables
510
    
625
    
511
    private static class CodeCompletionPreferencesCusromizer implements PreferencesCustomizer {
626
    private static class CodeCompletionPreferencesCustomizer implements PreferencesCustomizer {
512
627
513
        private final Preferences preferences;
628
        private final Preferences preferences;
514
629
515
        private CodeCompletionPreferencesCusromizer(Preferences p) {
630
        private CodeCompletionPreferencesCustomizer(Preferences p) {
516
            preferences = p;
631
            preferences = p;
517
        }
632
        }
518
633

Return to bug 125060