Example usage for com.intellij.openapi.ui Messages showErrorDialog

List of usage examples for com.intellij.openapi.ui Messages showErrorDialog

Introduction

In this page you can find the example usage for com.intellij.openapi.ui Messages showErrorDialog.

Prototype

public static void showErrorDialog(@Nullable Component component, String message,
            @NotNull @Nls(capitalization = Nls.Capitalization.Title) String title) 

Source Link

Usage

From source file:com.android.tools.idea.run.editor.DeployTargetPickerDialog.java

License:Apache License

/**
 * Check the AVDs for missing system images and offer to download them.
 * @return true if the devices are able to launch, false if the user cancelled.
 *///www . java2s  .  c  om
private boolean canLaunchDevices(@NotNull List<AndroidDevice> devices) {
    Set<String> requiredPackages = Sets.newHashSet();
    for (AndroidDevice device : devices) {
        if (device instanceof LaunchableAndroidDevice) {
            LaunchableAndroidDevice avd = (LaunchableAndroidDevice) device;
            AvdInfo info = avd.getAvdInfo();
            if (AvdManagerConnection.isSystemImageDownloadProblem(info.getStatus())) {
                requiredPackages.add(AvdManagerConnection.getRequiredSystemImagePath(info));
            }
        }
    }
    if (requiredPackages.isEmpty()) {
        return true;
    }

    String title;
    StringBuilder message = new StringBuilder();
    if (requiredPackages.size() == 1) {
        title = "Download System Image";
        message.append("The system image: ").append(Iterables.getOnlyElement(requiredPackages))
                .append(" is missing.\n\n");
        message.append("Download it now?");
    } else {
        title = "Download System Images";
        message.append("The following system images are missing:\n");
        for (String packageName : requiredPackages) {
            message.append(packageName).append("\n");
        }
        message.append("\nDownload them now?");
    }
    int response = Messages.showOkCancelDialog(message.toString(), title, Messages.getQuestionIcon());
    if (response != Messages.OK) {
        return false;
    }
    ModelWizardDialog sdkQuickfixWizard = SdkQuickfixUtils
            .createDialogForPaths(myFacet.getModule().getProject(), requiredPackages);
    if (sdkQuickfixWizard == null) {
        return false;
    }
    sdkQuickfixWizard.show();
    myDevicePicker.refreshAvds(null);
    if (!sdkQuickfixWizard.isOK()) {
        return false;
    }
    AvdManagerConnection manager = AvdManagerConnection.getDefaultAvdManagerConnection();
    for (AndroidDevice device : devices) {
        if (device instanceof LaunchableAndroidDevice) {
            LaunchableAndroidDevice avd = (LaunchableAndroidDevice) device;
            AvdInfo info = avd.getAvdInfo();
            String problem;
            try {
                AvdInfo reloadedAvdInfo = manager.reloadAvd(info);
                problem = reloadedAvdInfo.getErrorMessage();
            } catch (AndroidLocation.AndroidLocationException e) {
                problem = "AVD cannot be loaded";
            }
            if (problem != null) {
                Messages.showErrorDialog(myFacet.getModule().getProject(), problem, "Emulator Launch Failed");
                return false;
            }
        }
    }
    return true;
}

From source file:com.android.tools.idea.run.editor.SpecificActivityConfigurable.java

License:Apache License

public SpecificActivityConfigurable(@NotNull final Project project,
        @NotNull final LaunchOptionConfigurableContext context) {
    myProject = project;// w ww .jav a2 s .c  o m
    myContext = context;

    // Perform Form creation once the project and context are saved into fields
    $$$setupUI$$$();

    myActivityField.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            if (!project.isInitialized()) {
                return;
            }
            final JavaPsiFacade facade = JavaPsiFacade.getInstance(project);
            PsiClass activityBaseClass = facade.findClass(AndroidUtils.ACTIVITY_BASE_CLASS_NAME,
                    ProjectScope.getAllScope(project));
            if (activityBaseClass == null) {
                Messages.showErrorDialog(project, AndroidBundle.message("cant.find.activity.class.error"),
                        "Specific Activity Launcher");
                return;
            }
            Module module = context.getModule();
            if (module == null) {
                Messages.showErrorDialog(project, ExecutionBundle.message("module.not.specified.error.text"),
                        "Specific Activity Launcher");
                return;
            }
            PsiClass initialSelection = facade.findClass(myActivityField.getChildComponent().getText(),
                    module.getModuleWithDependenciesScope());
            TreeClassChooser chooser = TreeClassChooserFactory.getInstance(project)
                    .createInheritanceClassChooser("Select Activity Class",
                            module.getModuleWithDependenciesScope(), activityBaseClass, initialSelection, null);
            chooser.showDialog();
            PsiClass selClass = chooser.getSelected();
            if (selClass != null) {
                myActivityField.getChildComponent()
                        .setText(ActivityLocatorUtils.getQualifiedActivityName(selClass));
            }
        }
    });
}

