Hierarchy providers refactored
[fedora-idea.git] / lang-impl / src / com / intellij / ide / util / MemberChooserBuilder.java
blobd3228d312a68b335902df1ad8fa6a8b18ab5645a
1 /*
2 * @author max
3 */
4 package com.intellij.ide.util;
6 import com.intellij.codeInsight.generation.ClassMember;
7 import com.intellij.openapi.project.Project;
9 import javax.swing.*;
11 public class MemberChooserBuilder<T extends ClassMember> {
12 private final Project myProject;
13 private boolean myAllowEmptySelection = false;
14 private boolean myAllowMultiSelection = true;
15 private boolean myIsInsertOverrideVisible = false;
16 private boolean myIsCopyJavadocVisible = false;
17 private JComponent myHeaderPanel;
18 private String myTitle;
20 public MemberChooserBuilder(final Project project) {
21 myProject = project;
24 public MemberChooser<T> createBuilder(T[] elements) {
25 final MemberChooser<T> chooser =
26 new MemberChooser<T>(elements, myAllowEmptySelection, myAllowMultiSelection, myProject, myIsInsertOverrideVisible, myHeaderPanel);
28 if (myTitle != null) {
29 chooser.setTitle(myTitle);
32 chooser.setCopyJavadocVisible(myIsCopyJavadocVisible);
34 return chooser;
37 public void allowEmptySelection(final boolean allowEmptySelection) {
38 myAllowEmptySelection = allowEmptySelection;
41 public void allowMultiSelection(final boolean allowMultiSelection) {
42 myAllowMultiSelection = allowMultiSelection;
45 public void overrideAnnotationVisible(final boolean isInsertOverrideVisible) {
46 myIsInsertOverrideVisible = isInsertOverrideVisible;
49 public void setHeaderPanel(final JComponent headerPanel) {
50 myHeaderPanel = headerPanel;
53 public void copyJavadocVisible(final boolean isCopyJavadocVisible) {
54 myIsCopyJavadocVisible = isCopyJavadocVisible;
57 public void setTitle(final String title) {
58 myTitle = title;