Skip to content

Commit 4b91758

Browse files
committed
Added Node helpers
1 parent 125e4fd commit 4b91758

2 files changed

Lines changed: 71 additions & 0 deletions

File tree

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
namespace EmptyFlow.SciterAPI {
2+
3+
public partial class SciterAPIHost {
4+
5+
/// <summary>
6+
/// Remove node/element.
7+
/// </summary>
8+
/// <param name="node">Node or element.</param>
9+
/// <param name="finalize">Finalize operation.</param>
10+
/// <returns>Operation was sucessfully.</returns>
11+
public bool NodeRemove ( nint node, bool finalize ) {
12+
var domResult = m_basicApi.SciterNodeRemove ( node, finalize );
13+
return domResult == DomResult.SCDOM_OK;
14+
}
15+
16+
/// <summary>
17+
/// Get next sibling of node/element.
18+
/// </summary>
19+
/// <param name="node">Node/Element.</param>
20+
/// <returns>Next sibling node/element or zero.</returns>
21+
public nint NodeNextSibling ( nint node ) {
22+
var domResult = m_basicApi.SciterNodeNextSibling ( node, out var nextNode );
23+
if ( domResult == DomResult.SCDOM_OK ) return nextNode;
24+
25+
return nint.Zero;
26+
}
27+
28+
/// <summary>
29+
/// Get previous sibling of node/element.
30+
/// </summary>
31+
/// <param name="node">Node/Element.</param>
32+
/// <returns>Previous sibling node/element or zero.</returns>
33+
public nint NodePreviousSibling ( nint node ) {
34+
var domResult = m_basicApi.SciterNodePrevSibling ( node, out var nextNode );
35+
if ( domResult == DomResult.SCDOM_OK ) return nextNode;
36+
37+
return nint.Zero;
38+
}
39+
40+
/// <summary>
41+
/// Get next sibling of node/element.
42+
/// </summary>
43+
/// <param name="node">Node/Element.</param>
44+
/// <returns>Next sibling node/element or zero.</returns>
45+
public nint NodeFirstChild ( nint node ) {
46+
var domResult = m_basicApi.SciterNodeFirstChild ( node, out var nextNode );
47+
if ( domResult == DomResult.SCDOM_OK ) return nextNode;
48+
49+
return nint.Zero;
50+
}
51+
52+
/// <summary>
53+
/// Get previous sibling of node/element.
54+
/// </summary>
55+
/// <param name="node">Node/Element.</param>
56+
/// <returns>Previous sibling node/element or zero.</returns>
57+
public nint NodeLastChild ( nint node ) {
58+
var domResult = m_basicApi.SciterNodeLastChild ( node, out var nextNode );
59+
if ( domResult == DomResult.SCDOM_OK ) return nextNode;
60+
61+
return nint.Zero;
62+
}
63+
64+
}
65+
66+
}

src/EmptyFlow.SciterAPI/EmptyFlow.SciterAPI.csproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@
2828
SciterAPIHost.FalseValue global false value
2929
SciterAPIHost.NullValue global null value
3030
SciterAPIHost.GetElementChildren get children by index
31+
SciterAPIHost.NodeRemove remove node/element
32+
SciterAPIHost.NodeNextSibling get next sibling node/element
33+
SciterAPIHost.NodePreviousSibling get previous sibling node/element
34+
SciterAPIHost.NodeFirstChild get first child
35+
SciterAPIHost.NodeLastChild get last child
3136
</PackageReleaseNotes>
3237
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
3338
</PropertyGroup>

0 commit comments

Comments
 (0)