From source file:com.android.tools.idea.run.EmulatorTargetChooser.java

License:Apache License

@Nullable
private String chooseAvd() {
    IAndroidTarget buildTarget = myFacet.getConfiguration().getAndroidTarget();
    assert buildTarget != null;
    AvdInfo[] avds = myFacet.getValidCompatibleAvds();
    if (avds.length > 0) {
        return avds[0].getName();
    }//from  w  ww.  j  a v  a 2 s . co m
    final Project project = myFacet.getModule().getProject();
    AvdManager manager;
    try {
        manager = myFacet.getAvdManager(new AvdManagerLog() {
            @Override
            public void error(Throwable t, String errorFormat, Object... args) {
                super.error(t, errorFormat, args);

                if (errorFormat != null) {
                    final String msg = String.format(errorFormat, args);
                    LOG.error(msg);
                }
            }
        });
    } catch (final AndroidLocation.AndroidLocationException e) {
        LOG.info(e);
        UIUtil.invokeLaterIfNeeded(new Runnable() {
            @Override
            public void run() {
                Messages.showErrorDialog(project, e.getMessage(), CommonBundle.getErrorTitle());
            }
        });
        return null;
    }
    final AvdManager finalManager = manager;
    assert finalManager != null;
    return UIUtil.invokeAndWaitIfNeeded(new Computable<String>() {
        @Override
        public String compute() {
            int result = Messages.showDialog(project,
                    "To run using the emulator, you must have an AVD defined.", "Define AVD",
                    new String[] { "Cancel", "Create AVD" }, 1, null);
            AvdInfo createdAvd = null;
            if (result == 1) {
                AvdOptionsModel avdOptionsModel = new AvdOptionsModel(null);
                ModelWizardDialog dialog = AvdWizardUtils.createAvdWizard(null, project, avdOptionsModel);
                if (dialog.showAndGet()) {
                    createdAvd = avdOptionsModel.getCreatedAvd();
                }
            }
            return createdAvd == null ? null : createdAvd.getName();
        }
    });
}

From source file:com.android.tools.idea.sdk.DefaultSdks.java

License:Apache License

private static void logAndShowErrorWhenUpdatingLocalProperties(@NotNull Project project,
        @NotNull Exception error, @NotNull String action, @NotNull File sdkHomePath) {
    LOG.info(error);//  w  ww  .  ja  v  a2s .  c  o  m
    String msg = String.format(
            "Unable to %1$s local.properties file in project '%2$s'.\n\n" + "Cause: %3$s\n\n"
                    + "Please manually update the file's '%4$s' property value to \n" + "'%5$s'\n"
                    + "and sync the project with Gradle files.",
            action, project.getName(), getMessage(error), SdkConstants.SDK_DIR_PROPERTY, sdkHomePath.getPath());
    Messages.showErrorDialog(project, msg, ERROR_DIALOG_TITLE);
}

From source file:com.android.tools.idea.testartifacts.instrumented.AndroidClassBrowserBase.java

License:Apache License

