private void createWorkspaceSelectionControls()

in java/com/google/devtools/bazel/e4b/wizard/WorkspaceWizardPage.java [152:187]


  private void createWorkspaceSelectionControls() {
    Label label = new Label(container, SWT.NONE);
    label.setText("Workpsace root: ");

    workspaceRoot = new Label(container, SWT.BORDER);
    workspaceRoot.setText("");
    workspaceRoot.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));

    dialog = new DirectoryDialog(getShell(), SWT.OPEN);
    workspaceRootButton = new Button(container, SWT.DEFAULT);
    workspaceRootButton.setText("...");
    workspaceRootButton.addSelectionListener(new SelectionAdapter() {
      @Override
      public void widgetSelected(SelectionEvent e) {
        String wr = dialog.open();
        if (wr != null) {
          workspaceRoot.setText(wr);
          DirectoryTreeContentProvider.setFileTreeRoot(directories, new File(wr));
          try {
            completionProvider.setBazelInstance(
                Activator.getDefault().getCommand().getInstance(new File(getWorkspaceRoot())));
          } catch (IOException e1) {
            MessageDialog.openError(getShell(), "Error",
                getWorkspaceRoot() + " does not seems to be a Bazel workspace");
          } catch (InterruptedException e1) {
            Activator.error("Bazel was interrupted", e1);
          } catch (BazelNotFoundException e1) {
            MessageDialog.openError(getShell(), "Error", "Cannot found Bazel: " + e1.getMessage());
          }

        }
        updateControls();
      }
    });
    workspaceRootButton.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false));
  }