コード例 #1
0
  private void edit(IStructuredSelection selection) {
    IStructuredSelection sel = (IStructuredSelection) selection;
    EnvironmentVariable var = (EnvironmentVariable) sel.getFirstElement();
    if (var == null) {
      return;
    }
    String originalName = var.getName();
    String value = var.getValue();
    MultipleInputDialog dialog =
        new MultipleInputDialog(
            fDialog.getShell(),
            InterpretersMessages.AbstractInterpreterEnvironmentVariablesBlock_editVariable);
    dialog.addTextField(NAME_LABEL, originalName, false);
    dialog.addVariablesField(VALUE_LABEL, value, true);

    if (dialog.open() != Window.OK) {
      return;
    }
    String name = dialog.getStringValue(NAME_LABEL);
    value = dialog.getStringValue(VALUE_LABEL);
    if (!originalName.equals(name)) {
      fEnvironmentVariablesContentProvider.add(
          new EnvironmentVariable[] {new EnvironmentVariable(name, value)}, selection);
    } else {
      var.setValue(value);
      fVariablesViewer.refresh(true);
    }
  }
コード例 #2
0
  protected EnvironmentVariable[] addExisted() {

    // get Environment Variables from the Environment
    Map envVariables = getNativeEnvironment();
    if (envVariables.size() == 0) {
      MessageBox box = new MessageBox(fDialog.getShell(), SWT.ICON_ERROR);
      box.setMessage(
          MessageFormat.format(
              InterpretersMessages
                  .AbstractInterpreterEnvironmentVariablesBlock_couldNotRetrieveEnvironmentVariablesFrom,
              new Object[] {fDialog.getEnvironment().getName()}));
      box.setText(
          InterpretersMessages
              .AbstractInterpreterEnvironmentVariablesBlock_failedToRetrieveEnvironment);
      box.open();
      return null;
    }

    // get Environment Variables from the table
    EnvironmentVariable[] items = fEnvironmentVariablesContentProvider.getVariables();
    for (int i = 0; i < items.length; i++) {
      EnvironmentVariable var = (EnvironmentVariable) items[i];
      envVariables.remove(var.getName());
    }

    ListSelectionDialog dialog =
        new ListSelectionDialog(
            fDialog.getShell(),
            envVariables,
            createSelectionDialogContentProvider(),
            createSelectionDialogLabelProvider(),
            LaunchConfigurationsMessages.EnvironmentTab_19);
    dialog.setTitle(LaunchConfigurationsMessages.EnvironmentTab_20);

    int button = dialog.open();
    if (button == Window.OK) {
      Object[] selected = dialog.getResult();
      EnvironmentVariable[] vars = new EnvironmentVariable[selected.length];
      for (int i = 0; i < vars.length; i++) {
        vars[i] = (EnvironmentVariable) selected[i];
      }
      return vars;
    }
    return null;
  }
コード例 #3
0
  private EnvironmentVariable[] add() {
    MultipleInputDialog dialog =
        new MultipleInputDialog(
            fDialog.getShell(),
            InterpretersMessages.AbstractInterpreterEnvironmentVariablesBlock_addVariable);
    dialog.addTextField(NAME_LABEL, null, false);
    dialog.addVariablesField(VALUE_LABEL, null, true);

    if (dialog.open() != Window.OK) {
      return null;
    }

    String name = dialog.getStringValue(NAME_LABEL);
    String value = dialog.getStringValue(VALUE_LABEL);

    if (name != null && value != null && name.length() > 0 && value.length() > 0) {
      return new EnvironmentVariable[] {new EnvironmentVariable(name.trim(), value.trim())};
    }
    return null;
  }