@Override
protected String showDialog() {
    Project project = getProject();/*from  w  ww .  jav a2  s  .  co m*/
    final JavaPsiFacade facade = JavaPsiFacade.getInstance(project);
    Module module = myModuleSelector.getModule();
    if (module == null) {
        Messages.showErrorDialog(project, ExecutionBundle.message("module.not.specified.error.text"),
                CommonBundle.getErrorTitle());
        return null;
    }
    GlobalSearchScope scope = myIncludeLibraryClasses ? module.getModuleWithDependenciesAndLibrariesScope(true)
            : module.getModuleWithDependenciesScope();
    PsiClass initialSelection = facade.findClass(getText(), scope);
    TreeClassChooser chooser = createTreeClassChooser(project, scope, initialSelection, new ClassFilter() {
        @Override
        public boolean isAccepted(PsiClass aClass) {
            if (aClass.isInterface())
                return false;
            final PsiModifierList modifierList = aClass.getModifierList();
            return modifierList == null || !modifierList.hasModifierProperty(PsiModifier.ABSTRACT);
        }
    });
    if (chooser == null)
        return null;
    chooser.showDialog();
    PsiClass selClass = chooser.getSelected();
    return selClass != null ? selClass.getQualifiedName() : null;
}

From source file:com.android.tools.idea.testartifacts.instrumented.AndroidInheritingClassBrowser.java

License:Apache License

@Override
protected TreeClassChooser createTreeClassChooser(@NotNull Project project, @NotNull GlobalSearchScope scope,
        @Nullable PsiClass initialSelection, @NotNull final ClassFilter classFilter) {
    final PsiClass baseClass = JavaPsiFacade.getInstance(project).findClass(myBaseClassName,
            ProjectScope.getAllScope(project));

    if (baseClass == null) {
        Messages.showErrorDialog(project, AndroidBundle.message("cant.find.class.error", myBaseClassName),
                CommonBundle.getErrorTitle());
        return null;
    }//from  w  w  w  . j ava  2s  .  c  o  m
    return TreeClassChooserFactory.getInstance(project).createInheritanceClassChooser(myDialogTitle, scope,
            baseClass, initialSelection, new ClassFilter() {
                @Override
                public boolean isAccepted(PsiClass aClass) {
                    if (aClass.getManager().areElementsEquivalent(aClass, baseClass)) {
                        return false;
                    }
                    return classFilter.isAccepted(aClass);
                }
            });
}

From source file:com.android.tools.idea.updater.configure.SdkUpdaterConfigurable.java

License:Apache License

@Override
public void apply() throws ConfigurationException {
    myPanel.saveSources();/*w ww . j av  a2 s.  c  o  m*/

    HtmlBuilder message = new HtmlBuilder();
    message.openHtmlBody();
    final List<LocalPackage> toDelete = Lists.newArrayList();
    final Map<RemotePackage, UpdatablePackage> requestedPackages = Maps.newHashMap();
    for (PackageNodeModel model : myPanel.getStates()) {
        if (model.getState() == PackageNodeModel.SelectedState.NOT_INSTALLED) {
            if (model.getPkg().hasLocal()) {
                toDelete.add(model.getPkg().getLocal());
            }
        } else if (model.getState() == PackageNodeModel.SelectedState.INSTALLED
                && (model.getPkg().isUpdate() || !model.getPkg().hasLocal())) {
            UpdatablePackage pkg = model.getPkg();
            requestedPackages.put(pkg.getRemote(), pkg);
        }
    }
    boolean found = false;
    if (!toDelete.isEmpty()) {
        found = true;
        message.add("The following components will be deleted: \n");
        message.beginList();
        for (LocalPackage item : toDelete) {
            message.listItem().add(item.getDisplayName()).add(", Revision: ").add(item.getVersion().toString());
        }
        message.endList();
    }
    if (!requestedPackages.isEmpty()) {
        found = true;
        message.add("The following components will be installed: \n");
        message.beginList();
        Multimap<RemotePackage, RemotePackage> dependencies = HashMultimap.create();
        ProgressIndicator progress = new StudioLoggerProgressIndicator(getClass());
        RepositoryPackages packages = getRepoManager().getPackages();
        for (RemotePackage item : requestedPackages.keySet()) {
            List<RemotePackage> packageDependencies = InstallerUtil
                    .computeRequiredPackages(ImmutableList.of(item), packages, progress);
            if (packageDependencies == null) {
                Messages.showErrorDialog((Project) null,
                        "Unable to resolve dependencies for " + item.getDisplayName(), "Dependency Error");
                throw new ConfigurationException("Unable to resolve dependencies.");
            }
            for (RemotePackage dependency : packageDependencies) {
                dependencies.put(dependency, item);
            }
            message.listItem().add(String.format("%1$s %2$s %3$s", item.getDisplayName(),
                    item.getTypeDetails() instanceof DetailsTypes.ApiDetailsType ? "revision" : "version",
                    item.getVersion()));
        }
        for (RemotePackage dependency : dependencies.keySet()) {
            if (requestedPackages.containsKey(dependency)) {
                continue;
            }
            Set<RemotePackage> requests = Sets.newHashSet(dependencies.get(dependency));
            requests.remove(dependency);
            if (!requests.isEmpty()) {
                message.listItem().add(dependency.getDisplayName()).add(" (Required by ");
                Iterator<RemotePackage> requestIterator = requests.iterator();
                message.add(requestIterator.next().getDisplayName());
                while (requestIterator.hasNext()) {
                    message.add(", ").add(requestIterator.next().getDisplayName());
                }
                message.add(")");
            }
        }
        message.endList();
    }
    message.closeHtmlBody();
    if (found) {
        if (confirmChange(message)) {
            if (!requestedPackages.isEmpty() || !toDelete.isEmpty()) {
                ModelWizardDialog dialog = SdkQuickfixUtils.createDialogForPackages(myPanel.getComponent(),
                        requestedPackages.values(), toDelete, true);
                if (dialog != null) {
                    dialog.show();
                    for (RemotePackage remotePackage : requestedPackages.keySet()) {
                        PackageOperation installer = getRepoManager()
                                .getInProgressInstallOperation(remotePackage);
                        if (installer != null) {
                            PackageOperation.StatusChangeListener listener = (installer1, progress) -> myPanel
                                    .getComponent().repaint();
                            myListeners.add(listener);
                            installer.registerStateChangeListener(listener);
                        }
                    }
                }
            }

            myPanel.refresh();
        } else {
            throw new ConfigurationException("Installation was canceled.");
        }
    } else {
        // We didn't have any changes, so just reload (maybe the channel changed).
        myChannelChangedCallback.run();
    }
}

