diff options
| author | Bob Jamison <ishmalius@gmail.com> | 2008-04-02 20:39:29 +0000 |
|---|---|---|
| committer | ishmal <ishmal@users.sourceforge.net> | 2008-04-02 20:39:29 +0000 |
| commit | 9fd5685b67ceb1c18ba452eaa2cdc1b33d899ebf (patch) | |
| tree | 5fdfd1f99f6832a1fce2b0ab835dd5d5b362726b /src/bind/java | |
| parent | Fold sp_repr_save_file() into sp_repr_save_writer() so that it can also be ca... (diff) | |
| download | inkscape-9fd5685b67ceb1c18ba452eaa2cdc1b33d899ebf.tar.gz inkscape-9fd5685b67ceb1c18ba452eaa2cdc1b33d899ebf.zip | |
Initial capability to load current document into script
(bzr r5315)
Diffstat (limited to 'src/bind/java')
| -rw-r--r-- | src/bind/java/org/inkscape/cmn/Gateway.java | 57 |
1 files changed, 52 insertions, 5 deletions
diff --git a/src/bind/java/org/inkscape/cmn/Gateway.java b/src/bind/java/org/inkscape/cmn/Gateway.java index 00e720e32..bba9cdf0b 100644 --- a/src/bind/java/org/inkscape/cmn/Gateway.java +++ b/src/bind/java/org/inkscape/cmn/Gateway.java @@ -31,6 +31,12 @@ import java.io.OutputStream; import java.io.IOException; import javax.swing.JOptionPane; +//for xml +import org.w3c.dom.Document; +import java.io.ByteArrayInputStream; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + import org.inkscape.script.ScriptConsole; @@ -64,6 +70,51 @@ static void msg(String message) //######################################################################## +//# R E P R (inkscape's xml tree) +//######################################################################## + +private native String documentGet(long backPtr); + +public String documentGet() +{ + return documentGet(backPtr); +} + +public Document documentGetXml() +{ + String xmlStr = documentGet(); + if (xmlStr == null || xmlStr.length()==0) + return null; + Document doc = null; + try + { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder parser = factory.newDocumentBuilder(); + doc = parser.parse(new ByteArrayInputStream(xmlStr.getBytes())); + } + catch (java.io.IOException e) + { + err("getReprXml:" + e); + } + catch (javax.xml.parsers.ParserConfigurationException e) + { + err("getReprXml:" + e); + } + catch (org.xml.sax.SAXException e) + { + err("getReprXml:" + e); + } + return doc; +} + +private native boolean documentSet(long backPtr, String xmlStr); + +public boolean documentSet(String xmlStr) +{ + return documentSet(backPtr, xmlStr); +} + +//######################################################################## //# LOGGING STREAM //######################################################################## @@ -199,12 +250,8 @@ public Gateway(long backPtr) private static Gateway _instance = null; -public static Gateway getInstance(long backPtr) +public static Gateway getInstance() { - if (_instance == null) - { - _instance = new Gateway(backPtr); - } return _instance; } |
