示例#1
0
  /**
   * Build the UI of the given process according to the given data.
   *
   * @param processExecutionData Process data.
   * @return The UI for the configuration of the process.
   */
  public JComponent buildUIConf(ProcessExecutionData processExecutionData) {
    JPanel panel = new JPanel(new MigLayout("fill"));
    // For each input, display its title, its abstract and gets its UI from the dataUIManager
    for (Input i : processExecutionData.getProcess().getInput()) {
      JPanel inputPanel = new JPanel(new MigLayout("fill"));
      inputPanel.setBorder(BorderFactory.createTitledBorder(i.getTitle()));
      JLabel inputAbstrac = new JLabel(i.getResume());
      inputAbstrac.setFont(inputAbstrac.getFont().deriveFont(Font.ITALIC));
      inputPanel.add(inputAbstrac, "wrap");
      DataUI dataUI = dataUIManager.getDataUI(i.getDataDescription().getClass());
      if (dataUI != null) {
        inputPanel.add(dataUI.createUI(i, processExecutionData.getInputDataMap()), "wrap");
      }
      panel.add(inputPanel, "growx, wrap");
    }

    // For each output, display its title, its abstract and gets its UI from the dataUIManager
    for (Output o : processExecutionData.getProcess().getOutput()) {
      DataUI dataUI = dataUIManager.getDataUI(o.getDataDescription().getClass());
      if (dataUI != null) {
        JComponent component = dataUI.createUI(o, processExecutionData.getOutputDataMap());
        if (component != null) {
          JPanel outputPanel = new JPanel(new MigLayout("fill"));
          outputPanel.setBorder(BorderFactory.createTitledBorder(o.getTitle()));
          JLabel outputAbstrac = new JLabel(o.getResume());
          outputAbstrac.setFont(outputAbstrac.getFont().deriveFont(Font.ITALIC));
          outputPanel.add(outputAbstrac, "wrap");
          outputPanel.add(component, "wrap");
          panel.add(outputPanel, "growx, wrap");
        }
      }
    }
    return panel;
  }
示例#2
0
  /**
   * Build the UI of the given process according to the given data.
   *
   * @param processExecutionData Process data.
   * @return The UI for the configuration of the process.
   */
  public JComponent buildUIInfo(ProcessExecutionData processExecutionData) {
    JPanel panel = new JPanel(new MigLayout("fill"));
    Process p = processExecutionData.getProcess();
    // Process info
    JLabel titleContentLabel = new JLabel(p.getTitle());
    JLabel abstracContentLabel = new JLabel();
    if (p.getResume() != null) {
      abstracContentLabel.setText(p.getResume());
    } else {
      abstracContentLabel.setText("-");
      abstracContentLabel.setFont(abstracContentLabel.getFont().deriveFont(Font.ITALIC));
    }

    JPanel processPanel = new JPanel(new MigLayout());
    processPanel.setBorder(BorderFactory.createTitledBorder("Process :"));
    processPanel.add(titleContentLabel, "wrap, align left");
    processPanel.add(abstracContentLabel, "wrap, align left");

    // Input info
    JPanel inputPanel = new JPanel(new MigLayout());
    inputPanel.setBorder(BorderFactory.createTitledBorder("Inputs :"));

    for (Input i : p.getInput()) {
      inputPanel.add(new JLabel(dataUIManager.getIconFromData(i)));
      inputPanel.add(new JLabel(i.getTitle()), "align left, wrap");
      if (i.getResume() != null) {
        JLabel abstrac = new JLabel(i.getResume());
        abstrac.setFont(abstrac.getFont().deriveFont(Font.ITALIC));
        inputPanel.add(abstrac, "span 2, wrap");
      } else {
        inputPanel.add(new JLabel("-"), "span 2, wrap");
      }
    }

    // Output info
    JPanel outputPanel = new JPanel(new MigLayout());
    outputPanel.setBorder(BorderFactory.createTitledBorder("Outputs :"));

    for (Output o : p.getOutput()) {
      outputPanel.add(new JLabel(dataUIManager.getIconFromData(o)));
      outputPanel.add(new JLabel(o.getTitle()), "align left, wrap");
      if (o.getResume() != null) {
        JLabel abstrac = new JLabel(o.getResume());
        abstrac.setFont(abstrac.getFont().deriveFont(Font.ITALIC));
        outputPanel.add(abstrac, "span 2, wrap");
      } else {
        outputPanel.add(new JLabel("-"), "align center, span 2, wrap");
      }
    }

    panel.add(processPanel, "growx, wrap");
    panel.add(inputPanel, "growx, wrap");
    panel.add(outputPanel, "growx, wrap");

    return panel;
  }
示例#3
0
  /**
   * Main constructor with no ProcessExecutionData.
   *
   * @param process Process represented.
   * @param toolBox Toolbox
   */
  public ProcessUIPanel(Process process, ToolBox toolBox) {
    this.setLayout(new BorderLayout());

    outputJLabelList = new ArrayList<>();
    dataUIManager = toolBox.getDataUIManager();

    processExecutionData = new ProcessExecutionData(toolBox, process);
    processExecutionData.setState(ProcessExecutionData.ProcessState.IDLE);
    processExecutionData.setProcessUIPanel(this);
    processExecutionData.setInputDataMap(dataUIManager.getInputDefaultValues(process));
    processExecutionData.setOutputDataMap(dataUIManager.getOutputDefaultValues(process));

    toolBox.saveProcessExecutionData(processExecutionData);

    buildUI();
  }