From source file:com.arcbees.plugin.idea.utils.PackageUtilExt.java

License:Apache License

public static boolean checkSourceRootsConfigured(final Module module, final boolean askUserToSetupSourceRoots) {
    VirtualFile[] sourceRoots = ModuleRootManager.getInstance(module).getSourceRoots();
    if (sourceRoots.length == 0) {
        if (!askUserToSetupSourceRoots) {
            return false;
        }//from   w  w  w . j a  v  a  2 s .c o m

        Project project = module.getProject();
        Messages.showErrorDialog(project,
                ProjectBundle.message("module.source.roots.not.configured.error", module.getName()),
                ProjectBundle.message("module.source.roots.not.configured.title"));

        ProjectSettingsService.getInstance(project).showModuleConfigurationDialog(module.getName(),
                CommonContentEntriesEditor.NAME);

        sourceRoots = ModuleRootManager.getInstance(module).getSourceRoots();
        if (sourceRoots.length == 0) {
            return false;
        }
    }
    return true;
}

From source file:com.aspiro.git.GitVcs.java

License:Apache License

private void showMessage(String message, final TextAttributesKey text) {
    vcsManager.addMessageToConsoleWindow(message, editorColorsScheme.getAttributes(text));
    if (message.contains("fatal:")) {
        Messages.showErrorDialog(project, message, "Error");
    }/*ww w. j a v  a  2s  .  co  m*/
}

From source file:com.atlassian.theplugin.idea.config.ProjectConfigurationComponent.java

License:Apache License

public void projectOpened() {
    shouldSaveConfiguration = load();// w  w  w.ja v  a  2  s .co m
    if (projectCfgManager.getProjectConfiguration() == null) {
        ApplicationManager.getApplication().invokeLater(new Runnable() {
            public void run() {
                Messages.showErrorDialog(project, "If you see this message, something bad happend to the "
                        + "initialization sequence of IDEA. You may encounter now various strange problems with Connector."
                        + "\nPlease report occurence of this message to us.",
                        "Internal Error in Atlassian Connector");
            }
        });
    }

    projectCfgManager.addProjectConfigurationListener(configurationListener);
}