public boolean valid() { String path = getComboBoxText(); File file; switch (property.getKind()) { case Folder: if (path.length() == 0) { return false; } file = new File(path); if (file.exists() && file.isDirectory()) { return true; } break; case MakeLogFile: case BinaryFile: if (path.length() == 0) { return false; } file = new File(path); if (file.exists() && file.isFile()) { return true; } break; case BinaryFiles: String text = getComboBoxText(); StringTokenizer st = new StringTokenizer(text, LIST_LIST_DELIMITER); // NOI18N while (st.hasMoreTokens()) { path = st.nextToken(); if (path.length() == 0) { return false; } file = new File(path); if (!(file.exists() && file.isFile())) { return false; } } return true; default: break; } return false; }
public void store() { switch (property.getKind()) { case MakeLogFile: case Folder: case BinaryFile: property.setValue(getComboBoxText()); storeHistory(); break; case BinaryFiles: String text = getComboBoxText(); StringTokenizer st = new StringTokenizer(text, LIST_LIST_DELIMITER); // NOI18N List<String> list = new ArrayList<String>(); while (st.hasMoreTokens()) { list.add(st.nextToken()); } property.setValue(list.toArray(new String[list.size()])); storeHistory(); break; default: break; } }
public ProviderControl( String key, ProviderProperty property, DiscoveryDescriptor wizardDescriptor, JPanel panel, ChangeListener listener) { this.propertyKey = key; this.property = property; this.panel = panel; this.listener = listener; this.wizardDescriptor = wizardDescriptor; description = property.getDescription(); label = new JLabel(); Mnemonics.setLocalizedText(label, property.getName()); switch (property.getKind()) { case MakeLogFile: field = new EditableComboBox(); field.setEditable(true); chooserMode = JFileChooser.FILES_ONLY; initBuildOrRoot(wizardDescriptor); button = new JButton(); Mnemonics.setLocalizedText(button, getString("ROOT_DIR_BROWSE_BUTTON_TXT")); layout(panel); button.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { rootFolderButtonActionPerformed( evt, ProviderControl.this.property.getKind() == PropertyKind.BinaryFile, getString("LOG_FILE_CHOOSER_TITLE_TXT")); } }); addListeners(); break; case BinaryFile: field = new EditableComboBox(); field.setEditable(true); chooserMode = JFileChooser.FILES_ONLY; initBuildOrRoot(wizardDescriptor); button = new JButton(); Mnemonics.setLocalizedText(button, getString("ROOT_DIR_BROWSE_BUTTON_TXT")); layout(panel); button.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { rootFolderButtonActionPerformed( evt, ProviderControl.this.property.getKind() == PropertyKind.BinaryFile, getString("BINARY_FILE_CHOOSER_TITLE_TXT")); } }); addListeners(); break; case Folder: field = new EditableComboBox(); field.setEditable(true); chooserMode = JFileChooser.DIRECTORIES_ONLY; initRoot(wizardDescriptor); button = new JButton(); Mnemonics.setLocalizedText(button, getString("ROOT_DIR_BROWSE_BUTTON_TXT")); layout(panel); button.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { rootFolderButtonActionPerformed(evt, true, getString("ROOT_DIR_CHOOSER_TITLE_TXT")); } }); addListeners(); break; case BinaryFiles: field = new EditableComboBox(); field.setEditable(true); chooserMode = JFileChooser.FILES_ONLY; initArray(); button = new JButton(); Mnemonics.setLocalizedText(button, getString("ROOT_DIR_EDIT_BUTTON_TXT")); layout(panel); button.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { additionalLibrariesButtonActionPerformed(evt); } }); addListeners(); break; default: // unsuported UI break; } }