private void createSourceProductSelectors(OperatorDescriptor operatorDescriptor) { for (SourceProductDescriptor descriptor : operatorDescriptor.getSourceProductDescriptors()) { final ProductFilter productFilter = new AnnotatedSourceProductFilter(descriptor); SourceProductSelector sourceProductSelector = new SourceProductSelector(appContext, descriptor.isOptional()); sourceProductSelector.setProductFilter(productFilter); sourceProductSelectorList.add(sourceProductSelector); sourceProductSelectorMap.put(descriptor, sourceProductSelector); } }
ReprojectionForm(TargetProductSelector targetProductSelector, boolean orthorectify, AppContext appContext) { this.targetProductSelector = targetProductSelector; this.orthoMode = orthorectify; this.appContext = appContext; this.sourceProductSelector = new SourceProductSelector(appContext, "Source Product:"); if (orthoMode) { targetProductSuffix = "orthorectified"; this.sourceProductSelector.setProductFilter(new OrthorectifyProductFilter()); } else { targetProductSuffix = "reprojected"; this.sourceProductSelector.setProductFilter(new GeoCodingProductFilter()); } this.reprojectionModel = new Model(); this.reprojectionContainer = PropertyContainer.createObjectBacked(reprojectionModel); createUI(); }
@Override protected JComponent createCrsComponent() { collocateProductSelector = new SourceProductSelector(getAppContext(), "Product:"); collocateProductSelector.setProductFilter(new CollocateProductFilter()); collocateProductSelector.addSelectionChangeListener(new AbstractSelectionChangeListener() { @Override public void selectionChanged(SelectionChangeEvent event) { fireCrsChanged(); } }); final JPanel panel = new JPanel(new BorderLayout(2, 2)); panel.add(collocateProductSelector.getProductNameComboBox(), BorderLayout.CENTER); panel.add(collocateProductSelector.getProductFileChooserButton(), BorderLayout.EAST); panel.addPropertyChangeListener("enabled", new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { collocateProductSelector.getProductNameComboBox().setEnabled(panel.isEnabled()); collocateProductSelector.getProductFileChooserButton().setEnabled(panel.isEnabled()); final boolean collocate = getRadioButton().isSelected(); getCrsUI().firePropertyChange("collocate", !collocate, collocate); } }); return panel; }
MosaicIOPanel(AppContext appContext, MosaicFormModel mosaicModel, TargetProductSelector selector) { this.appContext = appContext; this.mosaicModel = mosaicModel; propertySet = mosaicModel.getPropertySet(); final FileArrayEditor.EditorParent context = new FileArrayEditorContext(appContext); sourceFileEditor = new FileArrayEditor(context, "Source products") { @Override protected JFileChooser createFileChooserDialog() { final JFileChooser fileChooser = super.createFileChooserDialog(); fileChooser.setDialogTitle("Mosaic - Open Source Product(s)"); return fileChooser; } }; targetProductSelector = selector; updateProductSelector = new SourceProductSelector(appContext); updateProductSelector.setProductFilter(new UpdateProductFilter()); init(); propertySet.addPropertyChangeListener(MosaicFormModel.PROPERTY_UPDATE_MODE, evt -> { if (Boolean.TRUE.equals(evt.getNewValue())) { propertySet.setValue(MosaicFormModel.PROPERTY_UPDATE_PRODUCT, updateProductSelector.getSelectedProduct()); } else { updateProductSelector.setSelectedProduct(null); } }); propertySet.addPropertyChangeListener(MosaicFormModel.PROPERTY_UPDATE_PRODUCT, new TargetProductSelectorUpdater()); }
S2tbxMosaicIOPanel(AppContext appContext, S2tbxMosaicFormModel mosaicModel, TargetProductSelector selector) { this.appContext = appContext; this.mosaicModel = mosaicModel; propertySet = mosaicModel.getPropertySet(); final S2tbxFileArrayEditor.EditorParent context = new S2tbxFileArrayEditorContext(appContext); sourceFileEditor = new S2tbxFileArrayEditor(context, "Source products") { @Override protected JFileChooser createFileChooserDialog() { final JFileChooser fileChooser = super.createFileChooserDialog(); fileChooser.setDialogTitle("Multi-size Mosaic - Open Source Product(s)"); return fileChooser; } }; targetProductSelector = selector; updateProductSelector = new SourceProductSelector(appContext); updateProductSelector.setProductFilter(new UpdateProductFilter()); init(); propertySet.addPropertyChangeListener(S2tbxMosaicFormModel.PROPERTY_UPDATE_MODE, evt -> { if (Boolean.TRUE.equals(evt.getNewValue())) { propertySet.setValue(S2tbxMosaicFormModel.PROPERTY_UPDATE_PRODUCT, updateProductSelector.getSelectedProduct()); } else { updateProductSelector.setSelectedProduct(null); } }); propertySet.addPropertyChangeListener(S2tbxMosaicFormModel.PROPERTY_UPDATE_PRODUCT, new TargetProductSelectorUpdater()); }