Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(578)

Unified Diff: editor/tools/plugins/com.google.dart.tools.debug.ui/src/com/google/dart/tools/debug/ui/internal/dartium/DartChromeMainTab.java

Issue 9178032: Rename and move refactorings in the launch code. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.tools.debug.ui/src/com/google/dart/tools/debug/ui/internal/dartium/DartChromeMainTab.java
===================================================================
--- editor/tools/plugins/com.google.dart.tools.debug.ui/src/com/google/dart/tools/debug/ui/internal/dartium/DartChromeMainTab.java (revision 3372)
+++ editor/tools/plugins/com.google.dart.tools.debug.ui/src/com/google/dart/tools/debug/ui/internal/dartium/DartChromeMainTab.java (working copy)
@@ -1,304 +0,0 @@
-/*
- * Copyright (c) 2012, the Dart project authors.
- *
- * Licensed under the Eclipse Public License v1.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.dart.tools.debug.ui.internal.dartium;
-
-import com.google.dart.tools.core.DartCore;
-import com.google.dart.tools.core.model.DartProject;
-import com.google.dart.tools.debug.core.ChromeBrowserConfig;
-import com.google.dart.tools.debug.core.DartDebugCorePlugin;
-import com.google.dart.tools.debug.core.DartLaunchConfigWrapper;
-import com.google.dart.tools.debug.ui.internal.DartDebugUIPlugin;
-import com.google.dart.tools.debug.ui.internal.preferences.DebugPreferencePage;
-import com.google.dart.tools.debug.ui.internal.util.AppSelectionDialog;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.layout.GridLayoutFactory;
-import org.eclipse.jface.layout.PixelConverter;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.FilteredItemsSelectionDialog;
-import org.eclipse.ui.dialogs.PreferencesUtil;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * The main launch configuration UI for running Dart applications in Chrome.
- */
-public class DartChromeMainTab extends AbstractLaunchConfigurationTab {
-
- private Text applicationHtmlText;
- private Combo browserCombo;
- private CLabel browserWarningLabel;
-
- private ModifyListener textModifyListener = new ModifyListener() {
- @Override
- public void modifyText(ModifyEvent e) {
- notifyPanelChanged();
- }
- };
-
- /**
- * Create a new instance of DartServerMainTab.
- */
- public DartChromeMainTab() {
-
- }
-
- @Override
- public void createControl(Composite parent) {
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayoutFactory.swtDefaults().spacing(1, 1).applyTo(composite);
-
- // Project group
- Group group = new Group(composite, SWT.NONE);
- group.setText("Launch Target:");
- GridDataFactory.fillDefaults().grab(true, false).applyTo(group);
- GridLayoutFactory.swtDefaults().numColumns(3).applyTo(group);
-
- Label label = new Label(group, SWT.NONE);
- label.setText("HTML file:");
-
- applicationHtmlText = new Text(group, SWT.BORDER | SWT.SINGLE);
- applicationHtmlText.addModifyListener(textModifyListener);
- GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(
- applicationHtmlText);
-
- Button button = new Button(group, SWT.PUSH);
- button.setText("Browse...");
- PixelConverter converter = new PixelConverter(button);
- int widthHint = converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
- GridDataFactory.swtDefaults().align(SWT.FILL, SWT.BEGINNING).hint(widthHint, -1).applyTo(button);
- button.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- handleApplicationBrowseButton();
- }
- });
-
- // Runner group
- group = new Group(composite, SWT.NONE);
- group.setText("Browser:");
- GridDataFactory.fillDefaults().grab(true, false).applyTo(group);
- GridLayoutFactory.swtDefaults().numColumns(2).applyTo(group);
-
- browserCombo = new Combo(group, SWT.READ_ONLY | SWT.DROP_DOWN);
- browserCombo.setItems(getConfiguredBrowsers());
- browserCombo.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- validateBrowsers();
- notifyPanelChanged();
- }
- });
- GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(
- browserCombo);
-
- Link link = new Link(group, SWT.NONE);
- link.setText("<a href=\"settings\">settings...</a>");
- GridDataFactory.swtDefaults().align(SWT.FILL, SWT.BEGINNING).hint(widthHint, -1).applyTo(link);
- link.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(
- Display.getDefault().getActiveShell(), DebugPreferencePage.PAGE_ID, null, null);
-
- if (dialog != null) {
- String selectedBrowser = browserCombo.getText();
-
- dialog.open();
-
- restoreSelectedBrowser(selectedBrowser);
-
- validateBrowsers();
- }
- }
- });
-
- browserWarningLabel = new CLabel(group, SWT.NONE);
- browserWarningLabel.setText("");
- GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(browserWarningLabel);
-
- setControl(composite);
- }
-
- @Override
- public String getErrorMessage() {
- // check that the application name is not empty
- if (applicationHtmlText.getText().length() == 0) {
- return "A HTML file is required.";
- }
-
- return null;
- }
-
- @Override
- public Image getImage() {
- return DartDebugUIPlugin.getImage("chromium_16_server.png");
- }
-
- @Override
- public String getName() {
- return "Main";
- }
-
- @Override
- public void initializeFrom(ILaunchConfiguration configuration) {
- DartLaunchConfigWrapper dartLauncher = new DartLaunchConfigWrapper(configuration);
-
- applicationHtmlText.setText(dartLauncher.getApplicationName());
-
- browserCombo.setText(dartLauncher.getBrowserConfig());
-
- if ("".equals(browserCombo.getText())) {
- if (browserCombo.getItemCount() > 0) {
- browserCombo.setText(browserCombo.getItem(0));
- }
- }
-
- validateBrowsers();
- }
-
- @Override
- public boolean isValid(ILaunchConfiguration launchConfig) {
- return getErrorMessage() == null;
- }
-
- @Override
- public void performApply(ILaunchConfigurationWorkingCopy configuration) {
- DartLaunchConfigWrapper dartLauncher = new DartLaunchConfigWrapper(configuration);
- dartLauncher.setApplicationName(applicationHtmlText.getText());
- if (!applicationHtmlText.getText().trim().isEmpty()) {
- IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(
- new Path(applicationHtmlText.getText().trim()));
- dartLauncher.setProjectName(file.getProject().getName());
- }
- dartLauncher.setBrowserConfig(browserCombo.getText());
- }
-
- @Override
- public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
- DartLaunchConfigWrapper dartLauncher = new DartLaunchConfigWrapper(configuration);
-
- dartLauncher.setApplicationName("");
-
- List<ChromeBrowserConfig> browserConfigs = DartDebugCorePlugin.getPlugin().getConfiguredBrowsers();
- if (!browserConfigs.isEmpty()) {
- dartLauncher.setBrowserConfig(browserConfigs.get(0).getName());
- } else {
- dartLauncher.setBrowserConfig("");
- }
- }
-
- protected DartProject getDartProject() {
- String projectName = applicationHtmlText.getText().trim();
- if (projectName.length() < 1) {
- return null;
- }
- return DartCore.create(getWorkspaceRoot()).getDartProject(projectName);
- }
-
- protected void handleApplicationBrowseButton() {
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- AppSelectionDialog dialog = new AppSelectionDialog(getShell(), workspace.getRoot(), false, true);
- dialog.setTitle("Select a HTML page to launch");
- dialog.setInitialPattern(".", FilteredItemsSelectionDialog.FULL_SELECTION);
- IPath path = new Path(applicationHtmlText.getText());
- if (workspace.validatePath(path.toString(), IResource.FILE).isOK()) {
- IFile file = workspace.getRoot().getFile(path);
- if (file != null && file.exists()) {
- dialog.setInitialSelections(new Object[] {path});
- }
- }
-
- dialog.open();
-
- Object[] results = dialog.getResult();
- if ((results != null) && (results.length > 0) && (results[0] instanceof IFile)) {
- String pathStr = ((IFile) results[0]).getFullPath().toPortableString();
-
- applicationHtmlText.setText(pathStr);
- }
- }
-
- private String[] getConfiguredBrowsers() {
- List<String> browsers = new ArrayList<String>();
-
- for (ChromeBrowserConfig browserConfig : DartDebugCorePlugin.getPlugin().getConfiguredBrowsers()) {
- browsers.add(browserConfig.getName());
- }
-
- return browsers.toArray(new String[browsers.size()]);
- }
-
- private IWorkspaceRoot getWorkspaceRoot() {
- return ResourcesPlugin.getWorkspace().getRoot();
- }
-
- private void notifyPanelChanged() {
- setDirty(true);
-
- updateLaunchConfigurationDialog();
- }
-
- private void restoreSelectedBrowser(String browser) {
- browserCombo.setItems(getConfiguredBrowsers());
-
- browserCombo.setText(browser);
-
- if ("".equals(browserCombo.getText())) {
- if (browserCombo.getItemCount() > 0) {
- browserCombo.setText(browserCombo.getItem(0));
- }
- }
- }
-
- private void validateBrowsers() {
- if (DartDebugCorePlugin.getPlugin().getConfiguredBrowsers().size() == 0) {
- browserWarningLabel.setImage(JFaceResources.getImage(Dialog.DLG_IMG_MESSAGE_WARNING));
- browserWarningLabel.setText("No Chrome browsers are configured.");
- } else {
- browserWarningLabel.setImage(null);
- browserWarningLabel.setText("");
- }
- }
-
-}

Powered by Google App Engine
This is Rietveld 408576698