package org.openflexo.fib.editor;
import java.io.File;
import javax.swing.JDialog;
import javax.swing.JFrame;
import org.openflexo.fib.FIBLibrary;
import org.openflexo.fib.controller.FIBController;
import org.openflexo.fib.editor.controller.FIBEditorController;
import org.openflexo.fib.editor.controller.FIBValidationController;
import org.openflexo.fib.model.FIBComponent;
import org.openflexo.fib.model.validation.ValidationReport;
import org.openflexo.fib.view.FIBView;
import org.openflexo.localization.FlexoLocalization;
import org.openflexo.toolbox.FileResource;
public class ValidationWindow {
public static File COMPONENT_VALIDATION_FIB = new FileResource("Fib/ComponentValidation.fib");
private FIBView validationView = null;
private JDialog validationDialog = null;
private FIBValidationController validationController = null;
public ValidationWindow(JFrame frame, FIBEditorController controller) {
FIBComponent componentValidationComponent = FIBLibrary.instance().retrieveFIBComponent(COMPONENT_VALIDATION_FIB);
validationController = new FIBValidationController(componentValidationComponent, controller);
validationView = FIBController.makeView(componentValidationComponent, validationController);
validationDialog = new JDialog(frame, FlexoLocalization.localizedForKey(FIBAbstractEditor.LOCALIZATION, "component_validation"),
false);
validationDialog.getContentPane().add(validationView.getResultingJComponent());
validationDialog.pack();
}
public void validateAndDisplayReportForComponent(FIBComponent component) {
ValidationReport report = component.validate();
validationView.getController().setDataObject(report);
validationDialog.setVisible(true);
}
}