use of org.netbeans.validation.api.ui.ValidationPanel in project gephi by gephi.
the class DesktopGeneratorController method generate.
@Override
public void generate(final Generator generator) {
String title = generator.getName();
GeneratorUI ui = generator.getUI();
if (ui != null) {
ui.setup(generator);
JPanel panel = ui.getPanel();
final DialogDescriptor dd = new DialogDescriptor(panel, title);
if (panel instanceof ValidationPanel) {
ValidationPanel vp = (ValidationPanel) panel;
vp.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
dd.setValid(!((ValidationPanel) e.getSource()).isProblem());
}
});
}
Object result = DialogDisplayer.getDefault().notify(dd);
if (result != NotifyDescriptor.OK_OPTION) {
return;
}
ui.unsetup();
}
final Container container = Lookup.getDefault().lookup(Container.Factory.class).newContainer();
container.setSource("" + generator.getName());
container.setReport(new Report());
String taskname = NbBundle.getMessage(DesktopGeneratorController.class, "DesktopGeneratorController.taskname", generator.getName());
//Error handler
LongTaskErrorHandler errorHandler = new LongTaskErrorHandler() {
@Override
public void fatalError(Throwable t) {
Logger.getLogger("").log(Level.SEVERE, "", t.getCause() != null ? t.getCause() : t);
}
};
//Execute
executor.execute(generator, new Runnable() {
@Override
public void run() {
generator.generate(container.getLoader());
finishGenerate(container);
}
}, taskname, errorHandler);
}
use of org.netbeans.validation.api.ui.ValidationPanel in project gephi by gephi.
the class DesktopImportControllerUI method importDatabase.
@Override
public void importDatabase(Database database, final DatabaseImporter importer) {
try {
if (importer == null) {
NotifyDescriptor.Message msg = new NotifyDescriptor.Message(NbBundle.getMessage(DesktopImportControllerUI.class, "DesktopImportControllerUI.error_no_matching_db_importer"), NotifyDescriptor.WARNING_MESSAGE);
DialogDisplayer.getDefault().notify(msg);
return;
}
ImporterUI ui = controller.getUI(importer);
if (ui != null) {
String title = NbBundle.getMessage(DesktopImportControllerUI.class, "DesktopImportControllerUI.database.ui.dialog.title");
JPanel panel = ui.getPanel();
ui.setup(new DatabaseImporter[] { importer });
final DialogDescriptor dd = new DialogDescriptor(panel, title);
if (panel instanceof ValidationPanel) {
ValidationPanel vp = (ValidationPanel) panel;
vp.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
dd.setValid(!((ValidationPanel) e.getSource()).isProblem());
}
});
}
Object result = DialogDisplayer.getDefault().notify(dd);
if (result.equals(NotifyDescriptor.CANCEL_OPTION) || result.equals(NotifyDescriptor.CLOSED_OPTION)) {
ui.unsetup(false);
return;
}
ui.unsetup(true);
if (database == null) {
database = importer.getDatabase();
}
}
LongTask task = null;
if (importer instanceof LongTask) {
task = (LongTask) importer;
}
//Execute task
final String containerSource = database != null ? database.getName() : (ui != null ? ui.getDisplayName() : importer.getClass().getSimpleName());
final Database db = database;
String taskName = NbBundle.getMessage(DesktopImportControllerUI.class, "DesktopImportControllerUI.taskName", containerSource);
executor.execute(task, new Runnable() {
@Override
public void run() {
try {
Container container = controller.importDatabase(db, importer);
if (container != null) {
container.setSource(containerSource);
finishImport(container);
}
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
}, taskName, errorHandler);
} catch (Exception ex) {
Logger.getLogger("").log(Level.WARNING, "", ex);
}
}
use of org.netbeans.validation.api.ui.ValidationPanel in project gephi by gephi.
the class RandomGraphPanel method createValidationPanel.
public static ValidationPanel createValidationPanel(RandomGraphPanel innerPanel) {
ValidationPanel validationPanel = new ValidationPanel();
if (innerPanel == null) {
innerPanel = new RandomGraphPanel();
}
validationPanel.setInnerComponent(innerPanel);
ValidationGroup group = validationPanel.getValidationGroup();
//Node field
group.add(innerPanel.nodeField, Validators.REQUIRE_NON_EMPTY_STRING, new PositiveNumberValidator());
//Edge field
group.add(innerPanel.edgeField, Validators.REQUIRE_NON_EMPTY_STRING, new BetweenZeroAndOneValidator());
return validationPanel;
}
use of org.netbeans.validation.api.ui.ValidationPanel in project gephi by gephi.
the class UIExporterGMLPanel method createValidationPanel.
public static ValidationPanel createValidationPanel(UIExporterGMLPanel innerPanel) {
ValidationPanel validationPanel = new ValidationPanel();
validationPanel.setInnerComponent(innerPanel);
ValidationGroup group = validationPanel.getValidationGroup();
innerPanel.validate(group);
return validationPanel;
}
use of org.netbeans.validation.api.ui.ValidationPanel in project gephi-plugins-bootcamp by gephi.
the class EqualValuesMergeStrategyUI method getSettingsPanel.
@Override
public JPanel getSettingsPanel() {
//Create a validation panel:
ValidationPanel validationPanel = new ValidationPanel();
validationPanel.setInnerComponent(this);
ValidationGroup group = validationPanel.getValidationGroup();
//ColumnTitleValidator is in UI utils module
group.add(titleTextField, new ColumnTitleValidator(table));
return validationPanel;
}
Aggregations