diff options
author | Jeffrey Overbey | 2007-11-10 05:45:21 +0000 |
---|---|---|
committer | Jeffrey Overbey | 2007-11-10 05:45:21 +0000 |
commit | 3426388dcb824d1c82cca734c83e6996aed4f2ee (patch) | |
tree | 858c59f8aa9183a56b7d87b3d53db61ee0f06add | |
parent | 68b0d0653162c02dcb271ac921201020301727b6 (diff) | |
download | org.eclipse.photran-3426388dcb824d1c82cca734c83e6996aed4f2ee.tar.gz org.eclipse.photran-3426388dcb824d1c82cca734c83e6996aed4f2ee.tar.xz org.eclipse.photran-3426388dcb824d1c82cca734c83e6996aed4f2ee.zip |
Added frivolous label to Intro Implicit dialog to prevent strange blocking dialog bug on Mac OS Xv20080210-PreASTFix
3 files changed, 33 insertions, 2 deletions
diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IntroImplicitNoneRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IntroImplicitNoneRefactoring.java index 4bc50a9b..3dbcfa5b 100644 --- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IntroImplicitNoneRefactoring.java +++ b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/IntroImplicitNoneRefactoring.java @@ -33,6 +33,7 @@ import org.eclipse.photran.internal.core.parser.ASTVisitor; import org.eclipse.photran.internal.core.parser.Parser.InteriorNode; import org.eclipse.photran.internal.core.refactoring.infrastructure.FortranRefactoring; import org.eclipse.photran.internal.core.refactoring.infrastructure.SourceEditor; +import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter; /** * Refactoring to add an IMPLICIT NONE statement and explicit declarations for all implicitly-declared variables @@ -55,6 +56,13 @@ public class IntroImplicitNoneRefactoring extends FortranRefactoring return "Introduce Implicit None"; } + public String getScopeDescription() + { + return selectedScope == null || selectedScope.getHeaderStmt() == null + ? "the selected scope..." + : "\n" + SourcePrinter.getSourceCodeFromASTNode(selectedScope.getHeaderStmt()); + } + /////////////////////////////////////////////////////////////////////////// // Initial Preconditions /////////////////////////////////////////////////////////////////////////// diff --git a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranRefactoring.java b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranRefactoring.java index b5e19887..a2875c06 100644 --- a/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranRefactoring.java +++ b/org.eclipse.photran.core.vpg/src/org/eclipse/photran/internal/core/refactoring/infrastructure/FortranRefactoring.java @@ -117,7 +117,6 @@ public abstract class FortranRefactoring extends Refactoring vpg.ensureVPGIsUpToDate(pm); pm.done(); - pm.beginTask("Analyzing program", IProgressMonitor.UNKNOWN); this.astOfFileInEditor = vpg.acquireTransientAST(fileInEditor); logVPGErrors(status); if (astOfFileInEditor == null) diff --git a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/refactoring/ui/IntroImplicitNoneAction.java b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/refactoring/ui/IntroImplicitNoneAction.java index d965afb9..8274d3e0 100644 --- a/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/refactoring/ui/IntroImplicitNoneAction.java +++ b/org.eclipse.photran.ui.vpg/src/org/eclipse/photran/internal/refactoring/ui/IntroImplicitNoneAction.java @@ -10,7 +10,16 @@ *******************************************************************************/ package org.eclipse.photran.internal.refactoring.ui; +import org.eclipse.ltk.ui.refactoring.UserInputWizardPage; import org.eclipse.photran.internal.core.refactoring.IntroImplicitNoneRefactoring; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IEditorActionDelegate; import org.eclipse.ui.IWorkbenchWindowActionDelegate; @@ -41,7 +50,22 @@ public class IntroImplicitNoneAction protected void doAddUserInputPages() { - // No user input required! + addPage(new UserInputWizardPage(refactoring.getName()) + { + public void createControl(Composite parent) + { + Composite top = new Composite(parent, SWT.NONE); + initializeDialogUnits(top); + setControl(top); + + top.setLayout(new GridLayout(1, false)); + + Label lbl = new Label(top, SWT.NONE); + lbl.setText("Click OK to introduce implicit none in " + + refactoring.getScopeDescription() + + "\nTo see what changes will be made, click Preview."); + } + }); } } } |