diff --git a/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/OpenAction.java b/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/OpenAction.java index dac48f9..50a0102 100644 --- a/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/OpenAction.java +++ b/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/OpenAction.java @@ -5,6 +5,7 @@ import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; +import javax.swing.filechooser.FileNameExtensionFilter; import graphicalrefactor.editor.Editor; import graphicalrefactor.views.GraphicalRefactor; @@ -29,6 +30,9 @@ JFileChooser fc = new JFileChooser(wd); + FileFilter model = new FileNameExtensionFilter("model",".model"); + FileFilter dtram = new FileNameExtensionFilter("dtram", ".dtram"); + // Adds file filter for supported file format FileFilter defaultFilter = new FileFilter() { @@ -42,7 +46,10 @@ return null; } }; + fc.addChoosableFileFilter(defaultFilter); + fc.addChoosableFileFilter(model); + fc.addChoosableFileFilter(dtram); int rc = fc.showDialog(null, "Open Model File"); if (rc == JFileChooser.APPROVE_OPTION) { lastDir = fc.getSelectedFile().getParent(); diff --git a/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/SaveAsAction.java b/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/SaveAsAction.java index 35e39bc..8245aa8 100644 --- a/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/SaveAsAction.java +++ b/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/actions/SaveAsAction.java @@ -6,6 +6,7 @@ import javax.swing.AbstractAction; import javax.swing.JFileChooser; import javax.swing.filechooser.FileFilter; +import javax.swing.filechooser.FileNameExtensionFilter; import graphicalrefactor.editor.Editor; import graphicalrefactor.views.GraphicalRefactor; @@ -29,7 +30,10 @@ String wd = (lastDir != null) ? lastDir : System.getProperty("user.dir"); JFileChooser fc = new JFileChooser(wd); - + FileFilter model = new FileNameExtensionFilter("model","model"); + FileFilter dtram = new FileNameExtensionFilter("dtram", "dtram"); + String extension = ""; + // Adds file filter for supported file format FileFilter defaultFilter = new FileFilter() { @@ -44,10 +48,27 @@ } }; fc.addChoosableFileFilter(defaultFilter); + fc.addChoosableFileFilter(model); + fc.addChoosableFileFilter(dtram); int rc = fc.showDialog(null, "Save Model File"); if (rc == JFileChooser.APPROVE_OPTION) { lastDir = fc.getSelectedFile().getParent(); editor.setCurFilePath(fc.getSelectedFile().getAbsolutePath()); + + File file = fc.getSelectedFile(); + + if(file != null && file.exists()) { + //�t�@�C�������擾 + String name = file.getName(); + + //�g���q���擾 + extension = name.substring(name.lastIndexOf(".")); + + } + if( extension.contains(".model")) { + editor.saveModel(); + System.out.println("extension"); + } editor.save(); frame.setTitle(frame.title + " - " + fc.getSelectedFile().getAbsolutePath()); } diff --git a/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/editor/Editor.java b/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/editor/Editor.java index b07cd6c..060ec8b 100644 --- a/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/editor/Editor.java +++ b/AlgebraicDataflowArchitectureModel/src/graphicalrefactor/editor/Editor.java @@ -161,6 +161,25 @@ return null; } + public void saveModel() { + if (curFilePath != null) { + try { + File file = new File(curFilePath); + FileWriter filewriter = new FileWriter(file); + filewriter.write("model {\n"); + filewriter.write(model.getSourceText()); + + filewriter.write("}\n"); + filewriter.write("geometry {\n"); + + filewriter.write("}\n"); + filewriter.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + public void save() { if (curFilePath != null) { try { @@ -173,7 +192,7 @@ } } } - + /** * Construct a mxGraph from DataFlowModel and DataFlowModel * @param model