[gxml] Added GXml.Node.parent
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml] Added GXml.Node.parent
- Date: Sat, 20 Feb 2016 17:35:56 +0000 (UTC)
commit 44a82e7db07f7eb42ed9915c3395ea2ed384cb21
Author: Daniel Espinosa <esodan gmail com>
Date: Thu Feb 18 18:19:13 2016 -0600
Added GXml.Node.parent
gxml/GXmlNode.vala | 1 +
gxml/Node.vala | 4 ++++
gxml/TwNode.vala | 1 +
gxml/libxml-Node.vala | 1 +
4 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/gxml/GXmlNode.vala b/gxml/GXmlNode.vala
index 3a2fdec..16db24b 100644
--- a/gxml/GXmlNode.vala
+++ b/gxml/GXmlNode.vala
@@ -42,6 +42,7 @@ public abstract class GXml.GNode : Object, GXml.Node
public virtual Gee.BidirList<GXml.Node> children { owned get { return new GListChildren (_doc, _node); } }
public virtual Gee.List<GXml.Namespace> namespaces { owned get { return new GListNamespaces (_doc, _node);
} }
public virtual GXml.Document document { get { return _doc; } }
+ public virtual GXml.Node parent { owned get { return to_gnode (document as GDocument, _node->parent); } }
public virtual GXml.NodeType type_node {
get {
if (_node == null) return GXml.NodeType.X_UNKNOWN;
diff --git a/gxml/Node.vala b/gxml/Node.vala
index f9eb2ee..50fd78f 100644
--- a/gxml/Node.vala
+++ b/gxml/Node.vala
@@ -67,6 +67,10 @@ public interface GXml.Node : Object
*/
public abstract GXml.Document document { get; }
/**
+ * Node's XML document holding this node.
+ */
+ public abstract GXml.Node parent { owned get; }
+ /**
* Get first child with given name, or null.
*/
public new virtual GXml.Node? get (string key) {
diff --git a/gxml/TwNode.vala b/gxml/TwNode.vala
index dd5c17c..c37b85f 100644
--- a/gxml/TwNode.vala
+++ b/gxml/TwNode.vala
@@ -58,4 +58,5 @@ public abstract class GXml.TwNode : Object, GXml.Node
public virtual Gee.List<GXml.Namespace> namespaces { owned get { return new Gee.ArrayList<GXml.Node> (); }
}
public virtual GXml.NodeType type_node { get { return GXml.NodeType.DOCUMENT; } }
public virtual string value { owned get { return _value.dup (); } set { _value = value; } }
+ public virtual GXml.Node parent { owned get { return null; } }
}
diff --git a/gxml/libxml-Node.vala b/gxml/libxml-Node.vala
index 406be6e..0c1c471 100644
--- a/gxml/libxml-Node.vala
+++ b/gxml/libxml-Node.vala
@@ -509,5 +509,6 @@ namespace GXml {
public GXml.NodeType type_node { get { return node_type; } }
public virtual string to_string () { return stringify (); }
public GXml.Document document { get { return this.owner_document; } }
+ public virtual GXml.Node parent { owned get { return parent_node.ref () as GXml.Node; } }
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]