@Override public void updateParameters() { if (targetProductSelector.getModel().getProductName() != null) { paramMap.put("divisionBy", divisionBy.getSelectedItem()); paramMap.put("numberOfTiles", numberOfTiles.getSelectedItem()); paramMap.put("pixelSizeX", Integer.parseInt(pixelSizeX.getText())); paramMap.put("pixelSizeY", Integer.parseInt(pixelSizeY.getText())); paramMap.put("file", targetProductSelector.getModel().getProductFile()); paramMap.put("formatName", targetProductSelector.getModel().getFormatName()); } }
private static JPanel createTargetProductSelectorPanel(final TargetProductSelector selector) { final JPanel subPanel1 = new JPanel(new BorderLayout(3, 3)); subPanel1.add(selector.getProductNameLabel(), BorderLayout.NORTH); subPanel1.add(selector.getProductNameTextField(), BorderLayout.CENTER); final JPanel subPanel2 = new JPanel(new FlowLayout(FlowLayout.LEADING, 0, 0)); subPanel2.add(selector.getSaveToFileCheckBox()); subPanel2.add(selector.getFormatNameComboBox()); final JPanel subPanel3 = new JPanel(new BorderLayout(3, 3)); subPanel3.add(selector.getProductDirLabel(), BorderLayout.NORTH); subPanel3.add(selector.getProductDirTextField(), BorderLayout.CENTER); subPanel3.add(selector.getProductDirChooserButton(), BorderLayout.EAST); final TableLayout tableLayout = new TableLayout(1); tableLayout.setTableAnchor(TableLayout.Anchor.WEST); tableLayout.setTableFill(TableLayout.Fill.HORIZONTAL); tableLayout.setTableWeightX(1.0); tableLayout.setCellPadding(0, 0, new Insets(3, 3, 3, 3)); tableLayout.setCellPadding(1, 0, new Insets(3, 0, 3, 3)); tableLayout.setCellPadding(2, 0, new Insets(0, 21, 3, 3)); final JPanel panel = new JPanel(tableLayout); panel.add(subPanel1); panel.add(subPanel2); panel.add(subPanel3); return panel; }
@Override public JComponent CreateOpTab(String operatorName, Map<String, Object> parameterMap, AppContext appContext) { paramMap = parameterMap; targetProductSelector = new TargetProductSelector(new TargetProductSelectorModel(), true); this.appContext = appContext; File saveDir = null; final Object value = paramMap.get(FILE_PARAMETER); if (value != null) { final File file = (File) value; saveDir = file.getParentFile(); } if (saveDir == null) { final String homeDirPath = SystemUtils.getUserHomeDir().getPath(); final String savePath = SnapApp.getDefault().getPreferences().get(SaveProductAsAction.PREFERENCES_KEY_LAST_PRODUCT_DIR, homeDirPath); saveDir = new File(savePath); } targetProductSelector.getModel().setProductDir(saveDir); initParameters(); return targetProductSelector.createDefaultPanel(); }
private JPanel createTargetProductPanel() { targetProductSelector.getModel().setProductName(DEFAULT_TARGET_PRODUCT_NAME); return targetProductSelector.createDefaultPanel(); }
@Override public void initParameters() { assert (paramMap != null); String fileName = getDefaultFileName(); String format = "BEAM-DIMAP"; final Object formatValue = paramMap.get(FORMAT_PARAMETER); if (formatValue != null) { format = (String) formatValue; } if (fileName != null) { targetProductSelector.getProductNameTextField().setText(fileName); targetProductSelector.getModel().setProductName(fileName); targetProductSelector.getModel().setFormatName(format); } }
public ForestCoverChangeTargetProductDialog(String operatorName, AppContext appContext, String title, String helpID) { super(appContext, title, ID_APPLY_CLOSE, helpID); this.operatorName = operatorName; this.targetProductNameSuffix = ""; final TargetProductSelector selector = getTargetProductSelector(); selector.getModel().setSaveToFileSelected(false); selector.getSaveToFileCheckBox().setEnabled(true); processAnnotationsRec(ForestCoverChangeOp.class); this.operatorDescriptor = new OperatorDescriptorClass( this.parameterDescriptors.toArray(new ParameterDescriptor[0]), this.sourceProductDescriptors.toArray(new SourceProductDescriptor[0])); this.ioParametersPanel = new DefaultIOParametersPanel(getAppContext(), this.operatorDescriptor, getTargetProductSelector(), true); this.parameterSupport = new OperatorParameterSupport(this.operatorDescriptor); ArrayList<SourceProductSelector> sourceProductSelectorList = this.ioParametersPanel.getSourceProductSelectorList(); PropertySet propertySet = this.parameterSupport.getPropertySet(); this.bindingContext = new BindingContext(propertySet); SelectionChangeListener currentListenerProduct = new SelectionChangeListener() { public void selectionChanged(SelectionChangeEvent event) { Product product = sourceProductSelectorList.get(CURRENT_PRODUCT).getSelectedProduct(); if (product != null) { updateTargetProductName(product); } } public void selectionContextChanged(SelectionChangeEvent event) { } }; sourceProductSelectorList.get(CURRENT_PRODUCT).addSelectionChangeListener(currentListenerProduct); }
private void updateTargetProductFields() { TargetProductSelectorModel model = targetProductSelector.getModel(); Property property = propertySet.getProperty(ToolAdapterConstants.TOOL_TARGET_PRODUCT_FILE); model.setSaveToFileSelected(false); property.setValue(null); targetProductSelector.setEnabled(false); targetProductSelector.getSaveToFileCheckBox().setEnabled(false); } catch (ValidationException e) { Logger.getLogger(ToolExecutionForm.class.getName()).severe(e.getMessage()); targetProductSelector.getProductDirTextField().setEnabled(false);
IOPanel(final AppContext theAppContext, final JTabbedPane tabbedPane, boolean createSourceSelector) { this.useSourceSelector = createSourceSelector; targetProductSelector = new TargetProductSelector(); final String homeDirPath = SystemUtils.getUserHomeDir().getPath(); final String saveDir = SnapApp.getDefault().getPreferences().get(SaveProductAsAction.PREFERENCES_KEY_LAST_PRODUCT_DIR, homeDirPath); targetProductSelector.getModel().setProductDir(new File(saveDir)); targetProductSelector.getOpenInAppCheckBox().setText("Open in " + theAppContext.getApplicationName()); ioParametersPanel.add(targetProductSelector.createDefaultPanel()); if (useSourceSelector) { tabbedPane.add("I/O Parameters", ioParametersPanel);
protected SingleTargetProductDialog(AppContext appContext, String title, int buttonMask, String helpID, TargetProductSelectorModel model, boolean alwaysWriteOutput) { super(appContext.getApplicationWindow(), title, buttonMask, helpID); this.appContext = appContext; targetProductSelector = new TargetProductSelector(model, alwaysWriteOutput); String homeDirPath = SystemUtils.getUserHomeDir().getPath(); String saveDir = appContext.getPreferences().getPropertyString(SaveProductAsAction.PREFERENCES_KEY_LAST_PRODUCT_DIR, homeDirPath); targetProductSelector.getModel().setProductDir(new File(saveDir)); if (!alwaysWriteOutput) { targetProductSelector.getOpenInAppCheckBox().setText("Open in " + appContext.getApplicationName()); } targetProductSelector.getModel().getValueContainer().addPropertyChangeListener(evt -> { if (evt.getPropertyName().equals("saveToFileSelected") || evt.getPropertyName().equals("openInAppSelected")) { updateRunButton(); } }); AbstractButton button = getButton(ID_APPLY); button.setText("Run"); button.setMnemonic('R'); updateRunButton(); }
@Override public JComponent CreateOpTab(String operatorName, Map<String, Object> parameterMap, AppContext appContext) { initializeOperatorUI(operatorName, parameterMap); final JComponent panel = createPanel(); initParameters(); divisionBy.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent event) { updateDivisionBy(); } }); File saveDir = null; final Object value = paramMap.get(FILE_PARAMETER); if (value != null) { final File file = (File) value; saveDir = file.getParentFile(); } if (saveDir == null) { final String homeDirPath = SystemUtils.getUserHomeDir().getPath(); final String savePath = SnapApp.getDefault().getPreferences().get(SaveProductAsAction.PREFERENCES_KEY_LAST_PRODUCT_DIR, homeDirPath); saveDir = new File(savePath); } targetProductSelector.getModel().setProductDir(saveDir); targetProductSelector.getOpenInAppCheckBox().setText("Open in " + appContext.getApplicationName()); return panel; }
private JComponent createTargetPanel() { return targetProductSelector.createDefaultPanel(); }
void prepareShow() { sourceProductSelector.initProducts(); final Product selectedProduct = appContext.getSelectedProduct(); updateTargetProductName(selectedProduct); targetProductSelector.getProductNameTextField().requestFocus(); }
cards.show(subPanel, newProductKey); targetProductPanel.add(subPanel); targetProductPanel.add(targetProductSelector.getOpenInAppCheckBox()); return targetProductPanel;
S2tbxMosaicDialog(final String title, final String helpID, AppContext appContext) { super(appContext, title, ID_APPLY_CLOSE, helpID); final TargetProductSelector selector = getTargetProductSelector(); selector.getModel().setSaveToFileSelected(false); selector.getModel().setProductName("Multi-size Mosaic"); selector.getSaveToFileCheckBox().setEnabled(true); form = new S2tbxMosaicForm(selector, appContext); final OperatorSpi operatorSpi = GPF.getDefaultInstance().getOperatorSpiRegistry().getOperatorSpi("Multi-size Mosaic"); S2tbxMosaicFormModel formModel = form.getFormModel(); OperatorParameterSupport parameterSupport = new OperatorParameterSupport(operatorSpi.getOperatorDescriptor(), formModel.getPropertySet(), formModel.getParameterMap(), null); OperatorMenu operatorMenu = new OperatorMenu(this.getJDialog(), operatorSpi.getOperatorDescriptor(), parameterSupport, appContext, helpID); getJDialog().setJMenuBar(operatorMenu.createDefaultMenu()); }
@Override public void initParameters() { assert (paramMap != null); divisionBy.setSelectedItem(paramMap.get("divisionBy")); String numTiles = (String) paramMap.get("numberOfTiles"); if (numTiles == null || numTiles.isEmpty()) numTiles = "4"; numberOfTiles.setSelectedItem(numTiles); pixelSizeX.setText(String.valueOf(paramMap.get("pixelSizeX"))); pixelSizeY.setText(String.valueOf(paramMap.get("pixelSizeY"))); String fileName = "target"; final Object value = paramMap.get(FILE_PARAMETER); if (value != null) { final File file = (File) value; fileName = file.getName(); } else if (sourceProducts != null && sourceProducts.length > 0) { fileName = sourceProducts[0].getName(); } targetProductSelector.getProductNameTextField().setText(fileName); targetProductSelector.getModel().setProductName(fileName); }
private void init() { final TableLayout tableLayout = new TableLayout(1); tableLayout.setTableAnchor(TableLayout.Anchor.WEST); tableLayout.setTableFill(TableLayout.Fill.BOTH); tableLayout.setTableWeightX(1.0); tableLayout.setTableWeightY(0.0); tableLayout.setTablePadding(3, 3); setLayout(tableLayout); tableLayout.setRowWeightY(0, 1.0); add(createSourceProductsPanel()); targetProductSelector.getModel().setProductName("level-3"); add(targetProductSelector.createDefaultPanel()); }
private JPanel createIOPanel() { final TableLayout tableLayout = new TableLayout(1); tableLayout.setTableWeightX(1.0); tableLayout.setTableWeightY(0.0); tableLayout.setTableFill(TableLayout.Fill.BOTH); tableLayout.setTablePadding(3, 3); final JPanel ioPanel = new JPanel(tableLayout); ioPanel.add(createSourceProductPanel()); ioPanel.add(targetProductSelector.createDefaultPanel()); ioPanel.add(tableLayout.createVerticalSpacer()); return ioPanel; }
cards.show(subPanel, newProductKey); targetProductPanel.add(subPanel); targetProductPanel.add(targetProductSelector.getOpenInAppCheckBox()); return targetProductPanel;
private static JPanel createTargetProductSelectorPanel(final TargetProductSelector selector) { final JPanel subPanel1 = new JPanel(new BorderLayout(3, 3)); subPanel1.add(selector.getProductNameLabel(), BorderLayout.NORTH); subPanel1.add(selector.getProductNameTextField(), BorderLayout.CENTER); final JPanel subPanel2 = new JPanel(new FlowLayout(FlowLayout.LEADING, 0, 0)); subPanel2.add(selector.getSaveToFileCheckBox()); subPanel2.add(selector.getFormatNameComboBox()); final JPanel subPanel3 = new JPanel(new BorderLayout(3, 3)); subPanel3.add(selector.getProductDirLabel(), BorderLayout.NORTH); subPanel3.add(selector.getProductDirTextField(), BorderLayout.CENTER); subPanel3.add(selector.getProductDirChooserButton(), BorderLayout.EAST); final TableLayout tableLayout = new TableLayout(1); tableLayout.setTableAnchor(TableLayout.Anchor.WEST); tableLayout.setTableFill(TableLayout.Fill.HORIZONTAL); tableLayout.setTableWeightX(1.0); tableLayout.setCellPadding(0, 0, new Insets(3, 3, 3, 3)); tableLayout.setCellPadding(1, 0, new Insets(3, 0, 3, 3)); tableLayout.setCellPadding(2, 0, new Insets(0, 21, 3, 3)); final JPanel panel = new JPanel(tableLayout); panel.add(subPanel1); panel.add(subPanel2); panel.add(subPanel3); return panel; }