List of usage examples for com.intellij.openapi.ui Messages showErrorDialog
public static void showErrorDialog(@Nullable Component component, String message, @NotNull @Nls(capitalization = Nls.Capitalization.Title) String title)
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); }