[Bprocessor-commit] gui/src/net/sourceforge/bprocessor/gui/actions FileImportActionListener.java, 1
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2009-06-29 08:37:44
|
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 { |