/* * (non-Javadoc) * * @see org.eclipse.jface.wizard.Wizard#performFinish() */ @Override public boolean performFinish() { boolean saved = false; try { DoSave doSave = new DoSave(); getContainer().run(false, false, doSave); if (doSave.exception != null) { throw doSave.exception; } else { saved = doSave.saved; } } catch (Exception e) { IStatus status = new Status(IStatus.ERROR, CodeUtilsActivator.PLUGIN_ID, e.getLocalizedMessage()); EclipseUtils.showErrorDialog( CodeUtilsNLS.UI_GenericErrorDialogTitle, CodeUtilsNLS.ERR_BuildingBlockCreation_ErrorMessage, status); } if (saved) { ICompilationUnit javaFile = getBuildingBlock() .getPackageFragment() .getCompilationUnit(getBuildingBlock().getName() + ".java"); // $NON-NLS-1$ if ((javaFile != null) && javaFile.exists()) { try { JavaUI.openInEditor(javaFile); } catch (Exception e) { // Do nothing AndmoreLogger.error( NewActivityBasedOnTemplateWizard.class, "Could not open the activity " //$NON-NLS-1$ + getBuildingBlock().getName() + " on an editor.", e); //$NON-NLS-1$ } } } if (saved) { // Collecting usage data for statistical purposes try { AndmoreLogger.collectUsageData( UsageDataConstants.WHAT_BUILDINGBLOCK_ACTIVITY, UsageDataConstants.KIND_BUILDINGBLOCK, UsageDataConstants.DESCRIPTION_DEFAULT, CodeUtilsActivator.PLUGIN_ID, CodeUtilsActivator.getDefault().getBundle().getVersion().toString()); } catch (Throwable e) { // Do nothing, but error on the log should never prevent app // from working } } return saved; }
/** * Retrieves an image data. If it has never been used at the current session, loads it from skin. * Released image is retrieved if both parameters are false. * * @param isPressed true if the image to be retrieved is the pressed image * @param isEnter true if the image to be retrieved is the enter image. It only has effect if * isPressed == false * @return An image data containing the desired image pixels */ private ImageData getImageData(boolean isPressed, boolean isEnter) { ImageData imageData = null; IAndroidEmulatorInstance instance = UIHelper.getInstanceAssociatedToControl(this); try { if (isPressed) { imageData = skin.getPressedImageData(instance.getCurrentLayout()); } else { if (isEnter) { imageData = skin.getEnterImageData(instance.getCurrentLayout()); } else { imageData = skin.getReleasedImageData(instance.getCurrentLayout()); } } } catch (SkinException e) { error( "The image requested from skin could not be retrieved. isPressed=" + isPressed + "; message=" + e.getMessage()); EclipseUtils.showErrorDialog(e); error("The skin could not provide an important resource. Stopping the instance"); try { instance.stop(true); } catch (InstanceStopException e1) { error("Error while running service for stopping virtual machine"); EclipseUtils.showErrorDialog( EmulatorNLS.GEN_Error, EmulatorNLS.EXC_General_CannotRunStopService); } } return imageData; }
@Override public void consoleKilled(String name) { if (telnetsCache.containsKey(name)) { TelnetFrameworkAndroid telnet = telnetsCache.get(name); if (telnet.isConnected()) { try { telnet.disconnect(); } catch (IOException e) { EclipseUtils.showInformationDialog( ServicesNLS.GEN_Warning, ServicesNLS.WARN_EmulatorConsoleHandler_CouldNotCloseTheConsoleConnection); } } telnetsCache.remove(name); DeviceServicesPlugin.removeConsoleKilledListener(listener); } }
@Override public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException { try { saved = getBuildingBlock().save(getContainer(), monitor); getBuildingBlock().getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor); getBuildingBlock().getProject().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, monitor); } catch (CoreException ce) { // build failed - show a warning message AndmoreLogger.error(this.getClass(), ce.getMessage(), ce); EclipseUtils.showWarningDialog( CodeUtilsNLS.UI_NewActivityWizard_TitleNewActivityWizard, CodeUtilsNLS.NewActivityWizard_MessageSomeProblemsOccurredWhileBuildingProject); } catch (AndroidException e) { exception = e; } }
@Override public void applyLayout(String layoutName) { // Populate the attributes with information from skin AndroidSkinBean skinBean = null; try { skinBean = skin.getSkinBean(layoutName); } catch (SkinException e) { error("The skin data could not be retrieved from skin files. Cause: " + e.getMessage()); EclipseUtils.showErrorDialog(e); } // Create layout and set it to composite if (skinBean != null) { // When changing to a new layout, the key may move to another // position // It does not make sense to keep the old key object currentKey = null; // Change the background color to the one that applies to the layout // being set RGB color = skin.getBackgroundColor(layoutName); setBackground(new Color(PlatformUI.getWorkbench().getDisplay(), color)); Layout prevLayout = getLayout(); if (prevLayout instanceof AndroidSkinLayout) { ((AndroidSkinLayout) prevLayout).dispose(); } AndroidSkinLayout androidLayout = new AndroidSkinLayout(skinBean, skin.isFlipSupported()); setLayout(androidLayout); embeddedViewScale = skinBean.getEmbeddedViewScale(); layout(); redraw(); } }
@Override public Object execute(ExecutionEvent event) throws ExecutionException { List<ITreeNode> nodesToDelete = getSelection(); if (!nodesToDelete.isEmpty()) { boolean shouldProceed = showQuestion(nodesToDelete); if (shouldProceed) { Map<IKeyStore, List<String>> deleteNodesMap = getKeysMap(nodesToDelete); for (IKeyStore keyStore : deleteNodesMap.keySet()) { try { keyStore.removeKeys(deleteNodesMap.get(keyStore)); } catch (KeyStoreManagerException e) { EclipseUtils.showErrorDialog(e); throw new ExecutionException(e.getMessage(), e); } } } } nodesToDelete.clear(); return null; }