summaryrefslogtreecommitdiffstats
path: root/src/bind/java/org
diff options
context:
space:
mode:
authorBob Jamison <ishmalius@gmail.com>2008-04-02 20:39:29 +0000
committerishmal <ishmal@users.sourceforge.net>2008-04-02 20:39:29 +0000
commit9fd5685b67ceb1c18ba452eaa2cdc1b33d899ebf (patch)
tree5fdfd1f99f6832a1fce2b0ab835dd5d5b362726b /src/bind/java/org
parentFold sp_repr_save_file() into sp_repr_save_writer() so that it can also be ca... (diff)
downloadinkscape-9fd5685b67ceb1c18ba452eaa2cdc1b33d899ebf.tar.gz
inkscape-9fd5685b67ceb1c18ba452eaa2cdc1b33d899ebf.zip
Initial capability to load current document into script
(bzr r5315)
Diffstat (limited to 'src/bind/java/org')
-rw-r--r--src/bind/java/org/inkscape/cmn/Gateway.java57
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;
}