Mercurial > hg > accesspd
view java/src/uk/ac/qmul/eecs/ccmi/pdsupport/PdPersistenceManager.java @ 1:e3935c01cde2 tip
moved license of PdPersistenceManager to the beginning of the file
author | Fiore Martin <f.martin@qmul.ac.uk> |
---|---|
date | Tue, 08 Jul 2014 19:52:03 +0100 |
parents | 78b7fc5391a2 |
children |
line wrap: on
line source
/* accessPD - An accessible PD patches editor Copyright (C) 2014 Fiore Martin This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ package uk.ac.qmul.eecs.ccmi.pdsupport; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.nio.charset.Charset; import uk.ac.qmul.eecs.ccmi.gui.Diagram; import uk.ac.qmul.eecs.ccmi.gui.Edge; import uk.ac.qmul.eecs.ccmi.gui.Node; public class PdPersistenceManager { private static PdPersistenceManager singleton; public final static String PD_EXTENSION = ".pd"; public static PdPersistenceManager getInstance(){ if(singleton == null){ singleton = new PdPersistenceManager(); } return singleton; } public void encodeDiagramInstance(Diagram diagram, String newName, OutputStream out){ OutputStreamWriter writer = new OutputStreamWriter(out, Charset.forName("US-ASCII")); PrintWriter printWriter = new PrintWriter(writer); printWriter.print("#N canvas 0 0 550 400 10;\r\n"); int index = 0; for(Node n : diagram.getCollectionModel().getNodes()){ PdObject pdObj = (PdObject)n; pdObj.setOrderNumber(index++); printWriter.print(pdObj.toPdFile()+";\r\n"); } for(Edge e : diagram.getCollectionModel().getEdges()){ PdConnection pdCon = (PdConnection)e; printWriter.print(pdCon.toPdFile()+";\r\n"); } printWriter.close(); } public Diagram decodeDiagramInstance(InputStream in) throws IOException { return null; } public void encodeDiagramInstance(Diagram diagram, OutputStream out) throws IOException{ encodeDiagramInstance(diagram, diagram.getName(),out); } }