Update of /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui/actions
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv10814/src/net/sourceforge/bprocessor/gui/actions
Modified Files:
FileImportActionListener.java
Log Message:
Handling of instances
Index: FileImportActionListener.java
===================================================================
RCS file: /cvsroot/bprocessor/gui/src/net/sourceforge/bprocessor/gui/actions/FileImportActionListener.java,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** FileImportActionListener.java 25 Jun 2009 23:28:46 -0000 1.26
--- FileImportActionListener.java 29 Jun 2009 08:37:40 -0000 1.27
***************
*** 15,18 ****
--- 15,19 ----
import java.io.FileInputStream;
import java.io.InputStreamReader;
+ import java.util.HashMap;
import javax.swing.BoxLayout;
***************
*** 26,29 ****
--- 27,34 ----
import net.sourceforge.bprocessor.gui.GUI;
+ import net.sourceforge.bprocessor.model.Component;
+ import net.sourceforge.bprocessor.model.Document;
+ import net.sourceforge.bprocessor.model.Material;
+ import net.sourceforge.bprocessor.model.Persistence;
import net.sourceforge.bprocessor.model.Project;
import net.sourceforge.bprocessor.model.Space;
***************
*** 41,44 ****
--- 46,51 ----
private CVSinfo info = null;
+ private FileFilter bpFilter;
+
private FileFilter objFilter;
***************
*** 61,64 ****
--- 68,82 ----
info = new CVSinfo(loadChooser);
loadChooser.setAccessory(info);
+ bpFilter = new FileFilter() {
+ @Override
+ public boolean accept(File f) {
+ return f.isDirectory() || f.getName().endsWith(".bp");
+ }
+
+ @Override
+ public String getDescription() {
+ return "bp - B-processor format";
+ }
+ };
objFilter = new FileFilter() {
@Override
***************
*** 93,100 ****
}
};
loadChooser.addChoosableFileFilter(csvFilter);
loadChooser.addChoosableFileFilter(objFilter);
loadChooser.addChoosableFileFilter(dgnFilter);
! loadChooser.setFileFilter(csvFilter);
}
--- 111,119 ----
}
};
+ loadChooser.addChoosableFileFilter(bpFilter);
loadChooser.addChoosableFileFilter(csvFilter);
loadChooser.addChoosableFileFilter(objFilter);
loadChooser.addChoosableFileFilter(dgnFilter);
! loadChooser.setFileFilter(bpFilter);
}
***************
*** 120,129 ****
try {
Space s = Space.createUnion(lfile.getName());
- //Component lo = new Component(Byte.MAX_VALUE, lfile, s);
ImportFileReader.importObjFile(lfile, s, info.objPanel.getScale(),
info.objPanel.getDirection(), info.objPanel.getCalcNormals());
! Project.getInstance().getActiveSpace().add(s);
! //s.computeEnvelope();
! //Project.getInstance().addLibraryObject(lo);
Project.getInstance().changed(s);
Project.getInstance().checkpoint();
--- 139,146 ----
try {
Space s = Space.createUnion(lfile.getName());
ImportFileReader.importObjFile(lfile, s, info.objPanel.getScale(),
info.objPanel.getDirection(), info.objPanel.getCalcNormals());
! Component lo = new Component(Byte.MAX_VALUE, lfile, s);
! Project.getInstance().addCalalogObject(lo);
Project.getInstance().changed(s);
Project.getInstance().checkpoint();
***************
*** 131,134 ****
--- 148,168 ----
log.error("Could not open file: " + lfile, ex);
}
+ } else if (lfile.getName().endsWith(".bp")) {
+ try {
+ Document document = Persistence.load(lfile);
+ Space union = Space.createUnion("Import");
+ document.getWorld().copyInterior(new HashMap(), union);
+ Project.getInstance().world().add(union);
+ for (Material current : document.getMaterials()) {
+ Project.getInstance().add(current);
+ }
+ for (Component current : document.getComponents()) {
+ Project.getInstance().addCalalogObject(current);
+ }
+
+ Project.getInstance().changed(Project.getInstance());
+ } catch (Exception ex) {
+ log.error("Could not open file: " + lfile, ex);
+ }
} else if (lfile.getName().endsWith(".dgn")) {
try {
|