summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/ide/util/TipDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/ide/util/TipDialog.java')
-rw-r--r--platform/platform-impl/src/com/intellij/ide/util/TipDialog.java43
1 files changed, 30 insertions, 13 deletions
diff --git a/platform/platform-impl/src/com/intellij/ide/util/TipDialog.java b/platform/platform-impl/src/com/intellij/ide/util/TipDialog.java
index 33501b503477..0744e377e6c5 100644
--- a/platform/platform-impl/src/com/intellij/ide/util/TipDialog.java
+++ b/platform/platform-impl/src/com/intellij/ide/util/TipDialog.java
@@ -19,32 +19,44 @@ package com.intellij.ide.util;
import com.intellij.CommonBundle;
import com.intellij.ide.IdeBundle;
import com.intellij.internal.statistic.UsageTrigger;
+import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.ui.impl.DialogWrapperPeerImpl;
+import com.intellij.openapi.wm.ex.WindowManagerEx;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
+import java.awt.*;
import java.awt.event.ActionEvent;
public class TipDialog extends DialogWrapper{
- private final TipPanel myTipPanel;
+ private TipPanel myTipPanel;
public TipDialog(){
- super(true);
- setModal(false);
- setTitle(IdeBundle.message("title.tip.of.the.day"));
- setCancelButtonText(CommonBundle.getCloseButtonText());
- myTipPanel = new TipPanel();
- myTipPanel.nextTip();
- setHorizontalStretch(1.33f);
- setVerticalStretch(1.25f);
- init();
- if (getPeer() instanceof DialogWrapperPeerImpl) {
- ((DialogWrapperPeerImpl)getPeer()).setAutoRequestFocus(false);
- }
+ super(WindowManagerEx.getInstanceEx().findVisibleFrame(), true);
+ initialize();
+ }
+
+ public TipDialog(@NotNull final Window parent) {
+ super(parent, true);
+ initialize();
}
+ private void initialize () {
+ setModal(false);
+ setTitle(IdeBundle.message("title.tip.of.the.day"));
+ setCancelButtonText(CommonBundle.getCloseButtonText());
+ myTipPanel = new TipPanel();
+ myTipPanel.nextTip();
+ setHorizontalStretch(1.33f);
+ setVerticalStretch(1.25f);
+ init();
+ if (getPeer() instanceof DialogWrapperPeerImpl) {
+ ((DialogWrapperPeerImpl)getPeer()).setAutoRequestFocus(false);
+ }
+ }
+
@NotNull
protected Action[] createActions(){
return new Action[]{new PreviousTipAction(),new NextTipAction(),getCancelAction()};
@@ -58,6 +70,11 @@ public class TipDialog extends DialogWrapper{
super.dispose();
}
+ public static TipDialog createForProject(final Project project) {
+ final Window w = WindowManagerEx.getInstanceEx().suggestParentWindow(project);
+ return (w == null) ? new TipDialog() : new TipDialog(w);
+ }
+
private class PreviousTipAction extends AbstractAction{
public PreviousTipAction(){
super(IdeBundle.message("action.previous.tip"));