コード例 #1
0
  private void addParameters(
      final OperatorSpi operatorSpi, final AppContext appContext, final String helpID) {
    // OperatorMenu operatorMenu = new OperatorMenu(this.getJDialog(),
    //                                             operatorSpi.getOperatorClass(),
    //                                             parameterSupport,
    //                                             helpID);
    final PropertySet propertyContainer = parameterSupport.getPopertySet();
    final List<SourceProductSelector> sourceProductSelectorList =
        ioParametersPanel.getSourceProductSelectorList();

    sourceProductSelectorList
        .get(0)
        .addSelectionChangeListener(
            new AbstractSelectionChangeListener() {

              @Override
              public void selectionChanged(SelectionChangeEvent event) {
                final Product selectedProduct = (Product) event.getSelection().getSelectedValue();
                if (selectedProduct != null) {
                  final TargetProductSelectorModel targetProductSelectorModel =
                      getTargetProductSelector().getModel();
                  targetProductSelectorModel.setProductName(
                      selectedProduct.getName() + getTargetProductNameSuffix());
                  opUI.setSourceProducts(new Product[] {selectedProduct});
                }
              }
            });

    if (propertyContainer.getProperties().length > 0) {
      if (!sourceProductSelectorList.isEmpty()) {
        Property[] properties = propertyContainer.getProperties();
        List<PropertyDescriptor> rdnTypeProperties =
            new ArrayList<PropertyDescriptor>(properties.length);
        for (Property property : properties) {
          PropertyDescriptor parameterDescriptor = property.getDescriptor();
          if (parameterDescriptor.getAttribute(RasterDataNodeValues.ATTRIBUTE_NAME) != null) {
            rdnTypeProperties.add(parameterDescriptor);
          }
        }
        rasterDataNodeTypeProperties =
            rdnTypeProperties.toArray(new PropertyDescriptor[rdnTypeProperties.size()]);
      }

      final JComponent paremetersPanel =
          opUI.CreateOpTab(operatorName, parameterSupport.getParameterMap(), appContext);

      paremetersPanel.setBorder(new EmptyBorder(4, 4, 4, 4));
      this.form.add("Processing Parameters", new JScrollPane(paremetersPanel));

      // getJDialog().setJMenuBar(operatorMenu.createDefaultMenu());
    }
  }