OSDN Git Service

Initial contents of nt2chview
[nt2chview/stable.git] / NT2chCtrl45 / html / js / JsDOMValue.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Linq;\r
4 using System.Text;\r
5 using System.Threading.Tasks;\r
6 \r
7 namespace NT2chCtrl.html.js\r
8 {\r
9     public class JsDOMValue : JsVariant\r
10     {\r
11         List<HtmlElement> mThisElem;// = new List<HtmlElement>();\r
12 \r
13         public JsDOMValue()\r
14         {\r
15             mThisElem = new List<HtmlElement>();\r
16         }\r
17         public JsDOMValue(HtmlElement elem)\r
18         {\r
19             mThisElem = new List<HtmlElement>(1);\r
20             mThisElem.Add(elem);\r
21         }\r
22         public JsDOMValue(List<HtmlElement> elems)\r
23         {\r
24             mThisElem = elems;\r
25         }\r
26 \r
27         public override JsBooleanValue getBooleanValue()\r
28         {\r
29             return JsBooleanValue.getConstantValue(\r
30                 (mThisElem != null && mThisElem.Count > 0));\r
31         }\r
32 \r
33         public override JsStringValue getStringValue()\r
34         {\r
35             string s;\r
36             if (getInnerHTML(out s))\r
37             {\r
38                 return new JsStringValue(s);\r
39             }\r
40             else\r
41             {\r
42                 return JsStringValue.getEmpty();\r
43             }\r
44         }\r
45 \r
46         public bool setInnerHTML(string source)\r
47         {\r
48             DebugContext ctx = new DebugContext();\r
49             foreach (HtmlElement elem in mThisElem)\r
50             {\r
51                 elem.clearChildren();\r
52                 if(0 > HtmlParser.parseElement(ctx, elem, source, 0))\r
53                     return false;\r
54 \r
55             }\r
56             return true;\r
57         }\r
58 \r
59         public bool getInnerHTML(out string htmlStr)\r
60         {\r
61             htmlStr = null;\r
62             DebugContext ctx = new DebugContext();\r
63             foreach (HtmlElement elem in mThisElem)\r
64             {\r
65                 if(htmlStr == null)\r
66                     htmlStr = elem.getInnerHtml();\r
67                 else\r
68                     htmlStr += elem.getInnerHtml();\r
69             }\r
70             return true;\r
71         }\r
72 \r
73     }\r
74 }\r