summaryrefslogtreecommitdiff
path: root/platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java')
-rw-r--r--platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java38
1 files changed, 33 insertions, 5 deletions
diff --git a/platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java b/platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java
index ed374a905462..e4c8c6852727 100644
--- a/platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java
+++ b/platform/platform-api/src/com/intellij/openapi/ui/DialogBuilder.java
@@ -21,6 +21,7 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.help.HelpManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Disposer;
+import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.containers.ContainerUtil;
import org.intellij.lang.annotations.MagicConstant;
import org.jetbrains.annotations.NonNls;
@@ -55,26 +56,34 @@ public class DialogBuilder implements Disposable {
return showImpl(true).getExitCode();
}
+ public boolean showAndGet() {
+ return showImpl(true).isOK();
+ }
+
public void showNotModal() {
showImpl(false);
}
- public DialogBuilder(Project project) {
+ public DialogBuilder(@Nullable Project project) {
myDialogWrapper = new MyDialogWrapper(project, true);
Disposer.register(myDialogWrapper.getDisposable(), this);
}
- public DialogBuilder(Component parent) {
+ public DialogBuilder(@Nullable Component parent) {
myDialogWrapper = new MyDialogWrapper(parent, true);
Disposer.register(myDialogWrapper.getDisposable(), this);
}
+ public DialogBuilder() {
+ this(((Project)null));
+ }
+
@Override
public void dispose() {
}
private MyDialogWrapper showImpl(boolean isModal) {
- LOG.assertTrue(myTitle != null && myTitle.trim().length() != 0,
+ LOG.assertTrue(!StringUtil.isEmptyOrSpaces(myTitle),
String.format("Dialog title shouldn't be empty or null: [%s]", myTitle));
myDialogWrapper.setTitle(myTitle);
myDialogWrapper.init();
@@ -91,6 +100,12 @@ public class DialogBuilder implements Disposable {
}
@NotNull
+ public DialogBuilder centerPanel(@NotNull JComponent centerPanel) {
+ myCenterPanel = centerPanel;
+ return this;
+ }
+
+ @NotNull
public DialogBuilder setNorthPanel(@NotNull JComponent northPanel) {
myNorthPanel = northPanel;
return this;
@@ -100,6 +115,7 @@ public class DialogBuilder implements Disposable {
myTitle = title;
}
+ @NotNull
public DialogBuilder title(@NotNull String title) {
myTitle = title;
return this;
@@ -196,6 +212,18 @@ public class DialogBuilder implements Disposable {
myDialogWrapper.setOKActionEnabled(isEnabled);
}
+ @NotNull
+ public DialogBuilder okActionEnabled(boolean isEnabled) {
+ myDialogWrapper.setOKActionEnabled(isEnabled);
+ return this;
+ }
+
+ @NotNull
+ public DialogBuilder resizable(boolean resizable) {
+ myDialogWrapper.setResizable(resizable);
+ return this;
+ }
+
public CustomizableAction getOkAction() {
return get(getActionDescriptors(), OkActionDescriptor.class);
}
@@ -267,7 +295,7 @@ public class DialogBuilder implements Disposable {
protected Action createAction(final DialogWrapper dialogWrapper) {
return new AbstractAction(){
@Override
- public void actionPerformed(ActionEvent e) {
+ public void actionPerformed(@NotNull ActionEvent e) {
dialogWrapper.close(myExitCode);
}
};
@@ -325,7 +353,7 @@ public class DialogBuilder implements Disposable {
private class MyDialogWrapper extends DialogWrapper {
private String myHelpId = null;
- private MyDialogWrapper(Project project, boolean canBeParent) {
+ private MyDialogWrapper(@Nullable Project project, boolean canBeParent) {
super(project, canBeParent);
}